cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Hutchinson <simon.hutchin...@misgl.com>
Subject Re: Problem with the SessionContext InputModule when using portal-fw
Date Wed, 10 Mar 2004 14:13:18 GMT

Carsten Ziegeler wrote:
> Hi,
> 
> I'm not sure if this is you're problem, but the input module is used
> in your sitemap (in a parameter). This means the input module is
> evaluated before the pipeline is executed. Which means if a transformer
> puts data into the session then an input module that is in the same
> pipeline definition can never get this value as the input module
> is running first.
> 
> 
> Carsten 
> 
> 
>>-----Original Message-----
>>From: Simon Hutchinson [mailto:simon.hutchinson@misgl.com] 
>>Sent: Wednesday, March 10, 2004 2:42 PM
>>To: users@cocoon.apache.org
>>Subject: Problem with the SessionContext InputModule when 
>>using portal-fw
>>
>>Hi all,
>>
>>It is a little difficult for me to post a decent test case as 
>>it would involve a pretty big chunk of the portal-fw stuff so 
>>I am hoping that someone might recognise my simplified view 
>>of the problem.
>>
>>Test Pipeline 1. This pipeline reads in a root element.
>>The first transformation creates a new context in the session 
>>which is transformed afterwords by the session transformer.
>>The readfromsession.xsl transformer then reads this info back 
>>from the session.
>>
>>(writetosession.xsl)
>><xsl:template match="/">
>>     <session:createcontext name="test"/>
>>	<session:setxml context="test" 
>>path="teststring">12345</session:setxml>
>></xsl:template>
>>
>>(readfromsession.xsl)
>><xsl:template match="/">
>>     <div>
>>     	<p> here is the session info </p>
>>     	<session:getxml context="test" path="teststring"/>
>>     </div>
>></xsl:template>
>>
>>(sitemap.xmap)
>><map:match pattern="testsession">
>>         <map:generate type="file" src="root.xml"/>
>>         <map:transform src="writetosession.xsl"/>
>>         <map:transform type="session"/>
>>         <map:transform src="readfromsession.xsl"/>
>>         <map:transform type="session"/>
>>         <map:serialize type="xml"/>
>></map:match>
>>
>>
>>My coplet submits to this pipeline and displays the expected response
>>
>>"here is the session info
>>12345"
>>
>>
>>My issue however is that I need to pass the information from 
>>the session using the SessionContext input module.
>>Test Pipeline 2 This pipeline reads in a root element.
>>The first transformation creates a new context in the session 
>>which is transformed afterwords by the session transformer.
>>The pipline then attempts to pass the data from the session 
>>using the SessionContext input module as a parameter to an 
>>xslt transformer
>>
>>The snippet below illustrates the principle.
>>
>>
>>(writetosession.xsl) as above
>>
>><xsl:param name="sessionid"></xsl:param>
>>
>>
>>(readfromsession2.xsl)
>><xsl:template match="/">
>>     <div>
>>     	<p> here is the session info <xsl:value-of 
>>select="$sessionid"></xsl:value-of></p>    	
>>     </div>
>></xsl:template>
>>
>>(sitemap.xmap)
>><map:match pattern="testsession">
>>         <map:generate type="file" src="root.xml"/>
>>         <map:transform src="writetosession.xsl"/>
>>         <map:transform type="session"/>
>>         <map:transform src="readfromsession2.xsl">
>>         	<map:parameter name="sessionid" 
>>value="{session-context:test/teststring}"/>        	
>>         </map:transform>
>>         <map:serialize type="xml"/>
>></map:match>
>>
>>
>>
>>When called directly this pipeline returns as expected ie 
>>"here is the session info 12345"
>>
>>Howver when called from a coplet the session data is not returned.
>>
>>No errors are being logged.
>>
>>Has anybody experiences similar issues whilst using the 
>>SessionContext input module with a coplet ?
>>
>>I would appreciate any assistance with this.
>>In the mean time I shall look at the differences in the 
>>source between accessing the sesison from the transformer and 
>>from the failing input module.
>>
>>Kind regards
>>
>>Si
>>
>>
>>---------------------------------------------------------------------
>>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
> 
> 

Hi Carsten,

Thanks for the reply

That is exactly what my issue is,
I hadn't realised that input modules were evaluated first.
by going directly to the pipiline with my browser I must have accidently
been reading data put into the session at an earlier stage,

This has solved my problem

Si


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


Mime
View raw message