You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Stefan Pietschmann <sp...@inf.tu-dresden.de> on 2004/01/21 13:51:42 UTC

use parameter from sitemap in java transformer

Hi,

 

i've written a transformer in java, 

 

<map:transformer name="addLinks"
src="de.amacont.dom.transformation.LinkTransformer"/>

 

which works well. Now I want to use a parameter in it, which I can set in
the sitemap, like

 

 

<map:transform type="addLinks">

    <map:parameter name="componentTag" value="span"/>

</map:transform>

 

I don't know how to, though. I know who I can use such a parameter in XSL
Stylesheets, but Java? How do I instantiate them?

My transformer extends from AbstractDOMTransformer and just implements the
transform(Document) method.

 

 

Thx for your help

stefan

 


[SOLVED] use parameter from sitemap in java transformer

Posted by Stefan Pietschmann <sp...@inf.tu-dresden.de>.
Works now. 
Thanx again for your help :)

Stefan



> -----Ursprüngliche Nachricht-----
> Von: m_rolappe@web.de [mailto:m_rolappe@web.de]
> Gesendet: Mittwoch, 21. Januar 2004 23:12
> An: users@cocoon.apache.org
> Betreff: AW: use parameter from sitemap in java transformer
> 
> from the facts given I suspect that you didn't correctly override the
> setup
> method. check carefully that the method signature is correct; check your
> imports (e.g. you might have imported excalibur's SourceResolver instead
> of
> cocoon's).
> 
> > -----Ursprüngliche Nachricht-----
> > Von: users-return-61680-m_rolappe=web.de@cocoon.apache.org
> > [mailto:users-return-61680-m_rolappe=web.de@cocoon.apache.org]Im Auftrag
> > von Stefan Pietschmann
> > Gesendet: Mittwoch, 21. Januar 2004 21:46
> > An: users@cocoon.apache.org
> > Betreff: AW: AW: AW: use parameter from sitemap in java transformer
> >
> >
> > Hi again,
> >
> > Below you can see what's in my sitemap an in the transformer
> > currently. The
> > transformer is still working fine, the parameter not. With some
> > system.out's
> > I've found out, that it doesn't seem to go into the if-loop in
> > setup(). When
> > I try a system.out.println(par.toString()) it doesn't give me anything,
> so
> > it seems to me the parameter isn't passed to the setup method.
> > Anything I need to specify in the sitemap perhaps to make my transformer
> > work with parameters?
> >
> > Oh, and thanks a lot for your help so far ;)
> > stefan
> >
> >
> > <map:transformer name="addLinks"
> > src="de.amacont.dom.transformation.LinkTransformer"/>
> > ...
> > ...
> > <map:transform type="addLinks">
> > 	<map:parameter name="componentTag" value="comp"/>
> > </map:transform>
> >
> > -----------------------
> >
> > public class LinkTransformer extends AbstractDOMTransformer {
> >   ...
> >   private String COMP_TAG = "span";
> >   ...
> >
> > public void setup(...)throws ProcessingException, SAXException,
> > IOException{
> >
> > 	if (par.isParameter("componentTag")) {
> > 		try {
> > 			this.COMP_TAG = par.getParameter("componentTag");
> > 		}
> > 		catch (ParameterException pe) {...}
> > 	}
> > }
> >
> > public Document transform(Document docu) { .....}
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


AW: use parameter from sitemap in java transformer

Posted by Marco Rolappe <m_...@web.de>.
from the facts given I suspect that you didn't correctly override the setup
method. check carefully that the method signature is correct; check your
imports (e.g. you might have imported excalibur's SourceResolver instead of
cocoon's).

> -----Ursprüngliche Nachricht-----
> Von: users-return-61680-m_rolappe=web.de@cocoon.apache.org
> [mailto:users-return-61680-m_rolappe=web.de@cocoon.apache.org]Im Auftrag
> von Stefan Pietschmann
> Gesendet: Mittwoch, 21. Januar 2004 21:46
> An: users@cocoon.apache.org
> Betreff: AW: AW: AW: use parameter from sitemap in java transformer
>
>
> Hi again,
>
> Below you can see what's in my sitemap an in the transformer
> currently. The
> transformer is still working fine, the parameter not. With some
> system.out's
> I've found out, that it doesn't seem to go into the if-loop in
> setup(). When
> I try a system.out.println(par.toString()) it doesn't give me anything, so
> it seems to me the parameter isn't passed to the setup method.
> Anything I need to specify in the sitemap perhaps to make my transformer
> work with parameters?
>
> Oh, and thanks a lot for your help so far ;)
> stefan
>
>
> <map:transformer name="addLinks"
> src="de.amacont.dom.transformation.LinkTransformer"/>
> ...
> ...
> <map:transform type="addLinks">
> 	<map:parameter name="componentTag" value="comp"/>
> </map:transform>
>
> -----------------------
>
> public class LinkTransformer extends AbstractDOMTransformer {
>   ...
>   private String COMP_TAG = "span";
>   ...
>
> public void setup(...)throws ProcessingException, SAXException,
> IOException{
>
> 	if (par.isParameter("componentTag")) {
> 		try {
> 			this.COMP_TAG = par.getParameter("componentTag");
> 		}
> 		catch (ParameterException pe) {...}
> 	}
> }
>
> public Document transform(Document docu) { .....}
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


AW: AW: AW: use parameter from sitemap in java transformer

Posted by Stefan Pietschmann <sp...@inf.tu-dresden.de>.
Hi again,

Below you can see what's in my sitemap an in the transformer currently. The
transformer is still working fine, the parameter not. With some system.out's
I've found out, that it doesn't seem to go into the if-loop in setup(). When
I try a system.out.println(par.toString()) it doesn't give me anything, so
it seems to me the parameter isn't passed to the setup method. 
Anything I need to specify in the sitemap perhaps to make my transformer
work with parameters?

Oh, and thanks a lot for your help so far ;)
stefan

 
<map:transformer name="addLinks"
src="de.amacont.dom.transformation.LinkTransformer"/>
...
...
<map:transform type="addLinks">
	<map:parameter name="componentTag" value="comp"/>
</map:transform>

-----------------------

public class LinkTransformer extends AbstractDOMTransformer {
  ...
  private String COMP_TAG = "span";
  ...

public void setup(...)throws ProcessingException, SAXException, IOException{

	if (par.isParameter("componentTag")) {
		try {
			this.COMP_TAG = par.getParameter("componentTag");
		}
		catch (ParameterException pe) {...}
	}
}

public Document transform(Document docu) { .....}

> -----Ursprüngliche Nachricht-----
> Von: Rui Alberto L. Gonçalves [mailto:rui-l-goncalves@ptinovacao.pt]
> Gesendet: Mittwoch, 21. Januar 2004 20:51
> An: m_rolappe@web.de
> Cc: users@cocoon.apache.org
> Betreff: Re: AW: AW: use parameter from sitemap in java transformer
> 
> You're right Marco. I got confused!
> My apologies!
> 
> On Wed, 2004-01-21 at 17:10, Marco Rolappe wrote:
> > overriding the setup method (SiteMapModelComponent interface IIRC) is
> the
> > way to go, he must have made a mistake somewhere.
> >
> > and getting sitemap parameters won't work via the Parameterizable
> interface
> > AFAIK; the parameterize() method will provide a component's
> configuration as
> > Parameters converted from a Configuration object.
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: users-return-61656-m_rolappe=web.de@cocoon.apache.org
> > > [mailto:users-return-61656-m_rolappe=web.de@cocoon.apache.org]Im
> Auftrag
> > > von Jorg Heymans
> > > Gesendet: Mittwoch, 21. Januar 2004 16:18
> > > An: users@cocoon.apache.org
> > > Betreff: Re: AW: use parameter from sitemap in java transformer
> > >
> > >
> > > ztrange :)
> > > This has worked for me exactly like this a million times before. Are
> you
> > > seeing anything in error.log?
> > > Alternatively the parameterizable interface that Rui suggests should
> > > also work, although for me setup() is more clear. setup() is called on
> > > each pipeline component during pipeline setup.
> > >
> > > Try putting extensive logging everywhere, i have a feeling something
> is
> > > not happening like you think it is, but can't pinpoint it (how's that
> > > for a useless vague statement eh :)
> > >
> > >
> > > Jorg
> > > Stefan Pietschmann wrote:
> > >
> > > > Thanx for your quick answer. However It didn't work. I
> > > overwrote the setup
> > > > method in my transformer like this had to catch the
> ParameterException
> > > >
> > > > public void setup(SourceResolver resolver,Map objectModel,String
> src,
> > > > Parameters par)
> > > > 	        	throws ProcessingException, SAXException,
> > > > IOException {
> > > >
> > > > if (par.isParameter("componentTag")) {
> > > > 	try {
> > > > 		this.COMP_TAG = par.getParameter("componentTag");
> > > > 	}catch (ParameterException pe) {
> > > > 		System.out.println("Failed to get parameter
> \"componentTag\"
> > > > from sitemap!");
> > > > 	}
> > > > }
> > > > }
> > > >
> > > > ):, but the parameter COMP_TAG stays on the default
> > > initialization value, no
> > > > matter how I change the parameter in the sitemap.
> > > > When is the setup method called? I tried to put a
> > > system.out.println into
> > > > setup(), but it didn't even show up in the console :o
> > > >
> > > > stefan
> > > >
> > > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > For additional commands, e-mail: users-help@cocoon.apache.org
> --
> Rui Alberto L. Gonçalves <ru...@ptinovacao.pt>
> PT Inovação
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: AW: AW: use parameter from sitemap in java transformer

