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
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:[EMAIL PROTECTED] Sent: Thursday, April 01, 2004 10:11 AM
To: [EMAIL PROTECTED]
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 [EMAIL PROTECTED]
--
Jean-Christophe Kermagoret [EMAIL PROTECTED]
