Gang, David has committed another patch from me that has replaced the /WEB-INF/templates/navigation infrastructure with general purpose macros defined as part of decorations. This not only makes the usage of macros more straight forward, but also facilitates decorator deployment. To make this happen, multiple VelocityEngine instances, (one per decoration), are now created and managed by the JetspeedVelocityViewServlet. Decorations that do not utilize the new macro capability are processed by the default VelocityEngine singleton that is initialized as before.
I have simplified and transferred what was in the navigation templates and jetspeed_macros.vm into macro source files that are part of the tigris and jetspeed layouts. Please refer to the following files for examples of how this is and can be used: /WEB-INF/decorations/layout/html/{jetspeed,tigris}/decorator.properties /WEB-INF/decorations/layout/html/{jetspeed,tigris}/decorator-macros.vm Of course, other macros can be defined to suite the needs of the decorator! The jetspeed_macros.vm file is still included in the macro path for all VelocityEngines. However, only truely global macros should be defined there! The caching of VelocityEngine is controlled by init params for the JetspeedVelocityViewServlet located in /WEB-INF/web.xml. By default, the implementation will cache up to 25 VelocityEngines and check every 10 seconds for updates to the decorators. I am now attempting to blow the dust off of the existing decoration deployment code and get it running for M1. As usual, questions and feedback are always welcome. Randy