cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Woonsan Ko (JIRA)" <>
Subject [jira] Updated: (COCOON-1998) CocoonPortlet needs to allow overriding servlet-path parameter with preferences.
Date Thu, 01 Feb 2007 11:01:05 GMT


Woonsan Ko updated COCOON-1998:

    Attachment: servlet-path-pref-diff2.txt

Guided by Carsten, I modified my patch to use local 'servlet-path' variable, and change the
name of the init-parameter to 'servlet-path-overriding'.
Also, I modified the portlet.xml to set this parameter to 'true' by default.

FYI, I tested like the following steps using Apache Jetspeed 2:

0. Deploy cocoon.war into Apache Jetspeed2. Usually just put cocoon.war in /jetseed/WEB-INF/deploy/.

1. Copy 'cocoon/samples/blocks/portal/portlets/hello.html' to 'cocoon/samples/blocks/portal/portlets/hello2.html',
and edit 'hello2.html' to display different content.

2. Add a map in the 'cocoon/samples/blocks/portal/portlets/sitemap.xmap' like the following:
      <map:match pattern="hello2/**">
        <map:read mime-type="text/html" src="hello2.html"/>

3. Add the following fragments into 'jetspeed/WEB-INF/pages/default-page.psml like the following:

    <!-- The first cocoon portlet using default 'servlet-path'. -->
    <fragment id="dp-19" type="portlet" name="cocoon::CocoonPortlet">
      <property name="row" value="7"/>
      <property name="column" value="0"/>

    <!-- The second cocoon portlet overriding 'servlet-path' by preference. -->
    <fragment id="dp-20" type="portlet" name="cocoon::CocoonPortlet">
      <property name="row" value="8"/>
      <property name="column" value="0"/>
      <preference name="servlet-path" readOnly="true">


> CocoonPortlet needs to allow overriding servlet-path parameter with preferences.
> --------------------------------------------------------------------------------
>                 Key: COCOON-1998
>                 URL:
>             Project: Cocoon
>          Issue Type: Improvement
>          Components: Blocks: Portal
>    Affects Versions: 2.1.11-dev (Current SVN)
>            Reporter: Woonsan Ko
>         Assigned To: Carsten Ziegeler
>             Fix For: 2.1.11-dev (Current SVN)
>         Attachments: servlet-path-pref-diff.txt, servlet-path-pref-diff2.txt
> The CocoonPortlet in BRANCH_2_1_X does not allow overriding the *servlet-path* init parameter
by preferences.
> If the CocoonPortlet reads preferences to override the 'servlet-path', portal users can
use manycoplet fragments without tedious portlet tag additions.
> FYI, some portals such as Jetspeed 2 allows inline preference settings, not allowed for
> Without this feature, portal users have to add portlet tags in the portlet.xml whenever
they need to use another coplet in the portal site.
> To test properly for the patch, you should add init-parameter in the cocoon/WEB-INF/portlet.xml
like the
> following:
>   <portlet>
>     <portlet-name>CocoonPortlet</portlet-name>
>     ...
>     <init-param>
>       <name>allow-preferences</name>
>       <value>true</value>
>     </init-param>
>     ...
>   </portlet>
> ManagedCocoonPortlet will read preferences just when the above parameter is set to true.
(I borrowed this from GenericServletPortlet in Apache portal bridges.)
> I've tested this modification under Jetspeed-2 (/WEB-INF/pages/default-page.psml).
> The portlet fragment can be added with preferences like the following:
>         <fragment id="dp-19" type="portlet" name="cocoon::CocoonPortlet">
>             <property name="row" value="6"/>
>             <property name="column" value="0"/>
>             <preference name="servlet-path" readOnly="true">
>                 <value>samples/blocks/portal/portlets/helloworld</value>
>             </preference>
>         </fragment>

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message