Rasik Pandey wrote:

 > To answer you specific question. Anything defined in a plugin sitemap
 > (internal or otherwides) has the same access limitations that you will
 > find in any Cocoon sitemap. That means:

Which means views are bound to the sitemap in which they are defined and leaves us two options, redeclare all pertinent pipelines in the internal.xmap

OR add these two pieces to root Forrest sitemap.xmap:

<map:serializers>
<map:serializer name="links" src="org.apache.cocoon.serialization.LinkSerializer">
<encoding>ISO-8859-1</encoding>
</map:serializer>
</map:serializers>

<map:views>
<map:view name="links" from-position="last">
<map:serialize type="links"/>
</map:view>
</map:views>

So the LinkStatusGenerator will be able to access the requisite information. I am NOT a fan of either approach :( as neither is a neat implementation.

I agree neither solution is neat. For version 0.1 of your plugin I would redefine all pertinent pipelines in the internal.xmap. The longer term solution will be to use the shiny new sitemap block mounting mechanism once we can upgrade Cocoon in Forrest. As I think I mentioned before this allows a level of inheritance in sitemaps, complete with the ability to override items in the super sitemaps. It even allows for multiple inheritance.

 > What properties do you want?
 >
 > As a hint you can access most of the properties with {project:foo} where
 > foo is defined within forrest.xconf

You mean within the "forrest.properties" file and NOT the "forrest.xconf" file, right?

No, I meant forrest.xconf, but my response was certainly confusing. Let me try and explain.

Within forrest.xconf there are a properties set that can be accessed with {forrest:foo} and another set that are accessed with {project:bar}. The values of these properties are (in some cases) set in forrest.properties. In other words the user is not supposed to edit forrest.xconf

See the element <component-instance name="defaults" class="org.apache.forrest.conf.ForrestConfModule"> for the {forrest:foo} properties and <component-instance name="project" class="org.apache.forrest.conf.ForrestConfModule"> for the {project:foo} properties.

The @foo.bar@ are tags that are replaced by Ant when Forrest is launched, but in the main they have the same names as properties set in forrest.properties.

Ross

Reply via email to