You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Mark Schrijver <ma...@mobillion.nl> on 2006/03/06 11:13:42 UTC
Problems with encodeURL transformer
Hello all,
I have the following entry in my sitemap, in the transformer section:
<map:transformer name="encodeURL"
src="org.apache.cocoon.transformation.EncodeURLTransformer">
<!-- default configuration, explicitly defined -->
<include-name>.*/@href|.*/@action|frame/@src</include-name>
<exclude-name>img/@src|(a/@href|iframe/@src)=.*adserver</exclude-name>
</map:transformer>
my pipeline looks like this:
<map:pipelines>
<map:pipeline internal-only="false" type="caching">
<map:match pattern="">
<map:act type="session">
<map:parameter name="action" value="create"/>
</map:act>
<!--map:act type="determineMobileSite">
<map:redirect-to uri="{redirect}" />
</map:act-->
<map:redirect-to uri="/mobile/portal" />
</map:match>
<map:match pattern="portal">
<map:act type="session">
<map:parameter name="action" value="create"/>
</map:act>
<map:act type="determineMobileSite">
<map:redirect-to uri="{redirect}" />
</map:act>
<map:generate type="serverpages"
src="blogContext:/srcPaginasMobile/pgPortal.xsp" />
<map:transform type="cinclude">
<map:parameter name="support-caching" value="true" />
<map:parameter name="purge" value="false" />
<map:parameter name="parallel" value="true" />
</map:transform>
<map:transform type="i18n">
<map:parameter name="locale"
value="{session-attr:taal}" />
</map:transform>
<map:transform type="xslt"
src="blogContext:/xsltPaginasMobile/pgPortal.xsl">
<map:parameter name="siteCss"
value="{session-attr:siteDir}" />
<map:parameter name="sphereCss"
value="{session-attr:sphereDir}" />
</map:transform>
<map:transform type="encodeURL"/>
<map:serialize type="xhtml" />
</map:match>
<map:match pattern="whatis">
<map:act type="session">
<map:parameter name="action" value="create"/>
</map:act>
<map:act type="determineMobileSite">
<map:redirect-to uri="{redirect}" />
</map:act>
<map:generate type="serverpages"
src="blogContext:/srcPaginasMobile/pgWhatIsABlog.xsp" />
<map:transform type="cinclude">
<map:parameter name="support-caching" value="true" />
<map:parameter name="purge" value="false" />
<map:parameter name="parallel" value="true" />
</map:transform>
<map:transform type="i18n">
<map:parameter name="locale"
value="{session-attr:taal}" />
</map:transform>
<map:transform type="xslt"
src="blogContext:/xsltPaginasMobile/pgWhatIsABlog.xsl">
<map:parameter name="siteCss"
value="{session-attr:siteDir}" />
<map:parameter name="sphereCss"
value="{session-attr:sphereDir}" />
</map:transform>
<map:transform type="encodeURL"/>
<map:serialize type="xhtml" />
</map:match>
</map:pipeline>
My problem is the fopllowing,
I enter the site at the root, and get redirected to the portal, this works fine.
Here the determineMobileSite is triggered, this is a java class that extends AbstractDatabaseAction
In this class I create a session object in which I store various bits of information.
Now I have a browser that does not support session cookies, so I have to use the encodeURL transformer.
In my portal page, I have a menu with href links. From what I read in the documentation and what I set up in my sitemap, this href SHOULD be encoded by the encodeURL transformer to contain the jsessionid. However, this does not matter. This results in a new session being created each time I click a link. Which is not what I want.
If anyone can tell me where I need to make changes to make this work, please et me know.
Mark Schrijver
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org