From: "Jeff Turner" <[EMAIL PROTECTED]>
> On Thu, Dec 19, 2002 at 03:09:22PM +0300, Konstantin Piroumian wrote:
> > From: "Jeremy Quinn" <[EMAIL PROTECTED]>
> > > On Thursday, Dec 19, 2002, at 11:48 Europe/London, Christian Haul
wrote:
> >
> > <snip-to-save-space-and-time />
> >
> > > >
> > > > which would result is {chain:other-var} being looked up as
> > > > {myxml:/root/section/other-var} and {request-param:other-var} but of
> > > > course {chain:my-var} would turn into {myxml:/root/section/my-var}
> > > > which is not desired here. SimpleMappingMetaModule supports some
more
> > > > mapping options if you need it.
> > > >
> > > > Chris.
> > >
> > >
> > > WOW! This stuff is amazing!
> > > And very complicated!
> >
> > Agree.
> > The mapping seems a little complicated to me. Can't we implement it a
little
> > different, something like that was proposed by Jeff Turner:
> >
> > <component-instance
> >   class="org.apache.cocoon.components.modules.input.ChainMetaModule"
> >   logger="core.modules.input" name="chain">
> >          <input-module name="request-param" />
> >          <input-module name="myxml" map-to="/root/section/{0}"/>
> >   </component-instance>
>
> What's implemented currently is flexible enough to support two models:
>
> 1) Each IM is defined separately:
>
>        <component-instance
>
class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
>          logger="core.modules.mapper" name="mapper">
>          <input-module name="site"/>
>          <prefix>/site/</prefix>
>          <suffix>/@href</suffix>
>       </component-instance>
>
>       <component-instance
>         class="org.apache.cocoon.components.modules.input.XMLFileModule"
>         logger="core.modules.xml" name="site">
>         <reloadable>true</reloadable>
>         <file src="cocoon://samples/link/linkmap"/>
>       </component-instance>
>
> Here, both {site:/site/index/@href} and {mapper:index} will refer to the
> same node in the XML file generated by
> http://localhost:8080/samples/link/linkmap.

Great!

>
> (incidentally, isn't the fact that XMLFileModule can use cocoon: protocol
> incredibly cool?:)

Yes it's cool ;)

>
>
> 2) When a meta module 'uses' another module, it can override that
> module's configuration.  For example, let's declare an unconfigured
> SimpleMappingMetaModule and configure it inside a ChainMetaModule:
>
>
> <component-instance
>
class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
>   logger="core.modules.mapper" name="chainmapper"/>
>
> component-instance
>  class="org.apache.cocoon.components.modules.input.ChainMetaModule"
>  logger="core.modules.input" name="mapped">
>   <input-module name="request-param"/>
>   <input-module name="request-attr"/>
>   <input-module name="session-attr"/>
>   <input-module name="chainmapper">
>     <input-module name="site"/>
>     <prefix>/site/</prefix>
>     <suffix>/@href</suffix>
>   </input-module>
> </component-instance>
>
> Again, {mapped:index} would refer to the same thing as
> {site:/site/index/@href}, unless, say, you added ?index=bob to the URL
> and the request-param kicked in to override it.
>

Fine!

> It's even possible to 'partially' configure a module in another one. Eg,
> the <input-module name="site"/> could be moved to the chainmapper
> definition.

Ok, you've both - Chris and Jeff - convienced me.

These thread could be a good source for a Wiki documentation on input
modules.
Listeners, are there any volunteer to write a summary? ;)

Konstantin

>
>
> I'm currently knee-deep in IMs implementing an
> InputModuleTransformer-based linking system for Forrest, after which I
> promise to help document this stuff (or rather, write lots and lots of
> examples).
>
>
> --Jeff
>
> > But of course, there's no much problems to use request parameters like
> > 'root/section/name'. This can cause a little troubles with JavaScript if
> > used as input element names.
> >
> > > Thank you very much for this explanation, I would not have groked
that!
> >
> > Yes, we need a more detailed documentation on modules, especially for
input
> > modules and their usage in the sitemap.
> >
> > Regards,
> >   Konstantin
> >
> > >
> > > regards Jeremy
> > >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to