A document has been updated:
http://cocoon.zones.apache.org/daisy/documentation/682.html
Document ID: 682
Branch: main
Language: default
Name: WSRP Support (unchanged)
Document Type: Document (unchanged)
Updated on: 8/30/05 11:56:40 AM
Updated by: Carsten Ziegeler
A new version has been created, state: publish
Parts
=====
Content
-------
This part has been updated.
Mime type: text/xml (unchanged)
File name: (unchanged)
Size: 16860 bytes (previous version: 17408 bytes)
Content diff:
(13 equal lines skipped)
Portal supports verson 1.0 of the WSRP specification by integrating the
Apache
WSRP4J framework.</p>
--- <p>For further information about WSRO see:<br/>
--- - Oasis: Committee that defines the WSRP specification<br/>
---
--- <a
href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp</a>
--- <br/>
--- - Apache: Standard open source implementation of WSRP in Java <br/>
--- <a
href="http://ws.apache.org/wsrp4j">http://ws.apache.org/wsrp4j</a></p>
+++ <p>For further information about WSRP see:</p>
--- <h1> Enabling WSRP</h1>
+++ <ul>
+++ <li>Oasis: Committee that defines the WSRP
+++ specification (<a
href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp</a>)
+++ </li>
+++ <li>Apache: Standard open source implementation of WSRP in
+++ Java (<a href="http://ws.apache.org/wsrp4j">http://ws.apache.org/wsrp4j</a>)
+++ </li>
+++ </ul>
+++ <h1>Enabling WSRP</h1>
+++
<p>The demo of the Cocoon Portal included in the Cocoon distribution comes
with
WSRP enabled. However, depending on your use case it's possible to
disable/enable the WSRP support of the portal in the cocoon.xconf. If you're
(21 equal lines skipped)
<!-- This is the wsrp configuration containing the producers etc.
-->
<parameter name="wsrp-config" value="profiles/wsrp-config.xml"/>
</coplet-adapter>
--- </component></pre>
+++ </component>
--- <pre><!-- Renderer Aspect configuration -->
+++ <!-- Renderer Aspect configuration -->
<component
class="org.apache.cocoon.components.ExtendedComponentSelector"
role="org.apache.cocoon.portal.layout.renderer.aspect.RendererAspectSelector">
...
<aspect
class="org.apache.cocoon.portal.wsrp.adapter.WSRPPortletWindowAspect"
logger="portal" name="wsrp-window"/>
...
--- </component></pre>
+++ </component>
--- <pre> <!-- User Context Provider for WSRP -->
+++ <!-- User Context Provider for WSRP -->
<component
class="org.apache.cocoon.portal.wsrp.consumer.UserContextProviderImpl"
logger="portal"
role="org.apache.cocoon.portal.wsrp.consumer.UserContextProvider"/></pre>
(179 equal lines skipped)
<h1>Using WSRP portlets</h1>
--- <p> As usual the final step is to add the WSRP portlet somewhere in the
--- portal page<br/>
--- of the user. The demo portal already contains a WSRP portlet: if you log
--- into<br/>
--- the portal there is a separate tab named "WSRP" containing the
portlet.</p>
+++ <p>As usual the final step is to add the WSRP portlet somewhere in the
portal
+++ page of the user. The demo portal already contains a WSRP portlet: if you
log
+++ into the portal there is a separate tab named "WSRP" containing the
portlet.</p>
--- <p> If you look into the layout file at "profiles/layout/portal.xml", you
--- will see<br/>
--- the usage of the portlet:</p>
+++ <p>If you look into the layout file at "profiles/layout/portal.xml", you
will
+++ see the usage of the portlet:</p>
--- <p> <coplet-layout name="coplet"
layout-renderer-name="wsrp-window">
--- <br/>
--- <coplet-instance-data>WSRP-Test-1</coplet-instance-data><br/>
--- </coplet-layout></p>
+++ <pre> <coplet-layout name="coplet"
layout-renderer-name="wsrp-window">
+++ <coplet-instance-data>WSRP-Test-1</coplet-instance-data>
+++ </coplet-layout></pre>
--- <p> It is required that the coplet layout uses the special "wsrp-window"
--- renderer<br/>
--- for rendering a WSRP portlet. The "wsrp-window" renderer is responsible
for
--- <br/>
--- rendering the special title bar containing the icons for the WSRP
functions
--- <br/>
--- like view, edit or help. </p>
+++ <p>It is required that the coplet layout uses the special "wsrp-window"
renderer
+++ for rendering a WSRP portlet. The "wsrp-window" renderer is responsible
+++ for rendering the special title bar containing the icons for the WSRP
+++ functions like view, edit or help.</p>
--- <p> III. d) Layouting<br/>
--- -----------------</p>
+++ <h1>Layouting</h1>
--- <p> The WSRP specification defines some css styles for the consumer. The
Cocoon
--- Portal<br/>
--- already contains an empty css definition for WSRP. You'll find the file in
the
--- <br/>
--- corresponding skin directory: "css/wsrp.css".</p>
+++ <p>The WSRP specification defines some css styles for the consumer. The
Cocoon
+++ Portal already contains an empty css definition for WSRP. You'll find the
file
+++ in the corresponding skin directory: "css/wsrp.css". The following sections
can
+++ be configured: fonts, messages, sections, tables, forms and menus.</p>
--- <p> The following sections can be configured: fonts, messages, sections,
--- tables, forms<br/>
--- and menus.</p>
+++ <h1>Pipelining</h1>
--- <p> III. b) Pipelining<br/>
--- -----------------------------</p>
---
--- <p> The WSRP portlet might use/display different resources like images.
--- Therefore the<br/>
--- portal sitemap contains a special pipeline for delivering these
resources:
+++ <p>The WSRP portlet might use/display different resources like images.
Therefore
+++ the portal sitemap contains a special pipeline for delivering these
resources:
</p>
--- <p> <!-- WSRP Resources --><br/>
--- <map:match pattern="wsrprsc"><br/>
--- <map:read src="{request-param:wsrp-url}"/><br/>
--- </map:match></p>
+++ <pre> <!-- WSRP Resources -->
+++ <map:match pattern="wsrprsc">
+++ <map:read src="{request-param:wsrp-url}"/>
+++ </map:match></pre>
--- <p> III. e) Logging<br/>
--- ---------------------</p>
+++ <h1>Logging</h1>
--- <p> The WSRP part of the Cocoon Portal uses the standard portal logger
for
--- all<br/>
--- logging purpuses. By default, all log entries go into the portal.log in
--- <br/>
--- the logs directory. You can adjust the settings in the logkit.xconf.</p>
+++ <p>The WSRP part of the Cocoon Portal uses the standard portal logger for
all
+++ logging purpuses. By default, all log entries go into the portal.log in the
+++ logs directory. You can adjust the settings in the logkit.xconf.</p>
--- <p> Providing User Information</p>
+++ <h1>Providing User Information</h1>
--- <p> WSRP allows exchanging information about the user between the
consumer
--- and the<br/>
--- producer. As these information are portal application specific, the
default
--- <br/>
--- implementation of the Cocoon Portal is only sending the user id (used to
--- <br/>
--- authenticate the user).<br/>
--- It is possible to customize this information by implementing a<br/>
--- org.apache.cocoon.portal.wsrp.consumer.UserContextProvider and
configuring
--- it<br/>
--- in the cocoon.xconf.</p>
+++ <p>WSRP allows exchanging information about the user between the consumer
and
+++ the producer. As these information are portal application specific, the
default
+++ implementation of the Cocoon Portal is only sending the user id (used to
+++ authenticate the user).</p>
--- <h2> Customizing the WSRP4J integration</h2>
+++ <p>It is possible to customize this information by implementing a
+++ org.apache.cocoon.portal.wsrp.consumer.UserContextProvider and configuring
it in
+++ the cocoon.xconf.</p>
--- <h2> If you have special needs it's possible to customize the WSRP4J
--- integration. <br/>
--- The integration itself is implement in several components you can
subclass
--- <br/>
--- and then use your own implementation.</h2>
+++ <h1>Customizing the WSRP4J integration</h1>
--- <h2> You can specify your own implementation using the following
parameter
--- names as a<br/>
--- configuration on the WSRPAdapter:<br/>
--- user-registry-class : org.apache.wsrp4j.consumer.UserRegistry.<br/>
--- session-handler-class : org.apache.wsrp4j.consumer.SessionHandler<br/>
--- producer-registry-class :
org.apache.wsrp4j.consumer.ProducerRegistry<br/>
--- portlet-registry-class : org.apache.wsrp4j.consumer.PortletRegistry<br/>
--- url-template-composer-class :
org.apache.wsrp4j.consumer.URLTemplateComposer
--- <br/>
--- url-rewriter-class : org.apache.wsrp4j.consumer.URLRewriter<br/>
--- portlet-driver-registry-class :
--- org.apache.wsrp4j.consumer.PortletDriverRegistry<br/>
--- url-generator-class : org.apache.wsrp4j.consumer.URLGenerator<br/>
--- portlet-driver-class : org.apache.wsrp4j.consumer.PortletDriver</h2>
+++ <p>If you have special needs it's possible to customize the WSRP4J
+++ integration. The integration itself is implement in several components you
can
+++ subclass and then use your own implementation.</p>
+++ <p>You can specify your own implementation using the following parameter
names
+++ as a configuration on the WSRPAdapter:</p>
+++
+++ <ul>
+++ <li>user-registry-class : org.apache.wsrp4j.consumer.UserRegistry.</li>
+++ <li>session-handler-class : org.apache.wsrp4j.consumer.SessionHandler</li>
+++ <li>producer-registry-class :
org.apache.wsrp4j.consumer.ProducerRegistry</li>
+++ <li>portlet-registry-class : org.apache.wsrp4j.consumer.PortletRegistry</li>
+++ <li>url-template-composer-class :
org.apache.wsrp4j.consumer.URLTemplateComposer
+++ </li>
+++ <li>url-rewriter-class : org.apache.wsrp4j.consumer.URLRewriter</li>
+++ <li>portlet-driver-registry-class :
+++ org.apache.wsrp4j.consumer.PortletDriverRegistry</li>
+++ <li>url-generator-class : org.apache.wsrp4j.consumer.URLGenerator</li>
+++ <li>portlet-driver-class : org.apache.wsrp4j.consumer.PortletDriver</li>
+++ </ul>
+++
<h2>Adding Producers at runtime</h2>
<p>The Cocoon Portal uses the wsrp configuration (as explained above) to
(9 equal lines skipped)
method:</p>
<pre>ServiceSelector selector =
(ServiceSelector)serviceManager.lookup(CopletAdapter.ROLE + "Selector");
--- WSRPAdapter adapter = (WSRPAdapter)selector.select("wsrp");</pre>
+++ WSRPAdapter adapter = (WSRPAdapter)selector.select("wsrp");
--- <pre>adapter.addProducer(description);</pre>
+++ adapter.addProducer(description);
--- <pre>selector.release(adapter);
+++ selector.release(adapter);
serviceManager.release(selector);</pre>
</body>
(1 equal lines skipped)
Fields
======
no changes
Links
=====
no changes
Custom Fields
=============
no changes
Collections
===========
no changes