I'm currently in the process of porting an application from T4->T5 and have
run into a problem.

Specifically the application has 100+ pluggable modules. Each module has
it's own jar containing its specific classes and related Tapestry config
class/template. A custom class loader loads the modules once at startup
(it's not actually dynamic).

At runtime users may only have a handful of the available modules installed.

In T4 we used a combination of a custom SpecificationResolver to locate the
classes/pages in their respective packages and then simply accessed pages
using: 

  ...
  ModuleBasePage page = (ModuleBasePage)
cycle.getPage(module.getClass().getName()+"Config");
        nextPage.setNextPage(null);
        nextPage.setModule(module);
        ...
        
I understand in T5 everything has to be statically defined which I've found
much simpler, but it does appear to be a show stopper for me in porting this
modularised application to T5. 

I don't belive I can follow the recomended practise of having a delegate
component and blocks per module because at runtime many programatically
defined instances will not available which will cause
a ClassNotFound exception.

Is there a solution/pattern in T5 for supporting this kind of modular
plugability? Specifically how can I solve:

a) locating pages stored in different packages
b) obtain an instance of the page, initialize it and use it? 

Thanks in advance,

Chris

-- 
View this message in context: 
http://www.nabble.com/T5-Pluggable-Pages-tp25117404p25117404.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to