On Tue, Oct 08, 2002 at 11:54:47AM +0200, Christian Haul wrote: > On 08.Oct.2002 -- 01:34 PM, Piroumian Konstantin wrote: ... > > > > I imagine this a little different, e.g.: > > > > > > > > <component-instance > > > > class="org.apache.cocoon.components.modules.input.SkinModule" > > > > logger="core.modules.input" name="skin"> > > > > <input-module name="request-param"/> > > > > <input-module name="skin-defaults"/> > > > > </component-instance> > > > > > > Oo.. that's a good idea. Say we've got all these modules > > > floating about loose, and then we have a 'glue' module that > > > can stick together a bunch of them. > > > > Exactly this I've been trying to say all this time. Seems that it's time to > > went to some English courses ;) > > May I add myself to this list ;-) > > Only that in my imagination this would be called > e.g. "ChainingMetaModule" and the user would call this particular > instance "skin"
Yes. So to elaborate on Konstantin's example above, would we split DefaultMetaModule into a DefaultsModule and ChainingMetaModule? Eg, go from: <component-instance class="...DefaultsMetaModule" name="defaults"> <input-module name="request-param"/> <values> <skin>defaultSkin</skin> <base-url>http://localhost:8080/cocoon</base-url> </values> </component-instance> to: <component-instance class="...DefaultsModule" name="defaults"> <values> <skin>defaultSkin</skin> <base-url>http://localhost:8080/cocoon</base-url> </values> </component-instance> <component-instance class="...ChainingMetaModule" name="skin"> <input-module name="request-param"/> <input-module name="defaults"/> </component-instance> I think that's really great :) It nicely separates the two concerns. It's dead simple in concept and implementation. It's (AFAICT) powerful enough to meet all use-cases. Best of all, module implementors (XMLModule in my case) don't need to worry about chaining. Eg, for Forrest we can have: <component-instance class="...ChainingMetaModule" name="skin"> <input-module name="request-param"/> <input-module name="forrestconf"/> <input-module name="defaults"/> </component-instance> <component-instance class="...XMLModule" name="forrestconf"> <config>resource:///forrestconf.xml</config> </component-instance> Any downsides? Big +1 --Jeff > Chris. > -- > C h r i s t i a n H a u l > [EMAIL PROTECTED] > fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08 > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]