Some markdown content (e.g. lots of HTML) can take a while to render. Let's cache the results, and serve the HTML result directly for future requests.
Scope: let's limit to just Post comments first, since those can have many show up on one page. Plan for the future where any artifact might have a cached result that can be served up.
Cache invalidation: need to invalidate when the content changes, of course. Also macros and artifact-references can be incorrect when those remote content changes. I don't think we have a way to invalidate based on those easily. Keeping scope to comment posts will help, since those don't have many macros (e.g. compared to wiki & tickets for example)
Let's store this as a field right on the post artifact, so it's available to check during the render call easily.
Only cache when needed, e.g. render time above a configurable threshold value.
allura:tv/6735
configtree:tv/6735
Originally by: *anonymous
In-progress code review