Posted by "Rui Alberto L. Gonçalves" <ru...@ptinovacao.pt>.
You're right Marco. I got confused!
My apologies!

On Wed, 2004-01-21 at 17:10, Marco Rolappe wrote:
> overriding the setup method (SiteMapModelComponent interface IIRC) is the
> way to go, he must have made a mistake somewhere.
> 
> and getting sitemap parameters won't work via the Parameterizable interface
> AFAIK; the parameterize() method will provide a component's configuration as
> Parameters converted from a Configuration object.
> 
> > -----Ursprüngliche Nachricht-----
> > Von: users-return-61656-m_rolappe=web.de@cocoon.apache.org
> > [mailto:users-return-61656-m_rolappe=web.de@cocoon.apache.org]Im Auftrag
> > von Jorg Heymans
> > Gesendet: Mittwoch, 21. Januar 2004 16:18
> > An: users@cocoon.apache.org
> > Betreff: Re: AW: use parameter from sitemap in java transformer
> >
> >
> > ztrange :)
> > This has worked for me exactly like this a million times before. Are you
> > seeing anything in error.log?
> > Alternatively the parameterizable interface that Rui suggests should
> > also work, although for me setup() is more clear. setup() is called on
> > each pipeline component during pipeline setup.
> >
> > Try putting extensive logging everywhere, i have a feeling something is
> > not happening like you think it is, but can't pinpoint it (how's that
> > for a useless vague statement eh :)
> >
> >
> > Jorg
> > Stefan Pietschmann wrote:
> >
> > > Thanx for your quick answer. However It didn't work. I
> > overwrote the setup
> > > method in my transformer like this had to catch the ParameterException
> > >
> > > public void setup(SourceResolver resolver,Map objectModel,String src,
> > > Parameters par)
> > > 	        	throws ProcessingException, SAXException,
> > > IOException {
> > >
> > > if (par.isParameter("componentTag")) {
> > > 	try {
> > > 		this.COMP_TAG = par.getParameter("componentTag");
> > > 	}catch (ParameterException pe) {
> > > 		System.out.println("Failed to get parameter \"componentTag\"
> > > from sitemap!");
> > > 	}
> > > }
> > > }
> > >
> > > ):, but the parameter COMP_TAG stays on the default
> > initialization value, no
> > > matter how I change the parameter in the sitemap.
> > > When is the setup method called? I tried to put a
> > system.out.println into
> > > setup(), but it didn't even show up in the console :o
> > >
> > > stefan
> > >
> > >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
-- 
Rui Alberto L. Gonçalves <ru...@ptinovacao.pt>
PT Inovação


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


