forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Williams <william...@gmail.com>
Subject Re: OutOfMemoryException with customized project sitemap. Was: linkmap customization
Date Thu, 29 Dec 2005 13:09:56 GMT
On 12/29/05, Ross Gardler <rgardler@apache.org> wrote:
> David Crossley wrote:
> > Torsten Stolpmann wrote:
> >
> >>David Crossley wrote:
> >>
>
> ...
>
> >>>Or as Tim suggested, your copying of the core sitemap needs
> >>>some tweaks to point to resources in the parent sitemap.
> >>>
> >>
> >>Exactly this is what I like to find out. The naive approach of
> >>duplicating and modifying the content of the core sitemap (or relevant
> >>parts thereof) does not seem to hold. But even with the much improved
> >>documentation regarding sitemaps I'm pretty much clueless on how to
> >>proceed from here.
>
> http://forrest.apache.org/docs_0_70/your-project.html#sitemap.xmap
>
> If you can provide a patch that improves on the docs (via Jira) it will
> be most welcome.
>
> >>>Would you please explain what you are trying to achieve
> >>>with your "intended changes". Perhaps there is a better way.
> >>>
> >>
> >>Sure. Nothing fancy actually. We implemented a 'news'-box in our skin
> >>which displays below the menu the last n items from an RSS feed we will
> >>provide. So besides the usual tab, menu and body stuff we need another
> >>pipeline providing the rss content. Since this has to be present on
> >>every page the skinning process appears to be the right place.
> >>
> >>This is already implemented and works very well but only if the changes
> >>to the sitemap are present in the forrest core sitemap.
>
> Slightly off topic. We have a plugin in the whiteboard that processes
> RSS feeds. It doesn't include the results in the skin like yours does,
> unless you use the new Dispatcher features in 0.8-dev. However, I wonder
> if any of your work would be useful in that plugin? In particular I am
> thinking about the RSS to XDoc stylesheets.
>
> See
> http://forrest.apache.org/pluginDocs/plugins_0_70/org.apache.forrest.plugin.input.feeder/
>
> >>For the <map:match pattern="*.html"> and
> >> the <map:match pattern="**/*.html"> blocks the changes consist of an
> >>additional <map:part src="cocoon:/news/news.xml"/> statement.
> >
> >
> > For that sort of change, i recommend that you
> > make your adjustments directly to the core sitemap.
>
> I disagree. Modifying the core sitemap will create problems upgrading to
> future versions of Forrest as the changes will have to be merged, and
> there are *lots* of changes in the next release. By doing it in a
> project sitemap there should be no need to edit the extension.
>
> I think you will also need to copy the "skinit" resource into your
> project sitemap to make this work, but try it without first (less
> maintenance when upgrading).
>
> An alternative approach would be to use an internal plugin. However, in
> this case since the Dispatcher will make doing this kind of thing much
> easier the plugin is unlikely to be reused. Therefore I wouldn't bother
> with the extra overhead.
>
> > The project sitemap is not really intended to over-ride
> > the core in this way. See comments by Tim earlier in this
> > thread.
>
> There is no problem with the project sitemap overriding core. In fact it
> is designed to do so. Just make sure the only matches in your sitemap
> are for the pipelines you want to override. In this case the "**.html"
> ones.
>
> Ross

I think you're going to run into problems overriding only the **.html
and **/*.html pipes.  I played around a bit yesterday with this but
didn't have time to come to any real solution.  I *think* what's
happening is that it is recursively calling itself when it gets to the
body-*.html, menu-*.html, etc matches since **.html is such a greedy
match.  I confirmed there's no major problem with your sitemap by
changing the extension to html2 and manually putting in an .html
extension in the aggregation section.  I'm inclined to agree with
David that such a greedy match isn't good for the project sitemap.  To
help with upgrade issues you could always create a new sitemap in the
webapp folder and mount that one right before these two matches. 
Anyway, that's what I *think* is going on...

--tim

Mime
View raw message