cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Hunsberger" <>
Subject Re: Pattern for use of sub-pipelines to grab content at different stages?
Date Wed, 24 May 2006 16:18:26 GMT
On 5/24/06, Craeg Strong <> wrote:
> Hello:
> Thanks for the informative reply!
> Peter Hunsberger wrote:
> > On 5/24/06, Craeg Strong <> wrote:


>  my master plan is to replace Struts with Cocoon in a massive
> J2EE application.
> The application supports the custom display requirements of 150
> different labor unions so it is really more like a product line than a
> product

This is essentially what we do, but with the cache organization like I
described.  (We produce 1000's of dynamically customized pages;
medical data presented differently for each treatment protocol and
dependant on the authorizations of the user viewing the data.)

Remember, the final page will only be cacheable to the extent that any
of the components are cacheable.  Thus, if you create a header that
can be cached for 1 hour and footer that can be cached for 5 days the
page will only be cached for 1 hour. Producing the footer ahead of
time didn't buy you anything...

What you want is user specific data components, not user specific
presentation components.  The presentation is the last thing to go out
the pipeline (the final set of assembled data components).    Don't
think in terms of HTML, think in terms of XML that can easily be
converted into HTML.  The HTML presentation details are in the final
XSLT.  The XML data components are what are aggregated (and cached).

That's not to say the final result can't be cached.  It can, but it's
cache validity is only as good as the cache validity of that of the
shortest lived data component.

I know this is a bit orthogonal to the way a lot of front end people
think. But it makes sense from an EJB point of view; what is the cycle
time of the entities and session beans?


> I just have to make sure that each of the generators in the cacheable
> sub-pipeline is itself cacheable and generates the session id as a
> caching key.
> Am I on the right track?

Yup, you got it.

Peter Hunsberger

View raw message