You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by Jaroslaw Cora <j....@avantage.com.pl> on 2004/06/15 17:54:23 UTC

Multiple layouts

Hi all,

I am aware that any significant enhancements to the Pluto portal driver are 
outside the scope of the Pluto project. Nevertheless I would love to hear 
your opinion on the following problem

I would like to extend the Pluto portal driver with support for multiple 
layouts. I can think of two approaches to this problem:

Approach 1: separate aggregation base dirs

- Provide different JSP pages for each layout and keep them in separate 
aggregation folders
- Modify AbstractFragment and - unfortunately - all  its subclasses, and 
replace the constant BASE_ROOT with a dynamic call to 
DynamicLayoutProviderService.
- Introduce DynamicLayoutProviderService with a single method returning a path 
to aggregation root.
- The default implementation of this service would just return  BASE_ROOT from 
the configuration, so we would maintain the current functionality. However, 
thanks to the mechanism provided by ServiceManager, this service could be 
easily replaced with an implementation that returns aggregation root based, 
for example,  on user preferences.


Approach 2: multiple pageregistry.xml files

Modify PageRegistry so it supports multiple pageregistry.xml files. This would 
probably involve adding a parameter (layout id) to all methods of 
PageRegistryService.


The second approach seems to be in accord with the original vision of Pluto 
driver designer(s), but it's also probably more difficult to implement. 

I would really appreciate your comments and critisism.

Thanks.
-- 
Jaroslaw Cora
Avantage sp. z o.o.