Stefano Mazzocchi wrote:
If you start adding the environment, this is not true anymore and we must cache *BOTH* the pipeline output (as xml) and the serializer output (as binary) because their ergodicity can be different.
This is the only concern I'm having.
If enough people believe this is a small price to pay, well, I'll turn my -1 into a -0 for giving Environment access to the Serializers.
Given that caching seems to be an almost-non-issue and that we seem to be pretty convinced that this would not break the overall design, here's +1 to add SitemapModelComponent to serializer into SitemapModelComponent. Of course we have to take into account a migration path for all the existing serializers (though it should be enough to add empty impls to AbstractSerializer: AFAIK every concrete Serializer in Cocoon inherits from it).
Mmmh... are you sure every Serializer extends AbstractSerializer ? Maybe our's, but aren't there some custom serializers out in the wild world that don't ?
It would be better for the pipeline to handle the optional case where a Serializer also implements SitemapModelComponent.
Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }