-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Store rendered Markdown/Markup #638
Comments
This might be considered a bad idea if our sanitizer discovers a security hole and we have to redo the entire database. There is already precedence for this occasion. |
I'll build in a routine to re-render all stored content. I'll even put a
|
Perhaps a flag check based off last updated compared to last rerendering date could work too to let the users do it on revisitation of those affected pages could work too... but we don't currently store that information in the db. |
Then we'd still have a security hole as long as the content hasn't
|
Not quite... on access it would check lastupdate versus the lastforced and any visitor would trigger the rendering and rerender it if needed... thus the (potentially) infected content never gets displayed to anyone. Your methodology is less scalable and will take a very long time when the db is much larger... USO had downtime because of this e.g. hours. |
I see what you mean and I agree. This let's us re-render when we need to
|
If this collection is just a cache, you could wipe the entire collection if a rendering issue is discovered. No need to store/compare dates. I agree re-rendering and caching on demand sounds more scalable! |
@joeytwiddle might be right. I don't think it takes long destroy an entire collection. Once the collection is gone, all content will be forced re-render on demand. Of course our inevitable need to use sharding may make this slower. I really don't know. |
@sizzlemctwizzle |
Another miscellaneous note as well... DB compaction... eventually wiping could potentially fragment the database even worse than an overwrite... we haven't touched on that yet since the change at d64f754 Since OUJS is now on SSD's it might be prudent to check the warranty status with the host provider and how often they perform backups of our VPS, replacements, etc. and if they do any compression anywhere. |
This is where output from renderMd can be stored, so that we only render markdown when it changes.
The text was updated successfully, but these errors were encountered: