You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Neo99 <ne...@ukonline.co.uk> on 2004/11/16 20:50:06 UTC

SourceWritingTransformer followed by authentication does not write

Hello,
I hope someone can point me in the write direction.
I'm trying to create a pipeline where the user is registered and 
authenticated in one go.
After the user submits registration details (username and password) 
using a form, I want to save those details to a userlist and then 
authenticate against that same userlist.

Here is the relevant part of the pipeline I'm using:

<!-- snipet -->
       <!-- new username so register user!-->
       <map:generate src="authentication/docs/usertemplate.xml"/>
       <map:transform src="authentication/stylesheets/create-user.xsl"> 
<!-- create the fragment for the write-source transform -->
             <map:parameter name="name" value="{request-param:username}"/>
             <map:parameter name="password" 
value="{request-param:password}"/>
       </map:transform>
       <map:transform type="write-source"/> <!-- appends registration 
details to userlist.xml -->
       <!-- <map:serialize type="xml"/> --> <!-- test -->   
       <!--Authenticate new user (repeated from above)-->
       <map:act type="auth-login">
             <map:parameter name="handler" value="sitehandler"/> <!-- 
authenticates against userlist.xml -->
             <map:parameter name="parameter_name" 
value="{request-param:username}"/>
             <map:parameter name="parameter_password" 
value="{request-param:password}"/>
             <!--Authentication succeeded-->
             <map:redirect-to uri="{request-param:loginresource}"/>
       </map:act>
       <map:redirect-to uri="nologin"/>
<!-- snipet (end)-->

If I remove the comments from the
<!-- <map:serialize type="xml"/> -->
line. The SourceWritingTransformer works and writes the required 
registration data to the userlist file.

But if I place that line back inside comments, so that authentication 
can take place. The authentication fails, because the 
SourceWritingTransformer has not written the required registration 
details to the userlist file.

Is this the appropriate behaviour for the SourceWritingTransformer? Is 
it only supposed to write to the filesystem when the pipeline reaches a 
<map:serialize>?
Is there a way I can accomplish both writing to a file and using that 
same file within the same pipeline? Or is there another way I should be 
doing this?

This is my first project using Cocoon. I'm using Cocoon 2.1.5.1.

Thank you, in advance!

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