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]

Reply via email to