AW: AW: use parameter from sitemap in java transformer

Posted by Marco Rolappe <m_...@web.de>.
overriding the setup method (SiteMapModelComponent interface IIRC) is the
way to go, he must have made a mistake somewhere.

and getting sitemap parameters won't work via the Parameterizable interface
AFAIK; the parameterize() method will provide a component's configuration as
Parameters converted from a Configuration object.

> -----Ursprüngliche Nachricht-----
> Von: users-return-61656-m_rolappe=web.de@cocoon.apache.org
> [mailto:users-return-61656-m_rolappe=web.de@cocoon.apache.org]Im Auftrag
> von Jorg Heymans
> Gesendet: Mittwoch, 21. Januar 2004 16:18
> An: users@cocoon.apache.org
> Betreff: Re: AW: use parameter from sitemap in java transformer
>
>
> ztrange :)
> This has worked for me exactly like this a million times before. Are you
> seeing anything in error.log?
> Alternatively the parameterizable interface that Rui suggests should
> also work, although for me setup() is more clear. setup() is called on
> each pipeline component during pipeline setup.
>
> Try putting extensive logging everywhere, i have a feeling something is
> not happening like you think it is, but can't pinpoint it (how's that
> for a useless vague statement eh :)
>
>
> Jorg
> Stefan Pietschmann wrote:
>
> > Thanx for your quick answer. However It didn't work. I
> overwrote the setup
> > method in my transformer like this had to catch the ParameterException
> >
> > public void setup(SourceResolver resolver,Map objectModel,String src,
> > Parameters par)
> > 	        	throws ProcessingException, SAXException,
> > IOException {
> >
> > if (par.isParameter("componentTag")) {
> > 	try {
> > 		this.COMP_TAG = par.getParameter("componentTag");
> > 	}catch (ParameterException pe) {
> > 		System.out.println("Failed to get parameter \"componentTag\"
> > from sitemap!");
> > 	}
> > }
> > }
> >
> > ):, but the parameter COMP_TAG stays on the default
> initialization value, no
> > matter how I change the parameter in the sitemap.
> > When is the setup method called? I tried to put a
> system.out.println into
> > setup(), but it didn't even show up in the console :o
> >
> > stefan
> >
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: AW: use parameter from sitemap in java transformer

