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]