[
https://issues.apache.org/jira/browse/COCOON-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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"/>
</map:match>
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"/>
</fragment>
<!-- 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">
<value>samples/blocks/portal/portlets/hello2</value>
</preference>
</fragment>
Thanks.
> CocoonPortlet needs to allow overriding servlet-path parameter with
> preferences.
> --------------------------------------------------------------------------------
>
> Key: COCOON-1998
> URL: https://issues.apache.org/jira/browse/COCOON-1998
> 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 end-users.
> 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.