cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject RE: Trying to solve a bug
Date Thu, 01 Apr 2004 09:09:45 GMT
 

> -----Original Message-----
> From: Jean-Christophe Kermagoret [mailto:jck@babelobjects.com] 
> Sent: Thursday, April 01, 2004 10:56 AM
> To: dev@cocoon.apache.org
> Subject: Re: Trying to solve a bug
> 
> I think the transfomer is OK.
> 
> When I look in my html form, everything is ok :
> -- Begin html form code --
> 
> <form method="POST" enctype="multipart/form-data" 
> action="portal?cocoon-portal-action=3&cocoon-portal-event=76" 
> xmlns:coplet="http://apache.org/cocoon/portal/coplet/1.0">
> <input name="woody_submit_id" type="hidden"><input 
> value="1404764e523640355b684e00066541184b53794d" 
> type="hidden" name="continuation-id"> <div 
> xmlns:wi="http://apache.org/cocoon/woody/instance/1.0" 
> class="tcContentBackground"> <table>
> 
> -- End --
> 
> It's when I press the submit button that I see the 
> request-param:continuation-id is empty even if I'm sure the 
> request has been parsed, because I saw the uploaded file in 
> the upload-directory.
> 
> But when I do {request-param:continuation-id} in my pipeline, 
> there is nothing.
> 
> Very strange

No :) If you look at the action tag of the form, there are two request
parameters appened (cocoon-portal-action and cocoon-portal-event).
As these two request parameters that are important for the portal
to work correctly (or precisly to link this request to the upload
coplet) are never received by Cocoon and therefore the portal
never gets them, the processing doesn't work properly and
you don't get the cont id.
It would work if it would look like this:
<form method="POST" enctype="multipart/form-data"  action="portal">
<input name="cocoon-portal-action" type="hidden" value="3"/>
<input name="cocoon-portal-event" type="hidden" value="76"/> 
<input name="woody_submit_id" type="hidden">
<input value="1404764e523640355b684e00066541184b53794d" type="hidden"
name="continuation-id">
...

Carsten

> 
> Jean-Christophe Kermagoret wrote:
> 
> > Carsten,
> > thanks for your answer
> >
> > I already use hidden field for continuation id.
> >
> > My action attribute doesn't contain anything important. Just submit 
> > value for example according the 
> > http://wiki.cocoondev.org/Wiki.jsp?page=WoodyCopletForPortalEngine
> >
> > So, I have no request param appended to the uri in my 
> action attribute.
> >
> > However, I still can't see any request-param, hidden or not.
> >
> > Jean-Christophe
> >
> > Carsten Ziegeler wrote:
> >
> >> Hi,
> >>
> >> now I think I remember that I had the same problem when I 
> wrote the 
> >> upload coplet sample that is in the basket sample in our CVS.
> >> If you specify an enctype attribute, the request 
> parameters appended 
> >> to the uri in the form action attribute are either not 
> send to Cocoon 
> >> or are not received by Cocoon - I tested this with Tomcat 
> and Jetty. 
> >> So I guess this is by design.
> >> Now, the portal rewrites all links in order to process 
> them correctly.
> >> When you use the portal-html-eventlink transformer, it rewrites a 
> >> form action to something like "portal?cocoon-portal-action=24".
> >> So, if then also an enctype attribute is set for the form, Cocoon 
> >> never receives the request parameter.
> >> Instead putting this into a hidden field works. So I think this is 
> >> not a bug of the portal.
> >> If you want to have a form with an enctype attribute you 
> have either 
> >> to expand the html-eventlink transformer so that it 
> creates in this 
> >> case a form element without request parameters in the action, but 
> >> with some hidden input fields or you have to write your own 
> >> transformer for this. You can use the BasketTransformer as 
> a starting 
> >> point.
> >>
> >> HTH
> >> Carsten
> >>
> >>  
> >>
> >>> -----Original Message-----
> >>> From: Jean-Christophe Kermagoret 
> [mailto:jck@babelobjects.com] Sent: 
> >>> Thursday, April 01, 2004 10:11 AM
> >>> To: dev@cocoon.apache.org
> >>> Subject: Trying to solve a bug
> >>>
> >>> Hi,
> >>> I'm trying to solve a bug but I need a little information.
> >>>
> >>> Here is the bug I open it in bugzilla.
> >>>
> >>> I need to use a upload form with the new cocoon portal. I use the 
> >>> portal-html-eventlink to transform the action attribute. 
> The problem 
> >>> is enctype attribute is deleted by the portal-html-eventlink 
> >>> transformer.
> >>>
> >>>
> >>> I modified the tranformer to have the enctype attribute 
> if present. 
> >>> I pass the continuation id in an hidden field, but when 
> the pipeline 
> >>> is processed, the {request-param:continuation-id} is 
> empty but I saw 
> >>> the uploaded file in the upload-directory.
> >>>
> >>> If I don't use the transformer then I can set up a 
> pipeline in the 
> >>> action attribute and I see the continuation-id
> >>>
> >>> So,
> >>> I think there is a problem with the multipart request. 
> The fact to 
> >>> put the enctype data is not enough. Why the portal 
> doesn't see the 
> >>> request param ?
> >>>
> >>> I tried to track the processing of the portal with Eclipse but I 
> >>> have non synchronized data between my souce and the 
> classes that are 
> >>> generated so it's difficult to know what's happening.
> >>>
> >>> Can anybody give me a little info to help me debugging this ?
> >>>
> >>> --
> >>>
> >>> Jean-Christophe Kermagoret
> >>> jck@BabelObjects.Com
> >>>
> >>>
> >>>
> >>>
> >>>   
> >>
> >>
> >>
> >>  
> >>
> >
> >
> 
> 
> -- 
> 
> Jean-Christophe Kermagoret
> jck@BabelObjects.Com
> 
> 
> 
> 


Mime
View raw message