You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Michael Melhem <mi...@fztig938.bank.dresdner.net> on 2002/08/02 16:32:42 UTC
Re: [PROPOSAL] Pipeline hints (was Re: Auto/Manual_Cachingpoints pipelines & Cocoon-Views)
Hi Guys,
FYI, I have submitted a patch (Bugzilla [Bug 11386]) which completes
auto caching-point
(Bugzilla [Bug 11131] should also probably be applied along side this
patch..because it fixes a general bug in the pipeline imlementations)
So in SUMMARY (as dicussed/agreed in earlier threads)
this patch implements auto caching-point as follows
------------
For pipelines that implement caching-point:
if the ProcessingNode is of type
SimpleParentProcessingNode and the generator is already set
and Node has one or more children, then return true;
this is a caching-point
or
if the ProcessingNode is of type
PipelineEventComponentProcessingNode
and has one or more views set, then return true; this is a
caching-point
This "auto" behavior can be switched On/Off vi sitemap.xmap configuration
of the caching-point pipeline
<autoCachingPoint>On</autoCachingPoint>
------------
The manual(ie pipeline-hint="caching-point") behavior is
meant to be always supported by caching-point pipelines.
(but its not yet fully implemented)
In the next week(s) I will try to to complete the "pipeline-hint"
manual caching as decribed in this thread.
Regards,
Michael Melhem
On Fri, Jul 26, 2002 at 12:40:34PM +0200, Michael Melhem wrote:
> On Fri, Jul 26, 2002 at 11:28:11AM +0200, Sylvain Wallez wrote:
> > Michael Melhem wrote:
> >
> > >On Thu, Jul 25, 2002 at 09:44:56PM +0200, Sylvain Wallez wrote:
> > >
> > >
> > >>Michael Melhem wrote:
> > >>
> > >>
> >
> > <snip/>
> >
> > >>Shouldn't it be better "PipelineStatementProcessingNode" ? The concerned
> > >>nodes are those that add a component to the pipeline, and not all leaf
> > >>nodes (map:redirect and map:call are leafs).
> > >>
> > >>
> > >
> > >Thats right, I didnt like the name "Leaf" for the reasons you mentioned
> > >above, but couldnt think of a better name at the time....hmmm
> > >
> > >PipelineStatementProcessingNode I like, but what do you of
> > >PipelineComponentProcessingNode? Wouldnt that be more accurate?
> > >
> >
> > Yes, it looks better.
>
> Ok good, PipelineComponentProcessingNode it is then!
> >
> > <snip/>
> >
> > >>What we want here is in fact to be able to give the pipeline (whatever
> > >>its implementation) a hint on how it should handle a particular pipeline
> > >>element. So we can simply allow a hint attribute to be specified on
> > >>pipeline statements :
> > >>
> > >><map:transform src="foo.xsl" pipeline-hint="cachepoint"/>
> > >>
> > >>This allows any pipeline implementation do define it's own hints (e.g.
> > >>profiling or logging a particular pipeline component).
> > >>
> > >>What do people think ?
> > >>
> > >>
> > >
> > >So you mean having the PipelineStatementProcesingNode
> > >(or PipelineComponentProcessingNode) make available a pipeline-hint
> > >to the implementing pipeline.
> > >
> > >I See...this sounds more generic, because the attribute is
> > >not specific to one particular pipeline implementation. I like it.
> > >
> > >I imagine one could also set multiple pipeline-hints:
> > > <map:transform src="foo.xsl" pipeline-hint="cachepoint,profilepoint"/>
> > >
> > >
> >
> > Exactly !
> >
> > Note that this attribute can also be placed on component declarations.
> > But because several pipelines implementations can be used in a single
> > sitemap, an implementation should silently ignore hints it doesn't
> > understand.
>
> Yep sure.
>
> >
> > Proposed syntax for pipeline hints :
> > // A hints attribute has one or more comma separated hints
> > hints-attr :: hint [ ',' hint ]*
> > // A hint is a name and an optional value
> > // If there is no value, it is considered as a boolean "true"
> > hint :: litteral [ '=' litteral ]
> > litteral :: <a character string where ',' and '=' must be escaped with '\'>
> >
> > This allows the following :
> > pipeline-hint="caching-point, connector=profiling"
> >
> > Note also that sitemap variable expansion applies as usual :
> > pipeline-hint="caching-point={want-cache}" where "want-cache" is a
> > sitemap variable (either a Boolean or a true/false string).
>
> I cant argue with that.
>
> >
> > Talking about implementation now, what about translating this hint
> > attribute to a Parameters object ? This would allow the parsing of hints
> > to be centralized in both time and space :
> > - in time, because it would occur only once at sitemap load-time,
> > - in space, because it will be the responsibility of the sitemap engine,
> > thus avoiding each pipeline implementation to code its own parsing.
>
> I agree, we dont want each pipeline implementing its own parsing, its the job of
> the treeprosessor to interpret the sitemap. The pipeline implementation simply acts on
> the information it receives.
>
> >
> > This requires a change in the Pipeline interface, since we must add this
> > Parameters object to each component addition method.
>
> The Add and Set Methods on the Pipeline interface already take a
> "Parameters" object. So that should make that easy!
>
> >
> > Thoughts ?
>
> Carsten is still on holiday, but it would be interesting to get his
> input on this.
>
> I have a patch almost ready which will include the new
> PipelineComponentProcessingNode (with the cocoon views stuff).
> >From there it shouldnt be too difficult to extended it to implement
> this PROSPOSAL.
>
> Regards,
> Michael Melhem
>
> >
> > Sylvain
> >
> > --
> > Sylvain Wallez
> > Anyware Technologies Apache Cocoon
> > http://www.anyware-tech.com mailto:sylvain@apache.org
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> > For additional commands, email: cocoon-dev-help@xml.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org