Rasik Pandey wrote:
Hello,

Ross wrote:
>>http://svn.apache.org/repos/asf/cocoon/trunk/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java <http://svn.apache.org/repos/asf/cocoon/trunk/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java> > > would do the trick, although it would have to be modified to make a call
 > > to get the "last-modified" header, so hopefully we could get that added
> > to a future release of cocoon. With a quick examination of the code, it
 > > looks like it will crawl a URL and generate an xml report, allowing
 > > includes and excludes expressions.
 >
 > We can create a new generator that extands the LinkStatusGenerator and
 > house it here. If Cocoon want it we will remove it from here at a later
 > date.

I have a few issues with the approach which I proposed, hopefully you can help me make some sense about my reservations. First, since views are orthogonal to each sitemap the cocoon-view=links required by the LinkStatusGenerator and therefore must be declared in the parent sitemap which does the core matching.

Agghhhh!!! There's that term "views" again.

We have a real problem here in Forrest at the moment. Views are being used to refer to two different things (views in Eclipse and views, the replacement for skins). Now we seem to have a third use, I assume this is sitemap views (funnily enough I said this may become a conflict in another mail earlier today, never thought it would already have happened in my inbox).

I'm going to delay responding to this because one of the things that happened at the Hackathon is that Ferdinand looked at an alternative method of identifying which pages were regenerated in a run. Perhaps we should wait to see if he thinks it can be applied here.

Secondly, in building such a plugin for forrest, the plugin-sitemap would have to override/redeclare a number of pipeline match(s) in order to have access/provide to the necessary request header,"last-modified", as there doesn't seem to be a generic means for providing this information and passing it up to parent pipeline match(s) so they are conditionally added to the request headers. Overriding many pipelineThis doesn't seem very maintainable. Would anyone have any ideas on how to achieve this or an alternative approach?

Internal plugins are for this kind of thing. However, as they stand they don't make the code much more maintainable.

A possible solution is to use Cocoons new block sitemap loading features. This was demonstrated to me at the Hackathon (thanks Daniel), it provides a way for plugins to extend existing sitemaps (and other plugins). I need to do some experimentation with this so you should proceed with an internal plugin for now, we'll address the maintainability when experiments are complete.

Ross

Reply via email to