Dear all,
After multiple cache issues we've had on various projects, we've
decided to give it a quick rewrite to try and solve some of the
problems we've had. I'll shortly commit a first draft of the results.
In short, the main points of interest are :
- pluggable strategies for caching : custom strategies could decide
what to cache, independently of the cache filter.
- pluggable strategies for flushing : since 3.5, we're flushing the
cache based on observation. In certain situations, we don't want to
flush immediately, or want a more selective cache flushing.
- the main implementation will be ehcache-based, although we're
having second thoughts, as we don't see how it can safely handle very
large documents (given that we haven't found a stream-based api in it
yet)
- module reusability : we're hoping to be able to offer an api to
cache more than just full pages: paragraphs, generated images, ...
- different levels of cache : it should be possible to set up two
different cache filters and have them use a different configuration
(i.e one low level cache for public resources, images, etc - and a
different one for user-specific content, for instance)
- cleanup of the current code, which predates content2bean and
generalized module observation :)
Keep in mind that this is in draft mode, so some functionality is
still missing (which is why I won't commit the bootstrap file for the
new cache filter right away) like jmx, the ability to configure
ehcache, etc etc. More code in the previous page (i.m.cms.cache) will
also be deprecated along the way.
Let us know your thoughts! Cheers,
-greg
----------------------------------------------------------------
for list details see
http://documentation.magnolia.info/
----------------------------------------------------------------