Sylvain Wallez wrote: > > Good, we're in accordance again ;-) > Yup.
> However, can you explain the exact purpose of > <map:component-configurations>, and how it is handled ? > > I see that it is now defined in the Processor interface, but can't > understand how it is used and what CocoonComponentManager exactly does > with it (this stack management is black magic). > > How is it related to <map:components> which is nothing more than the > configuration of a ComponentManager and can thus hold any component > declaration ? > Ok...this whole thing is a cool (FS-like) implementation of dynamically configured components....still there?... There is sometimes the need for a component which I can configure in the sitemap, e.g. a generator. When you have a sub sitemap you might want to configure this component differently. This is no problem with the cascaded component managers. But sometimes you want to give your component some information/configuration and want to extend this in your subsitemap. So if you use this component in the main sitemap it gets the configuration of the main sitemap. If you use the component in the subsitemap it gets the configuration of the main sitemap and the subsitemap. This is for example used for the authentication handler configuration. A handler configured in the main sitemap is also available in a sub sitemap, but handlers configured in a subsitemap are not available in the main sitemap. How can this be handled? By the o.a.c.components.SitemapConfigurable components. If you look up such a component, the setup() method of the above interface is invoked for each sitemap already processed (main sitemap, first subsitemap, subsubsitemap etc.) This invocation takes only place of a configuration for this component is in the sitemap. This configuration is in the map:component-configurations block. The configuration for the component is enclosed in the role name/short-hint. Example: MainSitemap ----------- <map:component-configurations> <global-variables> <skin>cocoon</skin> </global-variables> </map:component-configurations> Sub Sitemap ----------- <map:component-configurations> <global-variables> <uri>localhost</uri> </global-variables> </map:component-configurations> Now, if you lookup the global-variables component in the main sitemap this component knows one value (for skin) - and if you look it up in the sub sitemap it knows two values (skin and uri). The global InputModule in turn uses the "global-variables" component, so you can write {global:skin} in the main sitemap but not {global:uri}. However, in the subsitemap both is allowed. (Man, this should go into the docs....hint...hint) Carsten --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]