Chris,

sure, here you are.  I don't know if there are any version dependencies
(I'd guess not), but we compiled this against the C2.0.3 jar, so if you are
on 2.0.3 it should work fine.  The path is
org/apache/cocoon/transformation/EncodeURLTransformer.class.

I've also added a bug report on bugzilla, so hopefully this will get fixed
in 2.1.

-Christopher

(See attached file: EncodeURLTransformer.class)



hi,

sorry to write directly to you.

can you send my by attachement your compiled EncodeURLTransformer.class


greetings chris

-----Ursprüngliche Nachricht-----
Von: Christopher Painter-Wakefield [mailto:paint007@;mc.duke.edu]
Gesendet: Dienstag, 22. Oktober 2002 19:34
An: [EMAIL PROTECTED]
Betreff: Re: url rewriting



Chris,

I don't know much about actions, so I can't help you too much with that.
However, I can offer some hints on the EncodeURLTransformer.  Basically,
it has a bug.  The first time you hit a page, it fails to rewrite the
URLs. This works for some frameworks, in which the first page is a login
page, with the form action manually rewritten in XSP, and then all
subsequent pages are rewritten.  Someone else posted on the mailing list
a while back
(http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=103241658409677&w=2)
,
but it doesn't appear to have been picked up by the Cocoon developers;
it's been on my to-do list for a little while to add this to bugzilla,
so I'll try to take the time to do that today.

In the meantime, to fix the bug, we changed the source code for
EncodeURLTransformer, compiled it, and put it in our cocoon.jar in place
of the old one.  I think you can also just put it in WEB-INF/classes, if
you are using Tomcat, but we didn't try that.  Anyway, you can use the
fix suggested in the link above, or you can try ours.  Ours is maybe a
bit simpler, but you tend to get URLs rewritten on the first page
regardless of whether the browser needs it, which doesn't hurt anything
but might bother some people.  Our fix is:

replace:
      if ( request.isRequestedSessionIdFromURL()) {
with:
      if ( request.isRequestedSessionIdFromURL() ||
this.session.isNew()) {

in the setup() method.

-Christopher


Attachment: EncodeURLTransformer.class
Description: Binary data

---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to