Author: thomas.heute(a)jboss.com
Date: 2008-07-30 06:58:23 -0400 (Wed, 30 Jul 2008)
New Revision: 11654
Added:
docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/modules/coordination.xml
Modified:
docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/master.xml
Log:
Adding coordination chapter
Modified: docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/master.xml
===================================================================
--- docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/master.xml 2008-07-30 10:50:28
UTC (rev 11653)
+++ docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/master.xml 2008-07-30 10:58:23
UTC (rev 11654)
@@ -50,6 +50,7 @@
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/tutorials.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/xmldescriptors.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/urls.xml" />
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/coordination.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/errorhandling.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/contentintegration.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/widgetintegration.xml" />
Copied: docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/modules/coordination.xml
(from rev 11653,
docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules/coordination.xml)
===================================================================
--- docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/modules/coordination.xml
(rev 0)
+++
docs/tags/JBoss_Portal_2_7_0_BETA1/referenceGuide/en/modules/coordination.xml 2008-07-30
10:58:23 UTC (rev 11654)
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="coordination">
+ <chapterinfo>
+ <author>
+ <firstname>Boleslaw</firstname>
+ <surname>Dawidowicz</surname>
+ </author>
+ </chapterinfo>
+ <title>JBoss Portal Explicit Coordination</title>
+ <sect1>
+ <title>Explicit vs implicit coordination</title>
+ <para>
+ Portlet 2.0 coordination features are mediated by the portal between several
+ portlet windows, therefore the portal at runtime needs to be able to define
+ relationships between windows. Relationship can be established from an implicit
+ model (i.e a set of predicates applied on some state that will answer
TRUE/FALSE
+ to the question are the portlet windows foo and bar in a relationship) or from
an
+ explicit model (that states that foo and bar have a relationship). The implicit
+ model is very good for defining default configuration as it does not require
much
+ configuration but is not able to cover the exceptional case, that's why we
need
+ to combine it with an explicit model that will take precedence over the
implicit
+ model, it is the well known principle of convention over configuration.
+ </para>
+ <para>
+ Currently all explicit coordination happens only in the scope of the same page.
+ </para>
+ </sect1>
+ <sect1>
+ <title>Bindings and wirings</title>
+
+ <sect2>
+ <title>Event wiring</title>
+
+ <para>
+ Wires JSR-286 events. With implicit wirings the event producer and the
+ consumer declares the same event namespace and local name to get event
+ delivered in the scope of the same page. With explicit wiring any pairs of
+ Window:Event can be connected.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Parameter binding</title>
+
+ <para>
+ Binds JSR-286 shared parameters. With implicit binding parameters with the
+ same public name are shared. With explicit binding any public parameters can
+ share values. Windows for which such binding applies are explicitly defined.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Alias binding</title>
+
+ <para>
+ Explicit alias binding define a name of page scoped parameter that will
apply
+ value to specified portlet windows public parameters.
+ </para>
+
+
<programlisting><![CDATA[http://localhost:8080/portal/portal/default/Coordination+Samples?aliasBinding1=someValue]]></programlisting>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Coordination configuration</title>
+
+ <para>
+ Configuration takes place in -object.xml file. The
<coordination> tag
+ can be used in both <page> and <portal> tags.
When used in
+ <portal> tag only <implicit-mode> tag can be
defined for wirings
+ and bindings:
+ </para>
+
+ <programlisting role="XML"><![CDATA[<portal>
+
+ ...
+
+ <coordination>
+ <bindings>
+ <implicit-mode>TRUE</implicit-mode>
+ </bindings>
+ <wirings>
+ <implicit-mode>FALSE</implicit-mode>
+ </wirings>
+ </coordination>
+
+</portal>]]></programlisting>
+ <para>
+ When used within the <page> tag coordination event wirings and
bindings
+ can be defined:</page></para>
+
+ <programlisting role="XML"><![CDATA[<coordination>
+
+ <wirings>
+ <implicit-mode>TRUE</implicit-mode>
+ <event-wiring>
+ <name>eventWiring1</name>
+ <sources>
+ <window-coordination>
+ <window-name>ShoppingCatalogPortletWindow1</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ </sources>
+ <destinations>
+ <window-coordination>
+ <window-name>ShoppingCartPortletWindow2</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ <window-coordination>
+ <window-name>ShoppingCartPortletWindow3</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ </destinations>
+ </event-wiring>
+ <event-wiring>
+ <name>eventWiring2</name>
+ <sources>
+ <window-coordination>
+ <window-name>ShoppingCatalogPortletWindow2</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ </sources>
+ <destinations>
+ <window-coordination>
+ <window-name>ShoppingCartPortletWindow1</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ <window-coordination>
+ <window-name>ShoppingCartPortletWindow4</window-name>
+ <qname>{urn:jboss:portal:samples:event}CartEvent</qname>
+ </window-coordination>
+ </destinations>
+ </event-wiring>
+ </wirings>
+
+
+ <bindings>
+ <implicit-mode>FALSE</implicit-mode>
+
+ <parameter-binding>
+ <id>parameterBinding1</id>
+ <window-coordination>
+ <window-name>SomePortletWindow1</window-name>
+ <qname>foo</qname>
+ </window-coordination>
+ <window-coordination>
+ <window-name>SomePortletWindow2</window-name>
+ <qname>foo</qname>
+ </window-coordination>
+ <window-coordination>
+ <window-name>SomePortletWindow3</window-name>
+ <qname>foo</qname>
+ </window-coordination>
+ </parameter-binding>
+
+ <parameter-binding>
+ <id>parameterBinding2</id>
+ <window-coordination>
+ <window-name>SomePortletWindow1</window-name>
+ <qname>bar1</qname>
+ </window-coordination>
+ <window-coordination>
+ <window-name>SomePortletWindow2</window-name>
+ <qname>{urn:jboss:portal:samples:daa1}daa1</qname>
+ </window-coordination>
+ </parameter-binding>
+
+ <alias-binding>
+ <id>aliasBinding1</id>
+ <qname>foo</qname>
+ </alias-binding>
+
+ <alias-binding>
+ <id>aliasBinding2</id>
+ <qname>bar1</qname>
+ <qname>{urn:jboss:portal:samples:daa2}daa2</qname>
+ </alias-binding>
+
+ </bindings>
+</coordination>]]></programlisting>
+
+ <sect2>
+ <title><implicit-mode></title>
+
+ <para>
+ This tag can be applied for both <bindings> and
<wirings>
+ tags. It defines if implicit coordination is enabled or disabled for
+ this given portal object. Value of this setting is cascaded to all
+ children in portal object tree unless overwritten somewhere in the
+ hierarchy. If no <implicit-mode> is defined in portal
object tree
+ default value is TRUE.
+ </para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Coordination Samples</title>
+ <para>
+ JBoss Portal comes with several examples in 'Coordination Samples' page.
Its good
+ to follow them looking at the configuration file that can be found in
+ portal-coordination-samples.war/WEB-INF/default-object.xml
+ </para>
+ </sect1>
+</chapter>
\ No newline at end of file