Carsten Ziegeler wrote:
Geoff Howard wrote

It seems to me that the business of the cinclude transformer should be
to support cacheability of included pipelines but not actually
interact with the cache - that seems to be the business of the
pipeline.  Am I way off?

IncludeCacheManager puzzles me too. May be we are off together? :)

Maybe it's the heat?


It really must be the heat that I didn't saw this thread earlier! I only
have this mail and not the original mail, so if there is more interest
let me know.

So, any idea who knows about this?

To get the person in charge, look at the author tags...ok, you don't have to, I'm the one writing the IncludeCacheManager...and it's a really cool component!

I did see you on the author tag, and on recent commits, but figured it still could be anyone.


Now, the caching of the IncludeCacheManager is different from the usual
cocoon caching. The IncludeCacheManager caches the response of an
included (via cinclude) resource for a defined time. So it always
caches the whole response regardless if e.g. a pipeline is used for
the included content or an http request. In addition the content
is valid for the defined period of time, regardless what the source
might say by looking at last modified etc.
So, the IncludeCacheManager has in fact nothing to do with the Cocoon
Pipeline Cache, but has an own approach for the included content.

Now, actually you can fine-tune your application with this. E.g. you
can use the cinclude transformer to include dynamic data with the
usual cinclude tag and also at the same time cached content using
the cached-cinclude tag.
A customer of us uses this approach in production and is really impressed
by the performance boost this component gave them (while maintaining
compatibility and flexibility at the same time).

OK, I kind of see.


I wonder if a more general solution using delegation would work too? There is a patch in bugzilla that Unico Hommes worked up specifically for the event based cache, but its use could be more general.

I think my immediate question is answered - because this lives outside the normal Cache, anything that relies on Cache (which may be nothing except the stuff I'm working on?) will need special handling if it needs to take IncludeCached content into consideration.

Geoff



Reply via email to