This was one of the core issues Cocoon Blocks should solve in the end.
Giacomo On Mon, 5 Aug 2002, Bertrand Delacretaz wrote: > On Monday 05 August 2002 09:41, Carsten Ziegeler wrote: > >. . . > > we should try to build a minimal Cocoon or core Cocoon if you > > prefer and put everything else into additional modules (read: not blocks). > > By modules I simply mean different directories in the CVS in order to > > optionally build them. > >. . . > > It would be great if these modules could be pluggable at runtime, simply by > copying the required jars in the right places. Users won't like having to > recompile Cocoon just to activate different options IMHO. > > I don't know Cocoon internals or Avalon in much detail, but maybe the > following scenario could be implemented simply and help users locate and add > the required functionality when they need it: > > 1) create an XML map of modules, classnames and URLs that is distributed with > Cocoon, example: > > <plugin-module > name="xslt-xalan" > class="org.apache.cocooon.wrappers.XalanWrapper" > download-url="http://xml.apache.org/cocoon/dist/modules/xalan" > download-file="cocoon-xalan-plugin.2.0.3.jar" > /> > > 2) when a Component is requested from the Sitemap and is not available, a > custom ClassLoader (or a catch of the ClassNotFoundException) uses the > above map to let users know how to activate it, something like: > > CocoonPluginNotFoundException: > The "xslt-xalan" plugin (requested by blablabla...) is not present in your > Cocoon configuration. To activate it, download file > "cocoon-xalan-plugin.2.0.3.jar" from > "http://xml.apache.org/cocoon/dist/modules/xalan", copy this jar to the > WEB-INF/lib subdirectory of your Cocoon installation and restart Cocoon > > I don't know how well this fits your plans, but it might help distributing a > minimal Cooon while making it easy for users to install what they need. > > Just my 2 cents. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]