Posted by Jorg Heymans <jh...@domek.be>.
ztrange :)
This has worked for me exactly like this a million times before. Are you 
seeing anything in error.log?
Alternatively the parameterizable interface that Rui suggests should 
also work, although for me setup() is more clear. setup() is called on 
each pipeline component during pipeline setup.

Try putting extensive logging everywhere, i have a feeling something is 
not happening like you think it is, but can't pinpoint it (how's that 
for a useless vague statement eh :)


Jorg
Stefan Pietschmann wrote:

> Thanx for your quick answer. However It didn't work. I overwrote the setup
> method in my transformer like this had to catch the ParameterException
> 
> public void setup(SourceResolver resolver,Map objectModel,String src,
> Parameters par)
> 	        	throws ProcessingException, SAXException,
> IOException {
> 
> if (par.isParameter("componentTag")) {
> 	try {
> 		this.COMP_TAG = par.getParameter("componentTag");
> 	}catch (ParameterException pe) {
> 		System.out.println("Failed to get parameter \"componentTag\"
> from sitemap!");
> 	}
> }
> }
> 
> ):, but the parameter COMP_TAG stays on the default initialization value, no
> matter how I change the parameter in the sitemap.
> When is the setup method called? I tried to put a system.out.println into
> setup(), but it didn't even show up in the console :o
> 
> stefan	
> 
> 
>>-----Ursprüngliche Nachricht-----
>>Von: news [mailto:news@sea.gmane.org] Im Auftrag von Jorg Heymans
>>Gesendet: Mittwoch, 21. Januar 2004 14:04
>>An: users@cocoon.apache.org
>>Betreff: Re: use parameter from sitemap in java transformer
>>
>>override the setup() method
>>
>>     public void setup(
>>         SourceResolver resolver,
>>         Map objectModel,
>>         String src,
>>         Parameters par)
>>         throws ProcessingException, SAXException, IOException {
>>
>>             if (par.isParameter("myparameter")) {
>>                 this.parameter = par.getParameter("myparameter");
>>             }
>>
>>
>>Stefan Pietschmann wrote:
>>
>>
>>>Hi,
>>>
>>>
>>>
>>>i’ve written a transformer in java,
>>>
>>>
>>>
>>><map:transformer name="addLinks"
>>>src="de.amacont.dom.transformation.LinkTransformer"/>
>>>
>>>
>>>
>>>which works well. Now I want to use a parameter in it, which I can set
>>>in the sitemap, like
>>>
>>>
>>>
>>>
>>>
>>><map:transform type="addLinks">
>>>
>>>    <map:parameter name="componentTag" value="span"/>
>>>
>>></map:transform>
>>>
>>>
>>>
>>>I don’t know how to, though. I know who I can use such a parameter in
>>>XSL Stylesheets, but Java? How do I instantiate them?
>>>
>>>My transformer extends from AbstractDOMTransformer and just implements
>>>the transform(Document) method.
>>>
>>>
>>>
>>>
>>>
>>>Thx for your help
>>>
>>>stefan
>>>
>>>
>>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>For additional commands, e-mail: users-help@cocoon.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


AW: use parameter from sitemap in java transformer

Posted by Stefan Pietschmann <sp...@inf.tu-dresden.de>.
Thanx for your quick answer. However It didn't work. I overwrote the setup
method in my transformer like this had to catch the ParameterException

public void setup(SourceResolver resolver,Map objectModel,String src,
Parameters par)
	        	throws ProcessingException, SAXException,
IOException {

if (par.isParameter("componentTag")) {
	try {
		this.COMP_TAG = par.getParameter("componentTag");
	}catch (ParameterException pe) {
		System.out.println("Failed to get parameter \"componentTag\"
from sitemap!");
	}
}
}

):, but the parameter COMP_TAG stays on the default initialization value, no
matter how I change the parameter in the sitemap.
When is the setup method called? I tried to put a system.out.println into
setup(), but it didn't even show up in the console :o

stefan	

> -----Ursprüngliche Nachricht-----
> Von: news [mailto:news@sea.gmane.org] Im Auftrag von Jorg Heymans
> Gesendet: Mittwoch, 21. Januar 2004 14:04
> An: users@cocoon.apache.org
> Betreff: Re: use parameter from sitemap in java transformer
> 
> override the setup() method
> 
>      public void setup(
>          SourceResolver resolver,
>          Map objectModel,
>          String src,
>          Parameters par)
>          throws ProcessingException, SAXException, IOException {
> 
>              if (par.isParameter("myparameter")) {
>                  this.parameter = par.getParameter("myparameter");
>              }
> 
> 
> Stefan Pietschmann wrote:
> 
> > Hi,
> >
> >
> >
> > i’ve written a transformer in java,
> >
> >
> >
> > <map:transformer name="addLinks"
> > src="de.amacont.dom.transformation.LinkTransformer"/>
> >
> >
> >
> > which works well. Now I want to use a parameter in it, which I can set
> > in the sitemap, like
> >
> >
> >
> >
> >
> > <map:transform type="addLinks">
> >
> >     <map:parameter name="componentTag" value="span"/>
> >
> > </map:transform>
> >
> >
> >
> > I don’t know how to, though. I know who I can use such a parameter in
> > XSL Stylesheets, but Java? How do I instantiate them?
> >
> > My transformer extends from AbstractDOMTransformer and just implements
> > the transform(Document) method.
> >
> >
> >
> >
> >
> > Thx for your help
> >
> > stefan
> >
> >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: use parameter from sitemap in java transformer

Posted by Jorg Heymans <jh...@domek.be>.
override the setup() method

     public void setup(
         SourceResolver resolver,
         Map objectModel,
         String src,
         Parameters par)
         throws ProcessingException, SAXException, IOException {

             if (par.isParameter("myparameter")) {
                 this.parameter = par.getParameter("myparameter");
             }


Stefan Pietschmann wrote:

> Hi,
> 
>  
> 
> i’ve written a transformer in java,
> 
>  
> 
> <map:transformer name="addLinks" 
> src="de.amacont.dom.transformation.LinkTransformer"/>
> 
>  
> 
> which works well. Now I want to use a parameter in it, which I can set 
> in the sitemap, like
> 
>  
> 
>  
> 
> <map:transform type="addLinks">
> 
>     <map:parameter name="componentTag" value="span"/>
> 
> </map:transform>
> 
>  
> 
> I don’t know how to, though. I know who I can use such a parameter in 
> XSL Stylesheets, but Java? How do I instantiate them?
> 
> My transformer extends from AbstractDOMTransformer and just implements 
> the transform(Document) method.
> 
>  
> 
>  
> 
> Thx for your help
> 
> stefan
> 
>  
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: use parameter from sitemap in java transformer

Posted by "Rui Alberto L. Gonçalves" <ru...@ptinovacao.pt>.
Hi Stefan,
you need to implement  Parameterizable interface in
your transformer...

Something like:

public class LinkTransformer ... implements Parameterizable 
{
...

public void parameterize(Parameters params) throws ParameterException
{
 try
 {
   value = params.getParameter( "componentTag");
 } 
 catch(ParameterException pe)
  ...
}

the parametrize method is invoked each time the component 
is requested...

Hope this helps
Rui


On Wed, 2004-01-21 at 12:51, Stefan Pietschmann wrote:
> Hi,
> 
>  
> 
> i’ve written a transformer in java, 
> 
>  
> 
> <map:transformer name="addLinks"
> src="de.amacont.dom.transformation.LinkTransformer"/>
> 
>  
> 
> which works well. Now I want to use a parameter in it, which I can set
> in the sitemap, like
> 
>  
> 
>  
> 
> <map:transform type="addLinks">
> 
>     <map:parameter name="componentTag" value="span"/>
> 
> </map:transform>
> 
>  
> 
> I don’t know how to, though. I know who I can use such a parameter in
> XSL Stylesheets, but Java? How do I instantiate them?
> 
> My transformer extends from AbstractDOMTransformer and just implements
> the transform(Document) method.
> 
>  
> 
>  
> 
> Thx for your help
> 
> stefan
> 
>  
-- 
Rui Alberto L. Gonçalves <ru...@ptinovacao.pt>
PT Inovação


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org