Author: jaredmorgs
Date: 2012-10-03 02:49:18 -0400 (Wed, 03 Oct 2012)
New Revision: 8859
Added:
epp/docs/branches/6.0/Reference_Guide/en-US/extras/PortletBridge_Configuration/PortletResource.java
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml
epp/docs/branches/6.0/Reference_Guide/publican.cfg
Log:
BZ#856417 - Incorporated comments from Ken surrounding the Reference Guide. All comments
incorp'd except for one relating to the RF supported components, which is NEEDINFO
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml 2012-10-02 15:43:15
UTC (rev 8858)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml 2012-10-03 06:49:18
UTC (rev 8859)
@@ -8,8 +8,22 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>6.0.0-2</revnumber>
+ <date>Wed Oct 3 2012</date>
+ <author>
+ <firstname>Jared</firstname>
+ <surname>Morgan</surname>
+ <email/>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>BZ#856417 - Comments incorporated from Ken Finnegan. NEEDINFO
stated in remarks in section. Search for the BZ number to find instances requiring review.
</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>6.0.0-1</revnumber>
- <date>Thu Sep 19 2012</date>
+ <date>Mon Sep 24 2012</date>
<author>
<firstname>Jared</firstname>
<surname>Morgan</surname>
Added:
epp/docs/branches/6.0/Reference_Guide/en-US/extras/PortletBridge_Configuration/PortletResource.java
===================================================================
---
epp/docs/branches/6.0/Reference_Guide/en-US/extras/PortletBridge_Configuration/PortletResource.java
(rev 0)
+++
epp/docs/branches/6.0/Reference_Guide/en-US/extras/PortletBridge_Configuration/PortletResource.java 2012-10-03
06:49:18 UTC (rev 8859)
@@ -0,0 +1,88 @@
+package org.richfaces.demo.common;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.portlet.MimeResponse;
+import javax.portlet.ResourceURL;
+
+/**
+ * @author <a
href="http://community.jboss.org/people/kenfinni">Ken
Finnigan</a>
+ */
+@ManagedBean(name = "portletRes")
+public class PortletResource implements Map<String, String> {
+
+ @Override
+ public void clear() {
+ }
+
+ @Override
+ public boolean containsKey(Object arg0) {
+ return true;
+ }
+
+ @Override
+ public boolean containsValue(Object arg0) {
+ return true;
+ }
+
+ @Override
+ public Set<java.util.Map.Entry<String, String>> entrySet() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public String get(Object resourceKey) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ String resourceUrl = null;
+
+ if (null != resourceKey) {
+ ExternalContext extCon = context.getExternalContext();
+ MimeResponse response = (MimeResponse) extCon.getResponse();
+ ResourceURL resUrl = response.createResourceURL();
+ resUrl.setResourceID(resourceKey.toString());
+ resourceUrl = resUrl.toString();
+ }
+ return resourceUrl;
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return false;
+ }
+
+ @Override
+ public Set<String> keySet() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public String put(String arg0, String arg1) {
+ return null;
+ }
+
+ @Override
+ public void putAll(Map<? extends String, ? extends String> arg0) {
+ }
+
+ @Override
+ public String remove(Object arg0) {
+ return null;
+ }
+
+ @Override
+ public int size() {
+ return 0;
+ }
+
+ @Override
+ public Collection<String> values() {
+ return Collections.emptySet();
+ }
+
+}
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
===================================================================
---
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2012-10-02
15:43:15 UTC (rev 8858)
+++
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2012-10-03
06:49:18 UTC (rev 8859)
@@ -52,11 +52,4 @@
</varlistentry>
</variablelist>
</section>
- <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-faces_config.xml">
- <title>faces-config.xml</title>
- <para>
- The <parameter>PortletViewHandler</parameter> ensures that
each JSF portlet instance is properly namespaced.
- </para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default199.xml"
parse="text"/></programlisting>
- </section>
</section>
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml
===================================================================
---
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml 2012-10-02
15:43:15 UTC (rev 8858)
+++
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml 2012-10-03
06:49:18 UTC (rev 8859)
@@ -165,39 +165,24 @@
</para>
<programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default230.xml"
parse="text"/></programlisting>
</section>
- <section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-General_Error_Handling">
- <title>General Error Handling</title>
- <note>
- <para>
+<!--BZ#856417 - Commented out the section "General Error Handling" because
it relates to Seam, which isn't supported at time of updating this section of
PBR2.--><!--<section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-General_Error_Handling">
+ <title>General Error Handling</title>
+ <note>
+ <para>
If you are developing a <application>Seam</application>
portlet you can now use <filename>pages.xml</filename> for all error
handling.
</para>
- </note>
- <para>
+ </note>
+ <para>
The following configuration may be used to handle exceptions. This is also
useful for handling session timeout and
<literal>ViewExpiredExceptions</literal>.
</para>
- <note>
- <title>The Location Element</title>
- <para>
+ <note>
+ <title>The Location Element</title>
+ <para>
The location element must contain the
<filename>/faces/</filename> mapping to work properly.
</para>
- </note>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default231.xml"
parse="text"/></programlisting>
- </section>
- <section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Custom_Ajax_Error_Handling">
- <title>Custom Ajax Error Handling</title>
- <para>
- By default, error handling is sent to a standard servlet page for Ajax
requests. To handle the error inside the portlet, use the following javascript:
- </para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default232.xml"
parse="text"/></programlisting>
- <para>
- Also, add the following to <filename>web.xml</filename>.
- </para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default233.xml"
parse="text"/></programlisting>
- <para>
- Read more about these settings here <ulink
url="http://docs.jboss.org/richfaces/3.3.X/3.3.3.Final/en/devguide/h...
Errors and Session Expiration Handling</ulink>
- </para>
- </section>
- <section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Communication_Between_Your_Portlets">
+ </note>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default231.xml"
parse="text"/></programlisting>
+</section>--><!--BZ#856417 - Deleted the section "Custom Ajax Error
Handling" because it isn't supported at time of updating this section of PBR2.
See the 5.2 version of the Reference Guide for the original section.--> <section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Communication_Between_Your_Portlets">
<title>Communication Between Your Portlets</title>
<para>
There are four different ways to send messages, events, and parameters
between portlets which are contained in different <literal>ears/wars</literal>
or contained in the same <literal>war</literal>.
@@ -243,22 +228,12 @@
</para>
<programlisting language="XML"
role="XML">#{httpSessionScope['your parameter name']}
</programlisting>
- <para>
- <note>
- <title>Note to Portlet Developers</title>
- <para>
- <literal>#{httpSessionScope}</literal> was
implemented after <literal>2.0.0.BETA</literal>. If you are using the
<literal>1.0</literal> bridge or pre
<literal>2.0.0.BETA</literal>, you must use the
<literal>EL</literal> variable
<literal>#{sessionApplicationScope}</literal>.
- </para>
- </note>
- For more information about which <literal>EL</literal>
variables are provided by the bridge, read <ulink
url="http://jcp.org/aboutJava/communityprocess/edr/jsr329/index2.htm...
6.5.1 of the JSR-329 specification</ulink>.
- </para>
</section>
</section>
<section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Linking_to_PortletJSF_Pages_Using_houtputlink">
<title>Linking to a Facelets page within the same portlet</title>
<para>To link any JSF/Facelets page within a portlet web application, use the
following code.
</para>
- <remark>BZ#856417 - This code sample is the same in the Confluence
docs.</remark>
<programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Portlet_Development/default238.xml"
parse="text"/></programlisting>
</section>
<section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Redirecting_to_an_External_Page_or_Resource">
@@ -275,9 +250,8 @@
}
}</programlisting>
</section>
- <section
id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge-Using_Provided_EL_Variables">
+ <section id="sect-Using_Provided_EL_Variables">
<title>Using Provided EL Variables</title>
- <remark>BZ#856417 - Added the table from Confluence</remark>
<para>
All <literal>EL</literal> variables found in the JSR-329 (Portlet
2.0) specification are available in the JBoss Portlet Bridge. </para>
<table frame="all" pgwide="1">
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge.xml
===================================================================
---
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge.xml 2012-10-02
15:43:15 UTC (rev 8858)
+++
epp/docs/branches/6.0/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge.xml 2012-10-03
06:49:18 UTC (rev 8859)
@@ -11,10 +11,10 @@
</section>
<section>
<title>JBoss Portlet Bridge</title>
- <para>The JBoss Portlet Bridge is a non-final draft implementation of the
JSR-329 specification. It supports the JSF 1.2 and 2.0 runtime within a JSR 168 or 286
portlet.
-The project follows the spec from JSR-301 to JSR-329, with version 3.0 of the bridge
compatible with JSF 2.0 and RichFaces 4.0.</para>
+ <para>The JBoss Portlet Bridge is an implementation of the JSR-329
specification. It supports the JSF 2.0 runtime within a JSR 168 or 286 portlet.
+Version 3.x of the bridge is compatible with JSF 2.0 and RichFaces 4.x.</para>
<para>
- JBoss Portlet Bridge allows JSF applications to run using supported JBoss frameworks
such as <application>Seam</application> and
<application>RichFaces</application>.
+ JBoss Portlet Bridge allows JSF applications to run using supported JBoss frameworks
such as <application>RichFaces</application>. Seam 3.2 support is not yet
available for JSF2, however support may be included in a future release.
</para>
<para>
The bridge is used to execute <literal>Faces</literal> requests on
behalf of the portlet. During each request, the <literal>Faces</literal>
environment is setup and handled by the bridge.
@@ -34,7 +34,7 @@
<remark>BZ#856417 - NEEDINFO - basing these file paths on what I understand the
structure will be using EAP 6. DOMAIN in this case refers to /managed or
/standalone</remark>
<itemizedlist>
<listitem>
-
<para><replaceable>EPP_DIST</replaceable>/<replaceable>DOMAIN</replaceable>/conf/gatein/portlet.xml</para>
+
<para><replaceable>EPP_HOME</replaceable>/<replaceable>DOMAIN</replaceable>/<replaceable>portlet_name</replaceable>.war/WEB-INF/portlet.xml</para>
</listitem>
<listitem>
<para><replaceable>EPP_HOME</replaceable>/<replaceable>DOMAIN</replaceable>/<replaceable>portlet_name</replaceable>.war/WEB-INF/faces-config.xml</para>
@@ -76,26 +76,24 @@
<para>All portlets that are part of the same WAR are considered to form part of
the same portlet application.</para>
</section>
<section>
- <title>Bridgelets</title>
- <para>Bridgelets are extensions that sit on top of the portlet bridge
framework. They extend the functionality of other JBoss portlet applications, and are
critical in JSF portlet development. </para>
- <para>Bridglets are made available in the impl development binary, located in
<filename><replaceable>EPP_HOME</replaceable>/portletbridge</filename>.
</para>
+ <title>Extensions</title>
+ <para>Portlet extensions sit atop the portlet bridge framework. They extend the
functionality of other JBoss portlet applications, and are critical in JSF portlet
development. </para>
+ <para>Extensions are made available in the impl development binary, located in
<filename><replaceable>EPP_HOME</replaceable>/portletbridge</filename>.
</para>
</section>
- <section
id="sect-Reference_Guide-Bridge_Frameworks_and_Extensions-Seam_Bridgelets">
- <title>Seam Bridgelet</title>
- <para><literal>PortalIdentity</literal>
<application>Seam</application> bridgelet allows you to implement Single
Sign-On (SSO) between <application>Seam</application> and
<application>JBoss Enterprise Portal Platform</application>.
+<!--BZ#856417 - Ken confirmed that this extension is not supported in PBR 3.x at the
time of writing.--><!--<section
id="sect-Reference_Guide-Bridge_Frameworks_and_Extensions-Seam_Bridgelets">
+ <title>Seam Extension</title>
+ <para><literal>PortalIdentity</literal>
<application>Seam</application> extension allows you to implement Single
Sign-On (SSO) between <application>Seam</application> and
<application>JBoss Enterprise Portal Platform</application>.
</para>
- <para>
- This bridgelet is configured in the application's
<filename>components.xml</filename> file, by specifying the following
directive: </para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_GettingStarted/default218.xml"
parse="text"/></programlisting>
- </section>
- <section
id="sect-Reference_Guide-Bridge_Frameworks_and_Extensions-RichFaces_Bridgelets">
- <title>RichFaces Bridgelet</title>
- <para>
- <application>Richfaces</application> does not account for multiple
components on the same portal page by default. This following
<filename>web.xml</filename> bridgelet renders all
<application>RichFaces</application> component javascript portal-friendly.
+ <para>
+ This extension is configured in the application's
<filename>components.xml</filename> file, by specifying the following
directive: </para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_GettingStarted/default218.xml"
parse="text"/></programlisting>
+</section>--><!--BZ#856417 - Ken confirmed that this extension is not
supported in PBR 3.x at the time of writing.--><!--<section
id="sect-Reference_Guide-Bridge_Frameworks_and_Extensions-RichFaces_Bridgelets">
+ <title>RichFaces Bridgelet</title>
+ <para>
+ <application>Richfaces</application> does not account for multiple
components on the same portal page by default. This following
<filename>web.xml</filename> extension renders all
<application>RichFaces</application> component javascript portal-friendly.
</para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_GettingStarted/default219.xml"
parse="text"/></programlisting>
- </section>
- <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="PortletBridge/configuration.xml"/>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_GettingStarted/default219.xml"
parse="text"/></programlisting>
+</section>--> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="PortletBridge/configuration.xml"/>
<section>
<title>Render Policy Parameters</title>
<para>Different JSF View Declaration Languages require different behavior from
the JBoss Portlet Bridge when it comes to rendering views. Instructing the Bridge on which
policy to use is done using the javax.portlet.faces.RENDER_POLICY
<context-param> directive in
<filename>web.xml</filename>.</para>
@@ -147,496 +145,445 @@
</section>
</section>
<section
id="sect-Reference_Guide-Bridge_Configuration-RichFaces_Setup_and_Configuration_Options">
- <title>RichFaces Setup and Configuration Options</title>
- <remark>BZ#856417 - NEEDINFO - these sections remain untouched in the EPP 6
work to date. Should they be reviewed?</remark>
- <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-web.xml">
- <title>Richfaces web.xml settings</title>
- <para><remark>BZ#856417 - NEEDINFO - Is this Richfaces configuration
still relevant for PBR v3.0?</remark>
+ <title>RichFaces Local and Remote Portlet Support</title>
+<!--BZ#856417 - Commented out section on the recommendation of Ken F. Delete if you
are reading this comment after EPP 6 is released.--><!--<section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-web.xml">
+ <title>Richfaces web.xml settings</title>
+ <para>
The following configuration is designated for portlets using the
<application>RichFaces</application> library. These settings will vary based
on your individual needs.
</para>
- <para>
+ <para>
See <ulink
url="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/A...
this section</ulink> of the <application>RichFaces</application>
documentation for more details.
</para>
- <para>
+ <para>
Sometimes it is better to use the
"<parameter>ALL</parameter>" load strategy in portlets so
you do not need to worry about loading the "framework.pack.js" and
"ui.pack.js" files manually in your portlet header.
</para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default204.xml"
parse="text"/></programlisting>
- <note>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default204.xml"
parse="text"/></programlisting>
+ <note>
+ <para>
If you use the
"<parameter>NONE</parameter>" strategy, you must include the
following scripts in your portlet or portal page header. If you are using
<application>JBoss Portal</application>, you can add this to the
<filename>jboss-portlet.xml</filename> file.
</para>
- </note>
- <para>
+ </note>
+ <para>
The <literal>org.ajax4jsf.RESOURCE_URI_PREFIX</literal>
configuration cross-references the path to your scripts below. These settings are required
for <application>RichFaces</application> using the
"<parameter>NONE</parameter>" strategy. Replace all
<replaceable>richFacesPortlet</replaceable> text in the example with the
actual name of the portlet resource. </para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default205.xml"
parse="text"/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default205.xml"
parse="text"/></programlisting>
+ <para>
<application>Seam</application> automatically configures your
Ajax4JSF Filter, so if you are running a <application>Seam</application>
portlet, you do not need the following Filter configuration (however, you do need the
<literal>RESOURCE_URI_PREFIX</literal> no matter what).
</para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default206.xml"
parse="text"/></programlisting>
- </section>
- <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge">
-<!-- Content added from JBEPP-708 and JBQA-3999 -->
<title>Configure RichFaces to work with WSRP and PortletBridge</title>
- <remark>BZ#856417 - NEEDINFO - Are we supporting this in EPP
6?</remark>
- <para>
- Use the following settings in <filename>web.xml</filename>
when running WSRP portlets:
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default206.xml"
parse="text"/></programlisting>
+</section>--> <para><xref
linkend="table-RichFaces_Local_Remote_Portlet_Support"/> outlines the current
status of RichFaces features when used in both local and remote portlets.
</para>
- <programlisting language="XML"
role="XML"><context-param>
-
<param-name>org.jboss.portletbridge.WRAP_SCRIPTS</param-name>
- <param-value>false</param-value>
- </context-param>
-....
- <context-param>
-
<param-name>org.richfaces.LoadStyleStrategy</param-name>
- <param-value>ALL</param-value>
- </context-param>
- <context-param>
-
<param-name>org.richfaces.LoadScriptStrategy</param-name>
- <param-value>DEFAULT</param-value>
- </context-param>
-</programlisting>
- <para>
- The styles below must also be manually added to the facelets template
header in the
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/portletbridge/examples/richFacesPortlet-<replaceable>VERSION</replaceable>.war:richFacesPortlet.war/templates/main.xhtml</filename>
file.
- </para>
- <programlisting language="XML" role="XML"><link
rel="stylesheet" type="text/css"
href="/richFacesPortlet/faces/rfRes/org/richfaces/renderkit/html/css/basic_both.xcss"/>
-<link rel="stylesheet" type="text/css"
href="/richFacesPortlet/faces/rfRes/org/richfaces/renderkit/html/css/extended_both.xcss"/>
-<link rel="stylesheet" type="text/css"
href="/richFacesPortlet/faces/rfRes/org/richfaces/skin.xcss"/>
-</programlisting>
- <para>
- The table below outlines the current status of RichFaces features when
used in both local and remote portlets.
- </para>
- <table
id="tabl-Reference_Guide-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge-RichFaces_Feature_Status">
- <title>RichFaces Feature Status</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry> Richfaces Component </entry>
- <entry> Supported as Local Portlet </entry>
- <entry> Supported as Remote Portlet using WSRP </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <literal>a4j:commandButton</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:commandLink</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:jsFunction</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:push</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:poll</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:queue</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:status</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:keepAlive</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:include</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:loadStyle</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:loadScript</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:ajaxValidator</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:beanValidator</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:graphValidator</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:mediaOutput</literal>
- </entry>
- <entry> No </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:outputPanel</literal>
- </entry>
- <entry> Yes (except Firefox 3.5) </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:log</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:dataTable</literal>
- </entry>
- <entry> Yes (except Firefox 3.6 and IE8) </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>a4j:dataFilterSlider</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:dataGrid</literal>
- </entry>
- <entry> Yes </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:dataList</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:datascroller</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:extendedDataTable</literal>
- </entry>
- <entry> Yes (except IE7) </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:repeat</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:scrollableDataTable</literal>
- </entry>
- <entry> Yes (except Firefox 3.6) </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>drag-drop support</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:contextMenu</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:dropDownMenu</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:tree</literal>
- </entry>
- <entry> Yes (except Firefox 3.5) </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:modalPanel</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:paint2d</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:panel</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:panelBar</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:panelMenu</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:progressBar</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:separator</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:simpleTogglePanel</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:spacer</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:tabPanel</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes (except tab deletion) </entry>
- </row>
- <row>
- <entry>
- <literal>rich:togglePanel</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:toolBar</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:toolTip</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:calendar</literal>
- </entry>
- <entry> Yes </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:colorPicker</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:comboBox</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:editor</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:fileUpload</literal>
- </entry>
- <entry> No </entry>
- <entry> No </entry>
- </row>
- <row>
- <entry>
- <literal>rich:inplaceSelect</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:inplaceInput</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:inputNumberSpinner</literal>
- </entry>
- <entry> Yes (except IE7) </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:inputNumberSlider</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:suggestionBox</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:listShuttle</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:orderingList</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- <row>
- <entry>
- <literal>rich:pickList</literal>
- </entry>
- <entry> Yes </entry>
- <entry> Yes </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-<!-- DO NOT UNCOMMENT <section>
-<title>jboss-portlet.xml</title>
-<para>
-To avoid scripts loading more than once from different portlet windows you can define
additional scripts in
-jboss-portlet.xml. *Note the "rfRes" URI prefix that is mapped in the
web.xml.</para>
-<programlisting role="XML"><![CDATA[
-<portlet>
-<portlet-name>ajaxPortlet</portlet-name>
-<header-content>
-<script src="/faces/rfRes/org/ajax4jsf/framework.pack.js"
type="text/javascript"></script>
-<script src="/faces/rfRes/org/richfaces/ui.pack.js"
type="text/javascript"></script>
-<link rel="stylesheet" type="text/css"
href="/faces/rfRes/org/richfaces/skin.xcss"/>
-</header-content>
-</portlet>
-]]></programlisting>
-</section> --> </section>
- <section
id="sect-Reference_Guide-Bridge_Configuration-Seam_Setup_and_Configuration_Options">
- <title>Seam Setup and Configuration Options</title>
- <remark>BZ#856417 - NEEDINFO - these sections remain untouched in the EPP 6
work to date. Should they be reviewed?</remark>
- <section
id="sect-Reference_Guide-Seam_Setup_and_Configuration_Options-Configuration">
- <title>Configuration</title>
- <para>
+ <remark>BZ#856417 - NEEDINFO - Contacted mvanco on Oct 3 for specifics
regarding this table. Ken informed me it was out of date.</remark>
+ <table id="table-RichFaces_Local_Remote_Portlet_Support">
+ <title>RichFaces Feature Status</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry> RichFaces Component </entry>
+ <entry> Supported as Local Portlet </entry>
+ <entry> Supported as Remote Portlet using WSRP </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <literal>a4j:commandButton</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:commandLink</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:jsFunction</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:push</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:poll</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:queue</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:status</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:keepAlive</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:include</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:loadStyle</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:loadScript</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:ajaxValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:beanValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:graphValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:mediaOutput</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:outputPanel</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.5) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:log</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataTable</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.6 and IE8) </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:dataFilterSlider</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataGrid</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:datascroller</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:extendedDataTable</literal>
+ </entry>
+ <entry> Yes (except IE7) </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:repeat</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:scrollableDataTable</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.6) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>drag-drop support</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:contextMenu</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dropDownMenu</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:tree</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.5) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:modalPanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:paint2d</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panelBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panelMenu</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:progressBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:separator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:simpleTogglePanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:spacer</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:tabPanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes (except tab deletion) </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:togglePanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:toolBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:toolTip</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:calendar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:colorPicker</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:comboBox</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:editor</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:fileUpload</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inplaceSelect</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inplaceInput</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inputNumberSpinner</literal>
+ </entry>
+ <entry> Yes (except IE7) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inputNumberSlider</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:suggestionBox</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:listShuttle</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:orderingList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:pickList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+<!--BZ#856417 - Commented the Seam section as Seam is not supported in
PBR2.--><!--<section
id="sect-Reference_Guide-Bridge_Configuration-Seam_Setup_and_Configuration_Options">
+ <title>Seam Setup and Configuration Options</title>
+ <remark>BZ#856417 - Ken confirmed this section does not relate to PBR2 at time of
writing.</remark>
+ <section
id="sect-Reference_Guide-Seam_Setup_and_Configuration_Options-Configuration">
+ <title>Configuration</title>
+ <para>
The <literal>ExceptionHandler</literal> is used to clean
<application>Seam</application> contexts and transactions after errors.
</para>
- <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default207.xml"
parse="text"/></programlisting>
-<!-- Section removed as per feedback from Prabhat Jha
- <para>
- If you are using this bridge version from
<literal>2.0.0.BETA</literal> through
<literal>2.0.0.CR1</literal>, you must define the following
<filename>web.xml</filename> parameter to use the JBoss Portlet Bridge
provided Seam Phase Listener. This is done by the bridge automatically (if needed) in
<literal>2.0.0.FINAL</literal>.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default208.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting> --> </section>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default207.xml"
parse="text"/></programlisting>
</section>
- <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Sending_and_Receiving_Events">
+</section>--> <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Sending_and_Receiving_Events">
<title>Sending and Receiving Events</title>
<para>
The bridge considers a portlet event a model event, which means the event is targeted
to the applications data model, not its view.
@@ -646,25 +593,37 @@
<para>Because event payloads are arbitrarily complex however, the manual data
processing is left primarily to the portlet application to support. </para>
<section>
<title>Sending Events</title>
- <para>The following event configuration references the eventing implemented
in the Seam Booking Demo, available for exploration in
<filename><replaceable>EPP_HOME</replaceable>/portletbridge/examples/seamEAR.ear</filename>.
The concepts described are the same for sending events using other event handlers.
</para>
- <para>Explicitly specify that the GenericFacesPortlet should override event
handling and dispatch all events to the bridge by defining the autoDispatchEvents
<init-param> in <filename>portlet.xml</filename>.</para>
- <para>If the application is written entirely in JSF (as opposed to a mix of
view technologies), this <init-param> must be set to
<parameter>true</parameter>.</para>
- <programlisting language="XML"><init-param>
+ <remark>BZ#856410 - Adjusted the info that related to the seam booking
example specifically. </remark>
+ <para>The following configuration uses information relating to a generic
Booking Event portlet. The concepts contained within each example can be applied to other
event sending scenarios. </para>
+ <procedure>
+ <title>Sending Events</title>
+ <step>
+ <para>Define the autoDispatchEvents <init-param> in
<filename>portlet.xml</filename> to specify the GenericFacesPortlet should
override event handling and dispatch all events to the bridge. </para>
+ <important>
+ <para>If the application is written entirely in JSF (as opposed to a
mix of view technologies), this <init-param> must be set to
<parameter>true</parameter>. </para>
+ </important>
+ <programlisting language="XML"><init-param>
<name>javax.portlet.faces.autoDispatchEvents</name>
<value>true</value>
</init-param></programlisting>
- <para>Enable the portlet to publish an event to the portal, by defining the
<supported-publishing-event> in
<filename>portlet.xml</filename>. </para>
- <programlisting
language="XML"><supported-publishing-event>
+ </step>
+ <step>
+ <para>Define the <supported-publishing-event> in
<filename>portlet.xml</filename> to enable the portlet to publish an event to
the portal. </para>
+ <programlisting
language="XML"><supported-publishing-event>
<qname
xmlns:jbp="urn:jboss:portal:samples:event">jbp:BookingEvent</qname>
</supported-publishing-event></programlisting>
- <para>Define how the event namespace (<qname>) is linked to an
actual type within the application by defining the <event-definition>
directive in <filename>portlet.xml</filename>.</para>
- <programlisting language="XML"><event-definition>
+ </step>
+ <step>
+ <para>Define the <event-definition> directive in
<filename>portlet.xml</filename> to specify how the event namespace
(<qname>) is linked to an actual type within the application.</para>
+ <programlisting
language="XML"><event-definition>
<qname
xmlns:jbp="urn:jboss:portal:samples:event">jbp:BookingEvent</qname>
<value-type>org.jboss.example.booking.BookingEvent</value-type>
</event-definition></programlisting>
- <para>To publish an event, define an event type that represents the actual
object that will be attached to the event.</para>
+ </step>
+ </procedure>
<example>
<title>Event type example</title>
+ <para>To publish an event, define an event type that represents the actual
object that will be attached to the event.</para>
<para>The type requires the @XmlRootElement annotation to allow the event
to be serialized into a JAXB object for publishing.</para>
<programlisting language="Java">
@XmlRootElement
@@ -682,9 +641,9 @@
}
}</programlisting>
</example>
- <para>To dispatch an event to other portlets within the portal, one approach
is to use a bean method triggered by an action.</para>
<example>
<title>Dispatch event example</title>
+ <para>To dispatch an event to other portlets within the portal, one
approach is to use a bean method triggered by an action.</para>
<programlisting language="Java">Object response =
FacesContext.getCurrentInstance().getExternalContext().getResponse();
if (response instanceof StateAwareResponse) {
String id = "an id";
@@ -695,16 +654,23 @@
</section>
<section>
<title>Receiving Events</title>
- <para>The following event configuration references the eventing implemented
in the Seam Booking Demo, available for exploration in
<filename><replaceable>EPP_HOME</replaceable>/portletbridge/examples/seamEAR.ear</filename>.
The concepts described are the same for receiving events using other event
handlers.</para>
- <para>Define that the portlet can receive an event, by specifying
bridgeEventHandler as a parameter of an <init-param> directive in
<filename>portlet.xml</filename>.</para>
- <programlisting language="XML"><init-param>
+ <para>The following configuration uses information relating to a generic
Booking Event portlet. The concepts contained within each example can be applied to other
event receiving scenarios. </para>
+ <procedure>
+ <title/>
+ <step>
+ <para>Define the bridgeEventHandler <init-param> directive
in <filename>portlet.xml</filename> to specify the portlet can receive an
event from Portlet Bridge.</para>
+ <programlisting language="XML"><init-param>
<name>javax.portlet.faces.bridgeEventHandler</name>
<value>org.jboss.example.booking.BookingEventHandler</value>
</init-param></programlisting>
- <para>Define that the portlet can also receive an event from the portal, by
specifying a <supported-processing-event> directive in
<filename>portal.xml</filename></para>
- <programlisting
language="XML"><supported-processing-event>
+ </step>
+ <step>
+ <para>Define the <supported-processing-event> directive in
<filename>portal.xml</filename> to specify the portlet can also receive an
event from the portal. </para>
+ <programlisting
language="XML"><supported-processing-event>
<qname
xmlns:jbp="urn:jboss:portal:samples:event">jbp:BookingEvent</qname>
</supported-processing-event></programlisting>
+ </step>
+ </procedure>
<para>To process a received event within a portlet, specify in the portlet
code that the event handler implements the BridgeEventHandler.</para>
<programlisting>public class BookingEventHandler implements
BridgeEventHandler {
public EventNavigationResult handleEvent(FacesContext context, Event event) {
@@ -735,7 +701,7 @@
</para>
<section>
<title>PRP portlet configuration</title>
- <para>The following PRP portlet configuration references the Seam Booking
Demo, available for exploration in
<filename><replaceable>EPP_HOME</replaceable>/portletbridge/examples/seamEAR.ear</filename>.
The concepts described are the same for receiving PRP events in other
implementations.</para>
+ <para>The following configuration uses information relating to a generic
Booking Event portlet. The concepts contained within each example can be applied to other
PRP portlet configuration. </para>
<para>PRPs must be configured in both the portlet that sends (sets) the
PRP, and the portlet that retrieves (gets) the PRP. </para>
<programlisting language="XML"><portlet>
<!-- Unnecessary configuration information removed for clarity -->
@@ -755,7 +721,7 @@
</section>
<section
id="sect-Reference_Guide-Public_Render_Parameters-Configuration">
<title>Application configuration</title>
- <para> A public render parameter example is implemented
in the Seam Booking Demo portlet, which is located in
<filename><filename>EPP_HOME</filename>/portletbridge/SeamEAR.ear</filename>.
Continue reading the configuration procedures to understand the configuration steps behind
the SeamEAR.ear example. </para>
+ <para>The following configuration uses information relating to a generic
Booking Event portlet. The concepts contained within each example can be applied to other
PRP portlet configuration. </para>
<section>
<title>Set Parameter</title>
<para>To set the PRP, create a Bean method for the portlet setting the
parameter that is triggered from a UI action, and sets the PRP onto the
response.</para>
@@ -844,33 +810,38 @@
<para>The correct way to reference a resource is to locate it within the web
application, in the <filename>/ resources</filename> directory. This placement
allows the resource to be retrieved using JSF2 resource handling.</para>
<programlisting>#{resource['/stylesheet.css']}</programlisting>
<para>In this instance, stylesheet.css would be present in the root of the
<filename>/resources</filename> directory, because it does not specify a
resource library. For resources that do specify a library, these must be placed in the
library sub-directory.</para>
- <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Serving_Your_JSF_Resources_in_a_Portlet">
- <title>Serving Your JSF Resources in a Portlet</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Serving_Your_JSF_Resources_in_a_Portlet">
+ <title>Serving Your JSF Resources in a Portlet</title>
+ <para>
The bridge deals with portlet served resources in one of two ways:
</para>
- <itemizedlist>
- <listitem>
- <para>
+ <itemizedlist>
+ <listitem>
+ <para>
If the request is for a non-JSF resource, the bridge handles the request by acquiring
a request dispatcher and forwarding the request to the named resource.
</para>
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
If the request is for a JSF resource, the bridge runs the full JSF life-cycle
ensuring that data is processed and the resource (markup) is rendered.
</para>
- </listitem>
- </itemizedlist>
- <section
id="sect-Reference_Guide-Serving_Your_JSF_Resources_in_a_Portlet-Configuration">
- <title>Configuration</title>
- <para>Some examples demonstrating how to use
<literal>EL</literal> and a simple bean are provided in
<filename>EPP_HOME/portletbridge/examples/richFacesPortlet.war//WEB-INF/src/org/richfaces/demo/common/ResourceBean.java</filename>
</para>
- <para>When you have the normal
"<filename>/images</filename>",
"<filename>/styles</filename>" and other resource folders in
your web application, you can use the following <literal>EL</literal>
expression to serve them in your JSF application.
+ </listitem>
+ </itemizedlist>
+ <section id="sect-Expression_Language_Reference">
+ <title>Expression Language Reference</title>
+ <para>Some examples demonstrating how to use
<literal>EL</literal> and a simple bean are provided in the ResourceBean.java
file of the Richfaces Portlet example. </para>
+ <para>Additional information about <literal>EL</literal> is
located in <xref
linkend="sect-Using_Provided_EL_Variables"/></para>
+ <programlisting language="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/PortletResource.java"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Serving_Your_JSF_Resources_in_a_Portlet-Configuration">
+ <title>Configuration</title>
+ <para>When you have the normal
"<filename>/images</filename>",
"<filename>/styles</filename>" and other resource folders in
your web application, you can use the following <literal>EL</literal>
expression to serve them in your JSF application.
</para>
- <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default216.java"
parse="text"/></programlisting>
- <para>Copy the <literal>ResourceBean.java</literal> code above,
and add an entry to the <filename>faces-config.xml</filename> for the bean.
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default216.java"
parse="text"/></programlisting>
+ <para>Copy the <literal>ResourceBean.java</literal> code
described in <xref linkend="sect-Expression_Language_Reference"/>, and add
an entry to the <filename>faces-config.xml</filename> for the bean.
</para>
- <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default217.xml"
parse="text"/></programlisting>
- </section>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletBridge_Configuration/default217.xml"
parse="text"/></programlisting>
</section>
</section>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="PortletBridge/portlet_development.xml"/>
Modified: epp/docs/branches/6.0/Reference_Guide/publican.cfg
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/publican.cfg 2012-10-02 15:43:15 UTC (rev 8858)
+++ epp/docs/branches/6.0/Reference_Guide/publican.cfg 2012-10-03 06:49:18 UTC (rev 8859)
@@ -4,6 +4,3 @@
type: Book
git_branch: docs-rhel-6
show_remarks: 1
-# web formats turns of PDF generation, because FOP is causing builds to die. Stupid FOP.
Enable when Publican 3 is released
-# web_formats: "epub,html,html-single"
-