I believe what you are suggesting is possible.  Classes can be loaded from
jar files by default and turbine provides ClasspathResourceLoader for
retrieving templates from a jar file.  If the classes and templates for a
module are provided in a jar file and a configuration file is added to
inform the main application about the module (so it knows how to integrate
it) then all that should be required is a restart of the webapp to kick the
new module off.  Note that a new module might also need the resource loader
paths and module.packages to be updated in TR.props to work properly.

HTH,

Scott
-- 
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au


> From: Ian Beatty <[EMAIL PROTECTED]>
> Reply-To: "Turbine Users List" <[EMAIL PROTECTED]>
> Date: Wed, 16 Oct 2002 14:09:00 -0400
> To: [EMAIL PROTECTED]
> Subject: Modular Application Design?
> 
> Greetings.
> 
> I'm checking out Turbine as a possible base for a major web application I'm
> starting to design. I see a lot that I like, but I am concerned about one
> aspect. Perhaps readers of this list could help to resolve the question for
> me.
> 
> It's important that the finished application be easily extensible, in the
> sense that someone else could develop a "module" that would add to the
> application. A module would get inserted into the website's page hierarchy
> at a particular location, supplying an entire new branch. For example, it
> might define a directory "http://localhost/myapp/module3/"; and all contents
> of that directory. Or perhaps it would get inserted into an existing
> directory (supplied by the base app or an already-installed module) such as
> "http://localhost/myapp/somepart/module5/";.
> 
> As I understand the Turbine framework, this would require files to be
> separately inserted into some or all of the application's
> templates/app/screens, templates/app/navigations, and templates/app/layouts
> hierarchies. In addition, appropriate class files would have to be inserted
> at the right places in the application's WEB-INF/classes hierarchy, and
> various configuration and properties files might need altering as well.
> 
> What I'd really like is a way to just drop a folder or JAR containing all
> the module's classes, templates configuration information and properties
> into a directory somewhere, and have the Turbine app recognize it. Perhaps
> I'd have to specify in an app-global configuration file where that module's
> root should be located in the application's existing hierarchy (as it
> appears in URLs). Then installing a module is as simple as drag-and-drop,
> and edit one file.
> 
> (I realize I'd also need to have any back-end support for the module
> installed separately, such as EJBs or DB tables, but I'm not worried about
> that part here.)
> 
> Is this possible in the Turbine framework? Anybody got any neat ideas?
> 
> Thanks,
> 
> ..Ian
> 
> -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- --
> Dr. Ian Beatty                     [EMAIL PROTECTED]
> Physics Education Research Group   voice: 413.545.9483
> Department of Physics              fax:   413.545.4884
> Univ. of Massachusetts             http://umperg.physics.umass.edu/idb/
> Amherst, MA 01003-4525 USA
> -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- -- --- --
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to