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


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]





Reply via email to