Peter Hunsberger wrote:
On Apr 12, 2005 5:50 AM, Sylvain Wallez <[EMAIL PROTECTED]> wrote:There is not that much code to reuse or keeping forward compatible. You can take a look yourself in http://svn.apache.org/viewcvs.cgi/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ ComponentsNodeBuilder, VPCsNodeBuilder, VPCNodeBuilder and VPCNode.
Daniel Fagerstrom wrote:
Sylvain Wallez wrote:
<big snip/>
So in the end, my opinion is that sitemap fragments for VPCs should be declared in their own section of the sitemap, just as views, resources and flows. Components for VPCs will be added to the ServiceManager by the TreeBuilder (let's recall that TreeBuilder has full control on the ServiceManager as it is the one that creates it).
Rather than having TreeProcessor and ServiceManager mix their stuff in a single <map:components>, this allows the TreeProcessor to augment the ServiceManager with components that are aliased to their corresponding processing nodes. Concerns a kept separate for the sitemap writer, but remain unified as regular components from the outside world.
So, WDYT?
That makes a whole lot of sense to me. Even if you don't need to implement any new kinds of sitemap processing on VPCs having a separate section for them allows you to wrap the parsing of that section in a clean way. If you reuse component parsing great, the VPC wrapper can just inherit or reuse the component parsing, but if at some point in the future a new use case is found where simple component parsing is not sufficient then you've already got the hooks in place for adding something new without requiring a new version of the sitemap.
IOW, having a separate VPC section in the sitemap helps make the
sitemap forward compatible for any future requirements, where as using
naming hacks in existing sections of the sitemap may be rather fragile
in the long run.
And the sitemap engine is so flexible that it would be rather easy to change syntax.
So I don't see this so much as an implementation question as a conceptual question. Are we considering the VPCs as sitemap components or something else, to me they look like sitemap components.
/Daniel