gatein SVN: r9108 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: rdickens
Date: 2013-01-31 18:52:33 -0500 (Thu, 31 Jan 2013)
New Revision: 9108
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
Log:
Bumped pubsnumber to have book re-Brew-ed
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 23:10:57 UTC (rev 9107)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 23:52:33 UTC (rev 9108)
@@ -5,6 +5,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>6.0.0-10</revnumber>
+ <date>Fri Feb 1 2013</date>
+ <author>
+ <firstname>Russell</firstname>
+ <surname>Dickenson</surname>
+ <email/>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Changes incorporated for https://docs.jboss.org/author/display/GTNPORTAL35/Appendix+-+Code+Example...</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>6.0.0-9</revnumber>
<date>Thu Jan 31 2013</date>
<author>
11 years, 10 months
gatein SVN: r9107 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: rdickens
Date: 2013-01-31 18:10:57 -0500 (Thu, 31 Jan 2013)
New Revision: 9107
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
Log:
Added '<remark>'s to indicate topics which need to be fixed
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml 2013-01-31 22:31:27 UTC (rev 9106)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml 2013-01-31 23:10:57 UTC (rev 9107)
@@ -11,6 +11,7 @@
<remark>Source: https://https://docs.jboss.org/author/display/GTNPORTAL35/Appendix+-+Code..., incorporated changes up to version 3</remark>
<itemizedlist>
<listitem>
+ <remark>FIXME: From where are the Quickstart examples to be downloaded from?</remark>
<para>
A zip archive containing all Quickstarts can be downloaded from
<ulink url="http://www.jboss.org/gatein/downloads/gateinportal.html">JBoss Portal Platform Downloads page</ulink>
@@ -22,6 +23,7 @@
<section id="sid-55378941_Appendix-Quickstarts-IDE">
<title>JBoss Developer Studio or Eclipse with JBoss Tools</title>
+ <remark>FIXME: From where are the Quickstart examples to be obtained?</remark>
<itemizedlist>
<listitem>
<para>
@@ -54,6 +56,7 @@
<section id="sid-55378941_Appendix-Quickstarts-GitHub">
<title>GitHub</title>
+ <remark>FIXME: Which git repo are customers to use?</remark>
<para>Issue the following command</para>
<informalexample>
<programlisting>git clone https://github.com/gatein/gatein-portal-quickstart.git</programlisting>
11 years, 10 months
gatein SVN: r9106 - in epp/docs/branches/6.0/Reference_Guide/en-US: modules/AuthenticationAndIdentity and 1 other directory.
by do-not-reply@jboss.org
Author: jaredmorgs
Date: 2013-01-31 17:31:27 -0500 (Thu, 31 Jan 2013)
New Revision: 9106
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/Author_Group.xml
epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
Log:
BZ#856450 - Implemented all CAS QE review comments from Tomas K. Ready for verification.
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/Author_Group.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/Author_Group.xml 2013-01-31 04:53:02 UTC (rev 9105)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/Author_Group.xml 2013-01-31 22:31:27 UTC (rev 9106)
@@ -8,14 +8,6 @@
<firstname>Red Hat</firstname>
<surname>Documentation Group</surname>
</author>
- <editor>
- <firstname>Thomas</firstname>
- <surname>Heute</surname>
- </editor>
- <editor>
- <firstname>Chris</firstname>
- <surname>Laprun</surname>
- </editor>
<othercredit>
<affiliation>
<orgname><emphasis role="bold">
@@ -25,6 +17,6 @@
</emphasis></orgname>
<orgdiv>Documentation Teams</orgdiv>
</affiliation>
- <contrib>Based on original product documentation by:</contrib>
+ <contrib>Based on original documentation by:</contrib>
</othercredit>
</authorgroup>
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 2013-01-31 04:53:02 UTC (rev 9105)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml 2013-01-31 22:31:27 UTC (rev 9106)
@@ -8,6 +8,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>6.0.0-44</revnumber>
+ <date>Wed Jan 30 2013</date>
+ <author>
+ <firstname>Jared</firstname>
+ <surname>Morgan</surname>
+ <email/>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>BZ#856450 - Implemented all CAS QE review comments from Tomas K. Ready for verification.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>6.0.0-43</revnumber>
<date>Wed Jan 30 2013</date>
<author>
@@ -18,7 +32,7 @@
<revdescription>
<simplelist>
<member>Cleaned up imported content in Chapter III. - Authentication and Authorization.</member>
- <member>Cleared out TODO, FIXME and some other remarks, further code cleanup, spell-check, unified capitals in titles, removed links to docs.jboss.org (where applicable), removed some technical jargon, etc.</member>
+ <member>Cleared out TODO, FIXME and some other remarks, further code cleanup, spell-check, unified capitals in titles, removed links to docs.jboss.org (where applicable), removed some technical jargon, etc.</member>
</simplelist>
</revdescription>
</revision>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2013-01-31 04:53:02 UTC (rev 9105)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2013-01-31 22:31:27 UTC (rev 9106)
@@ -86,7 +86,7 @@
</listitem>
<listitem>
<para>
- The interceptor redirects the user to the CAS login page <ulink url="http://localhost:8888/cas/login"/> . The user enters the correct authentication information, and submits the form.
+ The interceptor redirects the user to the CAS login page <ulink url="http://localhost:8888/cas/login"/>. The user enters the correct authentication information, and submits the form.
</para>
<para>
The CAS server retrieves the information from the identity store. The store could be an external database, a LDAP server, or from information obtained through an authentication plug-in such as the one shipped with JBoss Portal Platform. Refer to <xref linkend="sect-CAS_Authentication_Plug-in"/> for specific details about this technology.
@@ -94,7 +94,7 @@
</listitem>
<listitem>
<para>
- Once CAS determines the user has the correct access privileges to access the portal server, CAS redirects the user back to the portal through another marker URL such as <ulink url="http://localhost:8080/portal/initiatelogin"/> .
+ Once CAS determines the user has the correct access privileges to access the portal server, CAS redirects the user back to the portal through another marker URL such as <ulink url="http://localhost:8080/portal/initiatelogin"/>.
</para>
<para>
The <emphasis role="strong">InitiateLoginFilter</emphasis> interceptor acts on the user redirection to <emphasis role="italics">/portal/initiatelogin</emphasis> by obtaining a CAS ticket attached in the HTTP request inside the <emphasis role="italics">ticket</emphasis> parameter. The interceptor then delegates validation of this ticket to a configured <emphasis role="strong">CASAgent</emphasis> component.
@@ -107,7 +107,7 @@
</listitem>
<listitem>
<para>
- After SSO validation, <emphasis role="italics">InitiateLoginFilter</emphasis> redirects the user to the portal login URL <ulink url="http://localhost:8080/portal/login"/> , which initiates JAAS authentication.
+ After SSO validation, <emphasis role="italics">InitiateLoginFilter</emphasis> redirects the user to the portal login URL <ulink url="http://localhost:8080/portal/login"/>, which initiates JAAS authentication.
</para>
<para>
The <emphasis role="strong">SSOLoginModule</emphasis> detects whether the user has been successfully validated by <emphasis role="italics">CASAgent</emphasis>. If this is the case, the login module obtains data about user (groups, memberships) from <emphasis role="italics">OrganizationService</emphasis> and encapsulates the details into an <emphasis role="strong">Identity</emphasis> object.
@@ -142,12 +142,12 @@
</listitem>
<listitem>
<para>
- The <emphasis role="strong">CASLogoutFilter</emphasis> interceptor recognizes the logout request, and redirects the user to the CAS logout page <ulink url="http://localhost:8888/cas/logout"/> .
+ The <emphasis role="strong">CASLogoutFilter</emphasis> interceptor recognizes the logout request, and redirects the user to the CAS logout page <ulink url="http://localhost:8888/cas/logout"/>.
</para>
</listitem>
<listitem>
<para>
- The CAS server logs out the user, and invalidate the CAS cookie <emphasis role="italics">CASTGC</emphasis> .
+ The CAS server logs out the user, and invalidates the CAS cookie <emphasis role="italics">CASTGC</emphasis>.
</para>
</listitem>
<listitem>
@@ -202,7 +202,7 @@
<title><remark>BZ#856430 </remark>Download CAS</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Central+Authentication+...</remark>
<para>
- CAS can be downloaded from <ulink url="http://www.jasig.org/cas/download"/> . The supported version is <emphasis role="italics">CAS 3.5</emphasis> . More recent CAS versions may also work, however have not been officially tested as part of this specific configuration exercise.
+ CAS can be downloaded from <ulink url="http://www.jasig.org/cas/download"/>. The supported version is <emphasis role="italics">CAS 3.5</emphasis>. More recent CAS versions may also work, however have not been officially tested as part of this specific configuration exercise.
</para>
<para>
Extract the downloaded file into a suitable working directory. This location will be referred to as <code>CAS_DIR</code> in subsequent configuration instructions.
@@ -246,24 +246,20 @@
</para>
<note>
<para>
- This configuration is available in the <code><replaceable>JPP_DIST</replaceable>gatein-sso/cas/plugin/WEB-INF/deployerConfigContext.xml</code> file. If you choose to take this configuration file, ensure the default host, port and context parameters are adjusted to match the values corresponding to the remote portal instance.
+ This configuration is available in the <code><replaceable>JPP_DIST</replaceable>/gatein-sso/cas/plugin/WEB-INF/deployerConfigContext.xml</code> file. If you choose to take this configuration file, ensure the default host, port and context parameters are adjusted to match the values corresponding to the remote portal instance.
</para>
</note>
- <programlisting>
-<!--
- XML comment used for configuration guidance removed for ease of readability+-->
-<bean class="org.gatein.sso.cas.plugin.AuthenticationPlugin">
+ <programlisting language="XML"><bean class="org.gatein.sso.cas.plugin.AuthenticationPlugin">
<property name="gateInProtocol"><value>http</value></property>
<property name="gateInHost"><value>localhost</value></property>
<property name="gateInPort"><value>8080</value></property>
<property name="gateInContext"><value>portal</value></property>
<property name="httpMethod"><value>POST</value></property>
-</bean>
-</programlisting>
+</bean></programlisting>
</step>
<step>
<para>
- Copy all jars from <code><replaceable>JPP_DIST</replaceable>gatein-sso/cas/plugin/WEB-INF/lib/</code> to the <code>CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/lib</code> directory.
+ Copy all jars from <code><replaceable>JPP_DIST</replaceable>/gatein-sso/cas/plugin/WEB-INF/lib/</code> to the <code>CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/lib</code> directory.
</para>
</step>
</procedure>
@@ -272,9 +268,9 @@
<title>Logout Redirection Setup</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Central+Authentication+...</remark>
<para>
- The CAS server displays the CAS logout page with a link to return to the portal by default. To make the CAS server redirect to the portal page after a logout, modify <code>CAS_DIR/cas-server-webapp/src/main/webapp/</code> <code>WEB-INF/cas-servlet.xml</code> to include the <code>followServiceRedirects="true"</code> parameter:
+ The CAS server displays the CAS logout page with a link to return to the portal by default. To make the CAS server redirect to the portal page after a logout, modify <code>CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/cas-servlet.xml</code> to include the <code>followServiceRedirects="true"</code> parameter:
</para>
- <programlisting language=""><bean id="logoutController" class="org.jasig.cas.web.LogoutController"
+ <programlisting language="XML"><bean id="logoutController" class="org.jasig.cas.web.LogoutController"
p:centralAuthenticationService-ref="centralAuthenticationService"
p:logoutView="casLogoutView"
p:warnCookieGenerator-ref="warnCookieGenerator"
@@ -287,7 +283,7 @@
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Central+Authentication+...</remark>
<para>
Jasic CAS uses a cookie named
- <firstterm> CAS Ticket Granting Cookie </firstterm>
+ <firstterm> CAS Ticket Granting Cookie</firstterm>
(CASTGC) to control the authentication state within the browser session. The cookie contains a Ticket Granting Ticket (TGT), which preserves SSO authentication where more than one site is controlled by the same SSO profile.
</para>
<example id="exam-CASTGC_Authentication">
@@ -303,7 +299,7 @@
</para>
</example>
<para>
- The behavior described in <xref linkend="exam-CASTGC_Authentication"/>exists through a secured connection only (https connection). To benefit from authentication across two or more portals, one of the options below must be implemented. Choose the correct option based on the deployment environment:
+ The behavior described in <xref linkend="exam-CASTGC_Authentication"/> exists through a secured connection only (https connection). To benefit from authentication across two or more portals, one of the options below must be implemented. Choose the correct option based on the deployment environment:
</para>
<variablelist>
<varlistentry>
@@ -318,7 +314,7 @@
<para>
To configure this test behavior, open <code>CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml</code> and switch the attribute <code>cookieSecure</code> to false.
</para>
- <programlisting><bean id="ticketGrantingTicketCookieGenerator"
+ <programlisting language="XML"><bean id="ticketGrantingTicketCookieGenerator"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
@@ -384,7 +380,7 @@
<section id="sect-CAS_Portal_SSO_Primary_Configuration_File">
<title>Portal SSO Primary Configuration File</title>
<para>
- The main portal configuration file for SSO integration is <code>JPP_HOME/gatein/gatein.ear/portal.war/WEB-INF/conf/sso/security-sso-configuration.xml</code> . All required SSO components such as agents and SSO interceptors (servlet filters in v5.x of the product) are configured in this file.
+ The main portal configuration file for SSO integration is <code>JPP_HOME/gatein/gatein.ear/portal.war/WEB-INF/conf/sso/security-sso-configuration.xml</code>. All required SSO components such as agents and SSO interceptors (servlet filters in v5.x of the product) are configured in this file.
</para>
<para>
In most cases, it will never be necessary to edit <filename>security-sso-configuration.xml</filename> directly when using JBoss Portal Platform. The portal architecture allows users to override the base configuration described in this file using name/value pairs configured in one place: <filename>JPP_HOME/standalone/configuration/gatein/configuration.properties</filename>
@@ -403,7 +399,7 @@
<title>Configuring SSO configuration.properties for CAS</title>
<step>
<para>
- Open <filename>JPP_HOME/standalone/configuration/gatein/configuration.properties</filename> and locate the SSO sections in the file.
+ Open <filename>JPP_HOME/standalone/configuration/gatein/configuration.properties</filename> and locate the SSO section in the file.
</para>
</step>
<step>
@@ -420,7 +416,7 @@
gatein.sso.portal.url=http://localhost:8080
gatein.sso.filter.logout.class=org.gatein.sso.agent.filter.CASLogoutFilter
gatein.sso.filter.logout.url=${gatein.sso.server.url}/logout
-gatein.sso.filter.login.sso.url=${gatein.sso.server.url}/login?service=${gatein.sso.portal.url}/@@[portal.container.name]@(a)/initiatessologin
+gatein.sso.filter.login.sso.url=${gatein.sso.server.url}/login?service=${gatein.sso.portal.url}/@@portal.container.name@(a)/initiatessologin
</programlisting>
</step>
</procedure>
@@ -441,7 +437,7 @@
Specifies whether the REST callback authentication handler is enabled.
</para>
<para>
- The handler is required if the CAS server must use the SSO Authentication plug-in to handle portal authentication. See <xref linkend="sect-CAS_Logout_Redirection"/> for details. The callback handler is enabled by default. Set the parameter to false if the authentication plug-in on the CAS server side is not required.
+ The handler is required if the CAS server must use the SSO Authentication plug-in to handle portal authentication. See <xref linkend="sect-CAS_Authentication_Plug-in"/> for details. The callback handler is enabled by default. Set the parameter to false if the authentication plug-in on the CAS server side is not required.
</para>
</listitem>
</varlistentry>
@@ -452,7 +448,7 @@
Specifies whether a pre-defined SSO login module declared in <filename> JPP_HOME/standalone/configuration/standalone.xml</filename> is used for authentication. When the property is set to "true", the SSODelegateLoginModule delegates work to another login module, as specified using the <property>gatein.sso.login.module.class</property> property. SSODelegateLoginModule will also resend all its options to its delegate.
</para>
<para>
- This parameter removes the need to manually change any login module configuration in the standalone.xml file, which simplifies platform configuration.
+ This parameter removes the need to manually change any login module configuration in the <filename>standalone.xml</filename> file, which simplifies platform configuration.
</para>
</listitem>
</varlistentry>
@@ -460,7 +456,7 @@
<term>gatein.sso.login.module.class</term>
<listitem>
<para>
- Specifies the classname of the login module SSODelegateLoginModule will delegate to. This parameter will work only if gatein.sso.login.module.enabled is specified.
+ Specifies the classname of the login module SSODelegateLoginModule will delegate to. This parameter will work only if <property>gatein.sso.login.module.enabled</property> is specified.
</para>
</listitem>
</varlistentry>
@@ -484,7 +480,7 @@
<term>gatein.sso.filter.logout.class</term>
<listitem>
<para>
- Specifies the class of the logout filter. In the example above <code>org.gatein.sso.agent.filter.CASLogoutFilter</code> is the correct choice because this filter is able to redirect to the CAS server and perform logout on CAS side.
+ Specifies the class of the logout filter. In the example above <code>org.gatein.sso.agent.filter.CASLogoutFilter</code> is the correct choice because this filter is able to redirect to the CAS server and perform logout on the CAS side.
</para>
</listitem>
</varlistentry>
@@ -492,16 +488,14 @@
<term>gatein.sso.filter.logout.url</term>
<listitem>
<para>
- Specifies the CAS server logout URL, which is used for redirection by the logout filter
- </para>
+ Specifies the CAS server logout URL, which is used for redirection by the logout filter. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>gatein.sso.filter.logout.enabled</term>
<listitem>
<para>
- Optional parameter, which specifies whether the logout interceptor is enabled. To disable logout on CAS side, set the parameter value to " false" . This results in both options <code>gatein.sso.filter.logout.class</code> and <code>gatein.sso.filter.logout.url</code> are ignored
- </para>
+ Optional parameter, which specifies whether the logout interceptor is enabled. To disable logout on CAS side, set the parameter value to "false". This causes both options <code>gatein.sso.filter.logout.class</code> and <code>gatein.sso.filter.logout.url</code> to be ignored. </para>
<para>
When a user logs out of the portal, the CAS authentication ticket is still valid for other CAS authenticated sites.
</para>
@@ -513,7 +507,6 @@
<para>
Specifies the CAS server login URL, which is used by LoginRedirectFilter for redirection to the CAS server login page.
</para>
- <remark>Docs Note - jmorgan - added this note about the p.c.n variable, and that it *shouldn't* be substituted for a hard-coded variable name.</remark>
<note>
<para>
The string <literal>@@portal.container.name(a)@ </literal>is dynamically replaced when the URL is interpreted by the platform's SSO Component. It is recommended that this string is used over hard-coding the name of the portal for future maintenance and ease of configuration changes.
11 years, 10 months
gatein SVN: r9105 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: smumford
Date: 2013-01-30 23:53:02 -0500 (Wed, 30 Jan 2013)
New Revision: 9105
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/chapter-6-GDG_JavaScript_Development.xml
Log:
Second round of edits to JavaScript section
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/chapter-6-GDG_JavaScript_Development.xml
===================================================================
(Binary files differ)
11 years, 11 months
gatein SVN: r9104 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: jaredmorgs
Date: 2013-01-30 23:39:21 -0500 (Wed, 30 Jan 2013)
New Revision: 9104
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
epp/docs/branches/6.0/Developer_Guide/en-US/chapter-6-GDG_JavaScript_Development.xml
Log:
Changes incorporated for https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Internationaliza...
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 02:44:30 UTC (rev 9103)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 04:39:21 UTC (rev 9104)
@@ -5,7 +5,7 @@
<simpara>
<revhistory>
<revision>
- <revnumber>6.0.0-8</revnumber>
+ <revnumber>6.0.0-9</revnumber>
<date>Thu Jan 31 2013</date>
<author>
<firstname>Jared</firstname>
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml 2013-01-31 02:44:30 UTC (rev 9103)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml 2013-01-31 04:39:21 UTC (rev 9104)
@@ -30,28 +30,25 @@
<section id="sid-819805">
<title>Portlet Development</title>
<para>
- JBoss Portal Platform's interface is fully customizable with applications called portlets. Application development can be done by using the plain Portlet specification JSR286 (refer to the "Portlet Primer" chapter in the JBoss Portal Platform <citetitle>Reference Guide</citetitle> for more information), but it is also possible to use the JBoss Portlet Bridge to write applications with JavaServerFaces (JSF), RichFaces or Seam (refer to the "Getting started with JBoss Portlet Bridge" chapter of the JBoss Portal Platform <citetitle>Reference Guide)</citetitle>.
+ JBoss Portal Platform's interface is fully customizable with applications called portlets. Application development can be done by using the plain Portlet specification JSR286 (refer to the "Portlet Primer" chapter in the JBoss Portal Platform <citetitle>Reference Guide</citetitle> for more information), but it is also possible to use the JBoss Portlet Bridge to write applications with JavaServerFaces (JSF), RichFaces or Seam (refer to the "Getting started with JBoss Portlet Bridge" chapter of the JBoss Portal Platform <citetitle>Reference Guide)</citetitle>.
</para>
<para>
Whichever technology you choose, refer to <link linkend="sid-55378991">Starting a Portlet Project</link> to learn how to set up your project in a robust and effective way using the JBoss Portal Platform Bill of Materials (BOM).
</para>
- <section id="sid-55378991">
-
- <title>Starting a Portlet Project</title>
- <section id="sid-55378991_StartingaPortletProject-TheBOMConcept">
-
- <title>The BOM Concept</title>
- <para>
+ <section id="sid-55378991">
+ <title>Starting a Portlet Project</title>
+ <section id="sid-55378991_StartingaPortletProject-TheBOMConcept">
+ <title>The BOM Concept</title>
+ <para>
To make the management of dependencies easier, JBoss Portal Platform Team has prepared the Bill of Materials (BOM) needed for developing typical portlet applications. BOM is a Maven <code>pom.xml</code> file which specifies the versions, types and scopes of dependencies which are granted to be compatible with (or indeed in many cases provided by) JBoss Portal Platform.
</para>
- </section>
- <section id="sid-55378991_StartingaPortletProject-HowtoUseBOM">
-
- <title>How to Use JBoss Portal Platform BOM</title>
- <para>
+ </section>
+ <section id="sid-55378991_StartingaPortletProject-HowtoUseBOM">
+ <title>How to Use JBoss Portal Platform BOM</title>
+ <para>
Let us look at the <code>pom.xml</code> file from Simplest Hello World Portket example below, which contains all necessary details.
</para>
- <para>
+ <para>
In its <code><dependencyManagement></code> section, it declares
<code><dependency></code>
<code>gatein-3.5-bom</code>
@@ -60,11 +57,11 @@
<code>import</code>
. It indicates that the dependency will <emphasis role="italics">de facto</emphasis> be replaced with the dependencies in its <code>dependencyManagement</code> section. Due to this fact, in the <code><dependencies></code> section of the Simplest Hello World <code>pom.xml</code>, we can declare the <code>javax.portlet:portlet-api</code> dependency without specifying its <code><version></code>, <code><type></code> or <code><scope></code>. All those details are managed by <code>gatein-3.5-bom</code>.
</para>
- <example>
- <title>Simplest Hello World Portlet</title>
- <programlisting language="XML">
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <example>
+ <title>Simplest Hello World Portlet</title>
+ <programlisting language="XML">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>simplest-hello-world-portlet</artifactId>
@@ -148,24 +145,22 @@
</project>
</programlisting>
- </example>
- <para>
+ </example>
+ <para>
Further steps, after you have set up the <code>pom.xml</code> file for your project, depend on the technology you have chosen for writing portlets.
</para>
- </section>
</section>
- <section id="sid-55477012">
-
- <title>Standard Portlet Development (JSR286)</title>
- <section id="sid-55477012_StandardPortletDevelopmentJSR286-TheJavaPart">
-
- <title>The Java Part</title>
- <para>
- After setting up the the Maven <code>pom.xml</code> file as shown in the previous section, we can continue with implementing a basic JSR286 compatible portlet. Simplest Hello World Portlet from the JBoss Portal Platform <link linkend="sid-55378941">Quickstarts</link> collection shows the very essence of every JSR286 Portlet:
+ </section>
+ <section id="sid-55477012">
+ <title>Standard Portlet Development (JSR286)</title>
+ <section id="sid-55477012_StandardPortletDevelopmentJSR286-TheJavaPart">
+ <title>The Java Part</title>
+ <para>
+ After setting up the the Maven <code>pom.xml</code> file as shown in the previous section, we can continue with implementing a basic JSR286 compatible portlet. An example of such a portlet is contained in the JBoss Portal Platform Quickstart "Simplest Hello World Portlet"
</para>
- <example>
- <title>SimplestHelloWorldPortlet.java</title>
- <programlisting language="Java">
+ <example>
+ <title>SimplestHelloWorldPortlet.java</title>
+ <programlisting language="Java">
package org.jboss.portal.portlet.samples;
import java.io.IOException;
@@ -182,55 +177,54 @@
*/
public class SimplestHelloWorldPortlet extends GenericPortlet {
/**
- * Serves the VIEW mode. Writes "Hello World !" to the response writer.
+ * Serves the VIEW mode. Writes "Hello World !" to the response writer.
*
* @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
@Override
public void doView(RenderRequest request, RenderResponse response) throws IOException {
PrintWriter writer = response.getWriter();
- writer.write("Hello World !");
+ writer.write("Hello World !");
writer.close();
}
}
</programlisting>
- </example>
- <para>As you can see in the listing, we have done two important things:</para>
- <itemizedlist>
- <listitem>
- <para>
+ </example>
+ <para>As you can see in the listing, we have done two important things:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
We extended
<code>javax.portlet.GenericPortlet</code>
from
<code>javax.portlet:portlet-api</code>
artifact.
</para>
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
We have overriden the
<code>doView()</code>
method.
</para>
- </listitem>
- </itemizedlist>
- <para>
+ </listitem>
+ </itemizedlist>
+ <para>
In this simplest portlet variant, EDIT and HELP portlet modes are not supported. To add them, override the <code>doEdit()</code> and <code>doHelp</code> from <code>javax.portlet.GenericPortlet</code> and configure the <code>portlet.xml</code> file accordingly.
</para>
- </section>
- <section id="sid-55477012_StandardPortletDevelopmentJSR286-portlet.xml">
-
- <title>portlet.xml</title>
- <para>
+ </section>
+ <section id="sid-55477012_StandardPortletDevelopmentJSR286-portlet.xml">
+ <title>portlet.xml</title>
+ <para>
The
<code>portlet.xml</code>
file for a plain JSR286 portlet is as follows:
</para>
- <example>
- <title>portlet.xml</title>
- <programlisting language="XML">
-<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+ <example>
+ <title>portlet.xml</title>
+ <programlisting language="XML">
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2... http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<description>Simplest Hello World Portlet is the very essence of every possible Portlet.</description>
<portlet-name>SimplestHelloWorldPortlet</portlet-name>
@@ -250,33 +244,31 @@
</portlet>
</portlet-app>
</programlisting>
- </example>
- </section>
- <section id="sid-55477012_StandardPortletDevelopmentJSR286-web.xml">
-
- <title>web.xml</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477012_StandardPortletDevelopmentJSR286-web.xml">
+ <title>web.xml</title>
+ <para>
There is no need to configure filters, servlets or mapping for a plain JSR286 portlet to work but maven-war-plugin by default requires the
<code>web.xml</code>. To solve it, include a <code>web.xml</code> file which contains solely the root element:
</para>
- <example>
- <title>web.xml</title>
- <programlisting language="XML">
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
+ <example>
+ <title>web.xml</title>
+ <programlisting language="XML">
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ version="2.5">
<!--
There is no need to configure any filters, servlets, mapping & co. for this demo to work
but maven-war-plugin by default requires this file.
-->
</web-app>
</programlisting>
- </example>
- </section>
- <section id="sid-55477012_StandardPortletDevelopmentJSR286-FurtherSteps">
-
- <title>Further Steps</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477012_StandardPortletDevelopmentJSR286-FurtherSteps">
+ <title>Further Steps</title>
+ <para>
After having done all the above, it is time to
<link linkend="sid-55379158">build and deploy the portlet</link>
,
@@ -285,53 +277,48 @@
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264655">add it to a page</ulink>
so that you can test its functionality.
</para>
- </section>
- <section id="sid-55477012_StandardPortletDevelopmentJSR286-Seealso">
-
- <title>See also</title>
- <itemizedlist>
- <listitem>
- <para>
+ </section>
+ <section id="sid-55477012_StandardPortletDevelopmentJSR286-Seealso">
+ <title>See also</title>
+ <itemizedlist>
+ <listitem>
+ <para>
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264602">Portlet Primer</ulink>
</para>
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<ulink url="http://jcp.org/en/jsr/detail?id=286">JSR286</ulink>
</para>
- </listitem>
- </itemizedlist>
- </section>
+ </listitem>
+ </itemizedlist>
</section>
- <section id="sid-55477014">
-
- <title>JSF2 Portlet Development</title>
- <para>
+ </section>
+ <section id="sid-55477014">
+ <title>JSF2 Portlet Development</title>
+ <para>
The Portlet Bridge pre-installed in JBoss Portal Platform allows for implementing portlets with JavaServer Faces (JSF) 2.1 and RichFaces (RF) 4.2.3. As RichFaces is a component library for JavaServer Faces, the guidelines for using both of them are very similar. More precisely, the setup for a JavaServer Faces portlet project is a superset of a RichFaces project setup. In accordance with that, you need to read both
<xref linkend="sid-55477016"/>
and
<xref linkend="sid-55477018"/>
when developing with RichFaces.
</para>
- <section id="sid-55477016">
-
- <title>Basic JSF Portlet Development</title>
- <para>JSF stands for JavaServer Pages. The JSF version delivered by the built-in Portlet Bridge is 2.1.</para>
- <section id="sid-55477016_BasicJSFPortletDevelopment-ExampleCode">
-
- <title>Example Code</title>
+ <section id="sid-55477016">
+ <title>Basic JSF Portlet Development</title>
+ <para>JSF stands for JavaServer Pages. The JSF version delivered by the built-in Portlet Bridge is 2.1.</para>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-ExampleCode">
+ <title>Example Code</title>
+ <para>
+ This section mentions code from the JSF2 Hello World Portlet example in the JBoss Portal Platform Quickstarts, available for download from <ulink url="https://access.redhat.com/"/> as part of your JBoss Portal Platform subscription.
+ </para>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-pom.xml">
+ <title>pom.xml</title>
<para>
- This section cites code from JSF2 Hello World Portlet from the <link linkend="sid-55378941">JBoss Portal Platform Quickstarts</link> collection.
- </para>
- <section id="sid-55477016_BasicJSFPortletDevelopment-pom.xml">
-
- <title>pom.xml</title>
- <para>
There is only one noticeable difference in <filename>pom.xml</filename> against what we have shown as a general case in the <link linkend="sid-55378991">Starting a Portlet Project</link> section. The dependencies are different for JSF:
</para>
- <example>
- <title>pom.xml</title>
- <programlisting language="XML">
+ <example>
+ <title>pom.xml</title>
+ <programlisting language="XML">
<dependencies>
<!--
The versions, scopes and types of these dependencies are managed in gatein-*-bom.
@@ -349,20 +336,19 @@
</dependency>
</dependencies>
</programlisting>
- </example>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-JSFTemplateFiles">
-
- <title>JSF Template Files</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-JSFTemplateFiles">
+ <title>JSF Template Files</title>
+ <para>
In the following listing you can see the beginning of a typical JSF portlet template. It is taken from
<code>main.xhtml</code>
file located in
<code>src/main/webapp/pages</code>
directory.
</para>
- <para>Code Snippet error: Read timed out.</para>
- <para>
+ <para>Code Snippet error: Read timed out.</para>
+ <para>
Note that
<code><f:view></code>
as a root element of the portlet template above prevents an erroneous
@@ -375,7 +361,7 @@
<code><h:body></code>
elements are always needed for JSF Facelets to work.
</para>
- <para>
+ <para>
The following listing shows the use of several JSF elements, such as
<code><h:outputLabel></code>
,
@@ -386,27 +372,26 @@
<code><h:form></code>
.
</para>
- <para>Code Snippet error: Read timed out.</para>
- <para>
+ <para>Code Snippet error: Read timed out.</para>
+ <para>
The complete source code of the above template can be found in
<code>src/main/webapp/pages/main.xhtml</code>
of JSF2 Hello World Portlet project.
</para>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-JavaBeans">
-
- <title>Java Beans</title>
- <para>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-JavaBeans">
+ <title>Java Beans</title>
+ <para>
In the JSF template file shown above, we refer to
<code>helloBean</code>
. This bean is implemented in Java as follows:
</para>
- <informalexample>
- <programlisting language="Java">
+ <informalexample>
+ <programlisting language="Java">
/**
* {@link HelloBean} is the JSF backing bean for the application, holding the input data to be re-displayed.
*/
- @ManagedBean(name = "helloBean")
+ @ManagedBean(name = "helloBean")
@SessionScoped
public class HelloBean implements Serializable {
@@ -418,11 +403,11 @@
private String name;
/**
- * Initializes {@link #name} with the value {@code "World"}.
+ * Initializes {@link #name} with the value {@code "World"}.
*/
@PostConstruct
public void postContruct() {
- this.name = "World";
+ this.name = "World";
}
/**
@@ -444,18 +429,18 @@
}
/**
- * Resets {@link #name} to the default value {@code "World"}.
+ * Resets {@link #name} to the default value {@code "World"}.
*
* @param ae ignored
*/
public void reset(ActionEvent ae) {
- this.name = "World";
+ this.name = "World";
}
}
</programlisting>
- </informalexample>
- <para>
+ </informalexample>
+ <para>
The
<code>@ManagedBean</code>
and
@@ -464,18 +449,17 @@
<code>faces-config.xml</code>
file.
</para>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-portlet.xml">
-
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-portlet.xml">
+ <title>portlet.xml</title>
+ <para>portlet.xml is the place where we tie the JSF templates with the portlet.</para>
+ <example>
<title>portlet.xml</title>
- <para>portlet.xml is the place where we tie the JSF templates with the portlet.</para>
- <example>
- <title>portlet.xml</title>
- <programlisting language="XML">
-<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
- http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+ <programlisting language="XML">
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2...
+ http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<description>A simple JSF2 portlet.</description>
<portlet-name>jsf2HelloWorldPortlet</portlet-name>
@@ -516,8 +500,8 @@
</programlisting>
- </example>
- <para>
+ </example>
+ <para>
Note that the
<code>javax.portlet.faces.defaultViewId.*</code>
<code>init-params</code>
@@ -527,20 +511,19 @@
<code><portlet-class></code>
will serve the purpose for most JSF portlets.
</para>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-web.xml">
-
- <title>web.xml</title>
- <para>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-web.xml">
+ <title>web.xml</title>
+ <para>
JSF portlets require a few tweaks in the
<code>web.xml</code>
file:
</para>
- <example>
- <title>web.xml</title>
- <programlisting language="XML">
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+ <example>
+ <title>web.xml</title>
+ <programlisting language="XML">
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>jsf2-hello-world-portlet</display-name>
<context-param>
<description>See https://docs.jboss.org/author/display/PBR/Render+Policy</description>
@@ -573,14 +556,13 @@
</servlet-mapping>
</web-app>
</programlisting>
- </example>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-CustomCSS">
-
- <title>Custom CSS</title>
- <para>
- Portlet Bridge supports loading of CSS resources in the "JSF way". Use the
- <code><h:outputStylesheet library="css" name="jsf2-hello-world-portlet.css" /></code>
+ </example>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-CustomCSS">
+ <title>Custom CSS</title>
+ <para>
+ Portlet Bridge supports loading of CSS resources in the "JSF way". Use the
+ <code><h:outputStylesheet library="css" name="jsf2-hello-world-portlet.css" /></code>
as in the
<code>main.xhtml</code>
file above. The
@@ -589,32 +571,32 @@
<code>resources/css</code>
folder of the web application.
</para>
- <para>
+ <para>
Note that relative paths like
- <code>url('css/background/jsf-logo.png')</code>
+ <code>url('css/background/jsf-logo.png')</code>
do not work when used in CSS loaded via
<code><h:outputStylesheet ...></code>
. Rather a JSF Expression Language expression
- <code>#{resource['/css/background/jsf-logo.png']</code>
+ <code>#{resource['/css/background/jsf-logo.png']</code>
} needs to be used. This expression is dynamically evaluated to a proper public URL. The path
- <code>'/css/background/jsf-logo.png'</code>
+ <code>'/css/background/jsf-logo.png'</code>
used in the expression is relative to
<code>resources</code>
folder of the web application. See also
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=51806374">Resource Serving</ulink>
.
</para>
- <example>
- <title>jsf2-hello-world-portlet.css</title>
- <programlisting>
+ <example>
+ <title>jsf2-hello-world-portlet.css</title>
+ <programlisting>
div.jsf2HelloWorldPortlet {
padding: 10px;
/* In the following we use a JSF Expression Language expression rather then plain relative path.
- Plain relative paths do not work in JSF portlets. The expression #{resource['...']} is
- dynamically evaluated to a proper public URL. The path '/css/background/jsf-logo.png'
+ Plain relative paths do not work in JSF portlets. The expression #{resource['...']} is
+ dynamically evaluated to a proper public URL. The path '/css/background/jsf-logo.png'
used in the expression is relative to resources folder of this web application.
See https://docs.jboss.org/author/display/PBR/Resource+Serving */
- background: url(#{resource['/css/background/jsf-logo.png']}) no-repeat;
+ background: url(#{resource['/css/background/jsf-logo.png']}) no-repeat;
background-position-x: 753px;
background-position-y: 10px;
}
@@ -622,12 +604,11 @@
width: 713px;
}
</programlisting>
- </example>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-Internationalization">
-
- <title>Internationalization</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-Internationalization">
+ <title>Internationalization</title>
+ <para>
Internationalization is supported via standard Java Resource bundles. In our example project the
<code>*.property</code>
files of
@@ -638,11 +619,11 @@
<filename>faces-config.xml</filename>
are needed so that this bundle can be used in JSF templates.
</para>
- <example>
- <title>faces-config.xml</title>
- <programlisting language="XML">
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0">
+ <example>
+ <title>faces-config.xml</title>
+ <programlisting language="XML">
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0">
<application>
<!-- Declare the internationalization resources -->
<resource-bundle>
@@ -657,20 +638,19 @@
</application>
</faces-config>
</programlisting>
- </example>
- <para>
+ </example>
+ <para>
Note that in the above faces-config.xml, we have made our bundle visible in JSF templates under the variable
<code>msgs</code>
. Its individual entries can then be accessed using the usual Expression Language dot notation: e.g.
<code>#{msgs.Name</code>
}.
</para>
- </section>
</section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-FurtherSteps">
-
- <title>Further Steps</title>
- <para>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-FurtherSteps">
+ <title>Further Steps</title>
+ <para>
After having done all the above, it is time to
<link linkend="sid-55379158">build and deploy the portlet</link>
,
@@ -679,42 +659,36 @@
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264655">add it to a page</ulink>
so that you can test its functionality.
</para>
- </section>
- <section id="sid-55477016_BasicJSFPortletDevelopment-Seealso">
-
- <title>See also</title>
- <itemizedlist>
- <listitem>
- <para>
+ </section>
+ <section id="sid-55477016_BasicJSFPortletDevelopment-Seealso">
+ <title>See also</title>
+ <itemizedlist>
+ <listitem>
+ <para>
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264602">Portlet Primer</ulink>
</para>
- </listitem>
- </itemizedlist>
- </section>
+ </listitem>
+ </itemizedlist>
</section>
- <section id="sid-55477018">
-
- <title>JSF Portlet Development with RichFaces</title>
- <para>
+ </section>
+ <section id="sid-55477018">
+ <title>JSF Portlet Development with RichFaces</title>
+ <para>
As we have already noted, RichFaces (RF) is just a component library for JavaServer Faces (JSF). Therefore, everything said in the
<xref linkend="sid-55477016"/>
chapter applies here too.
</para>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-ExampleCode">
-
- <title>Example Code</title>
- <para>
- This section cites code from JSF2+RF4 Hello World Portlet from the
- <link linkend="sid-55378941">JBoss Portal Platform Quickstarts</link>
- collection.
- </para>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-pom.xml">
-
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-ExampleCode">
+ <title>Example Code</title>
+ <para>
+ This section mentions code from the JSF2+RF4 Hello World Portlet example in the JBoss Portal Platform Quickstarts, available for download from <ulink url="https://access.redhat.com/"/> as part of your JBoss Portal Platform subscription.
+ </para>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-pom.xml">
+ <title>pom.xml</title>
+ <para>We need to add several RF-specific dependencies to the general JSF ones:</para>
+ <example>
<title>pom.xml</title>
- <para>We need to add several RF-specific dependencies to the general JSF ones:</para>
- <example>
- <title>pom.xml</title>
- <programlisting language="XML">
+ <programlisting language="XML">
<dependencies>
<!--
The versions, scopes and types of these dependencies are managed in gatein-*-bom.
@@ -751,71 +725,69 @@
</dependency>
</dependencies>
</programlisting>
- </example>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-JSFTemplateFiles">
-
- <title>JSF Template Files</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-JSFTemplateFiles">
+ <title>JSF Template Files</title>
+ <para>
We use
<code><rich:*></code>
components in the templates:
</para>
- <example>
- <title>Form with rich: components in main.xhtml</title>
- <programlisting language="XML">
+ <example>
+ <title>Form with rich: components in main.xhtml</title>
+ <programlisting language="XML">
</p>
- <h:form id="jsf2HelloWorldPortlet">
- <h:panelGrid columns="2">
- <h:outputLabel value="#{msgs.Greeting}" for="greeting"/>
- <rich:select id="greeting" value="#{helloBean.greeting}">
- <f:selectItems value="#{helloBean.greetings}" />
- <f:ajax render="output" event="selectitem"/>
+ <h:form id="jsf2HelloWorldPortlet">
+ <h:panelGrid columns="2">
+ <h:outputLabel value="#{msgs.Greeting}" for="greeting"/>
+ <rich:select id="greeting" value="#{helloBean.greeting}">
+ <f:selectItems value="#{helloBean.greetings}" />
+ <f:ajax render="output" event="selectitem"/>
</rich:select>
- <h:outputLabel value="#{msgs.Name}" for="nameInput"/>
- <h:inputText id="nameInput" value="#{helloBean.name}">
- <f:validateLength minimum="1" maximum="50" />
- <f:ajax render="output" event="keyup"/>
+ <h:outputLabel value="#{msgs.Name}" for="nameInput"/>
+ <h:inputText id="nameInput" value="#{helloBean.name}">
+ <f:validateLength minimum="1" maximum="50" />
+ <f:ajax render="output" event="keyup"/>
</h:inputText>
</h:panelGrid>
<p>
- <h:panelGroup id="output">
- <strong><h:outputText value="#{helloBean.greeting} #{helloBean.name}!" rendered="#{not empty helloBean.name}"/></strong>
+ <h:panelGroup id="output">
+ <strong><h:outputText value="#{helloBean.greeting} #{helloBean.name}!" rendered="#{not empty helloBean.name}"/></strong>
</h:panelGroup>
</p>
<p>
- <h:commandButton id="reset" value="#{msgs.Reset}" actionListener="#{helloBean.reset}">
- <f:ajax render="@form" />
+ <h:commandButton id="reset" value="#{msgs.Reset}" actionListener="#{helloBean.reset}">
+ <f:ajax render="@form" />
</h:commandButton> - #{msgs.ResetComment}
</p>
<p>
- <h:commandButton id="reload" value="#{msgs.Reload}" /> - #{msgs.ReloadComment}
+ <h:commandButton id="reload" value="#{msgs.Reload}" /> - #{msgs.ReloadComment}
</p>
</programlisting>
- </example>
- <para>The complete source code of the above template can be found in src/main/webapp/pages/main.xhtml of JSF2+RF4 Hello World Portlet quickstart.</para>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-JavaBeans">
-
- <title>Java Beans</title>
- <para>
+ </example>
+ <para>The complete source code of the above template can be found in src/main/webapp/pages/main.xhtml of JSF2+RF4 Hello World Portlet quickstart.</para>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-JavaBeans">
+ <title>Java Beans</title>
+ <para>
The HelloBean presented in the
<xref linkend="sid-55477016"/>
chapter was extended firstly to provide a list of greeting phrases selectable in the drop-down box on the main.xhtml page and secondly to be able to store the greeting phrase selected in the drop-down box.
</para>
- <example>
- <title>HelloBean.java</title>
- <programlisting language="Java">
+ <example>
+ <title>HelloBean.java</title>
+ <programlisting language="Java">
/**
- * Static list of greetings. Contains {@code "Hello"} and {@code "Hi"}.
+ * Static list of greetings. Contains {@code "Hello"} and {@code "Hi"}.
*/
private static final List<SelectItem> GREETINGS;
static {
List<SelectItem> l = new ArrayList<SelectItem>(2);
- l.add(new SelectItem("Hello"));
- l.add(new SelectItem("Hi"));
+ l.add(new SelectItem("Hello"));
+ l.add(new SelectItem("Hi"));
GREETINGS = Collections.unmodifiableList(l);
}
@@ -824,10 +796,10 @@
*/
private String greeting;
</programlisting>
- </example>
- <example>
- <title>HelloBean.java</title>
- <programlisting language="Java">
+ </example>
+ <example>
+ <title>HelloBean.java</title>
+ <programlisting language="Java">
/**
* Returns {@link #greeting}.
*
@@ -857,23 +829,22 @@
/**
- * Resets {@link #name} to the default value {@code "World"} and {@link #greeting} with the default value {@code "Hello"}.
+ * Resets {@link #name} to the default value {@code "World"} and {@link #greeting} with the default value {@code "Hello"}.
*
* @param ae ignored
*/
public void reset(ActionEvent ae) {
- this.name = "World";
- this.greeting = "Hello";
+ this.name = "World";
+ this.greeting = "Hello";
}
}
</programlisting>
- </example>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-portlet.xml">
-
- <title>portlet.xml</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-portlet.xml">
+ <title>portlet.xml</title>
+ <para>
There is no substantial change in portlet.xml against the
<xref linkend="sid-55477016"/>
chapter. Only
@@ -886,13 +857,13 @@
<code><title></code>
have been changed.
</para>
- <example>
- <title>portlet.xml</title>
- <programlisting language="XML">
-<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
- http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+ <example>
+ <title>portlet.xml</title>
+ <programlisting language="XML">
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2...
+ http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<description>A simple portlet usinf JSF2 and RF4.</description>
<portlet-name>jsf2Rf4HelloWorldPortlet</portlet-name>
@@ -931,21 +902,20 @@
</portlet>
</portlet-app>
</programlisting>
- </example>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-web.xml">
-
- <title>web.xml</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-web.xml">
+ <title>web.xml</title>
+ <para>
We set a few more
<code>init-params</code>
in web.xml for RichFaces components to work:
</para>
- <example>
- <title>web.xml</title>
- <programlisting language="XML">
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+ <example>
+ <title>web.xml</title>
+ <programlisting language="XML">
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>jsf2-rf4-hello-world-portlet</display-name>
<context-param>
<description>See https://docs.jboss.org/author/display/PBR/Installing+Portlet+Bridge#Insta...
@@ -1017,31 +987,28 @@
</web-app>
</programlisting>
- </example>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-CustomCSS">
-
- <title>Custom CSS</title>
- <para>
+ </example>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-CustomCSS">
+ <title>Custom CSS</title>
+ <para>
Fully analogous with
<link linkend="sid-55477016">plain JSF portlets</link>
.
</para>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-Internationalization">
-
- <title>Internationalization</title>
- <para>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-Internationalization">
+ <title>Internationalization</title>
+ <para>
Fully analogous with
<link linkend="sid-55477016">plain JSF portlets</link>
.
</para>
- </section>
</section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-FurtherSteps">
-
- <title>Further Steps</title>
- <para>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-FurtherSteps">
+ <title>Further Steps</title>
+ <para>
After having done all the above, it is time to
<link linkend="sid-55379158">build and deploy the portlet</link>
,
@@ -1050,36 +1017,34 @@
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264655">add it to a page</ulink>
so that you can test its functionality.
</para>
- </section>
- <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-Seealso">
-
- <title>See also</title>
- <itemizedlist>
- <listitem>
- <para>
+ </section>
+ <section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-Seealso">
+ <title>See also</title>
+ <itemizedlist>
+ <listitem>
+ <para>
<ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264602">Portlet Primer</ulink>
</para>
- </listitem>
- </itemizedlist>
- </section>
+ </listitem>
+ </itemizedlist>
</section>
</section>
- <section id="sid-55379158">
-
- <title>Building and Deploying Portlets</title>
- <orderedlist>
- <listitem>
- <para>Make sure you have your JBoss Portal Platform instance is running.</para>
- </listitem>
- <listitem>
- <para>Open a command line and navigate to the root directory of your portlet project.</para>
- </listitem>
- <listitem>
- <para>Type this command to build and deploy the archive:</para>
- <informalexample>
- <programlisting>mvn clean package jboss-as:deploy</programlisting>
- </informalexample>
- <para>
+ </section>
+ <section id="sid-55379158">
+ <title>Building and Deploying Portlets</title>
+ <orderedlist>
+ <listitem>
+ <para>Make sure you have your JBoss Portal Platform instance is running.</para>
+ </listitem>
+ <listitem>
+ <para>Open a command line and navigate to the root directory of your portlet project.</para>
+ </listitem>
+ <listitem>
+ <para>Type this command to build and deploy the archive:</para>
+ <informalexample>
+ <programlisting>mvn clean package jboss-as:deploy</programlisting>
+ </informalexample>
+ <para>
To deploy to other than default
<code>localhost:9999</code>
JBoss Portal Platform instance, copy the following configuration just after
@@ -1092,24 +1057,24 @@
<code><username></code>
and
<code><password></code>
- elements can be omitted sometimes, depending on JBoss Portal Platform's security settings.
+ elements can be omitted sometimes, depending on JBoss Portal Platform's security settings.
</para>
- <informalexample>
- <programlisting language="XML"><configuration>
+ <informalexample>
+ <programlisting language="XML"><configuration>
<hostname>127.0.0.1</hostname>
<port>9999</port>
<username>admin</username>
<password>secret</password>
</configuration></programlisting>
- </informalexample>
- <para>
+ </informalexample>
+ <para>
This will deploy
<code>target/simplest-hello-world-portlet.war</code>
to the running instance of the portal.
</para>
- </listitem>
- </orderedlist>
- </section>
+ </listitem>
+ </orderedlist>
</section>
+ </section>
</chapter>
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/chapter-6-GDG_JavaScript_Development.xml
===================================================================
(Binary files differ)
11 years, 11 months
gatein SVN: r9103 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: jaredmorgs
Date: 2013-01-30 21:44:30 -0500 (Wed, 30 Jan 2013)
New Revision: 9103
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml
epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
Log:
Changes incorporated for https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Internationaliza...
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml 2013-01-31 02:35:40 UTC (rev 9102)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml 2013-01-31 02:44:30 UTC (rev 9103)
@@ -12,6 +12,5 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-4-GDG_Portal_Development.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-5-GDG_Application_development.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-6-GDG_JavaScript_Development.xml"/>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="appendix-Quickstarts.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
</book>
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 02:35:40 UTC (rev 9102)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/Revision_History.xml 2013-01-31 02:44:30 UTC (rev 9103)
@@ -5,6 +5,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>6.0.0-8</revnumber>
+ <date>Thu Jan 31 2013</date>
+ <author>
+ <firstname>Jared</firstname>
+ <surname>Morgan</surname>
+ <email/>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Changes incorporated for https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Internationaliza...</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>6.0.0-7</revnumber>
<date>Wed Jan 23 2013</date>
<author>
@@ -17,7 +31,7 @@
<member>BZ#886376 - Updated all Book_Info.xml files with consistent subtitle. Rebuilt for review..</member>
</simplelist>
</revdescription>
- </revision>
+ </revision>
<revision>
<revnumber>6.0.0-6</revnumber>
<date>Fri Jan 18 2013</date>
11 years, 11 months
gatein SVN: r9102 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: jaredmorgs
Date: 2013-01-30 21:35:40 -0500 (Wed, 30 Jan 2013)
New Revision: 9102
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml
Log:
Changes incorporated for https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Internationaliza...
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml 2013-01-31 01:43:20 UTC (rev 9101)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/chapter-4-GDG_Portal_Development.xml 2013-01-31 02:35:40 UTC (rev 9102)
@@ -223,7 +223,7 @@
<title>Custom Skin for a Portlet</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Skin+for+a+Portlet</remark>
<para>
- This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/>. as part of your JBoss Portal Platform subscription.
+ This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/> as part of your JBoss Portal Platform subscription.
</para>
<para>The same guidelines that apply when creating a new portlet skin also apply when creating a custom skin for a built-in portlet distributed with JBoss Portal Platform. </para>
<para>Declare the skin first in the
@@ -302,7 +302,7 @@
<section id="Custom_Navigation_And_Pages">
<title>Custom Navigation and Pages</title>
<para>
- This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/>. as part of your JBoss Portal Platform subscription.
+ This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/> as part of your JBoss Portal Platform subscription.
</para>
<para>In Portal Extension quickstart, we have added a couple of navigation nodes and pages to the ones available in the default GateIn Portal installation.</para>
<section id="portal-configuration-xml">
@@ -622,111 +622,101 @@
</section>
<section id="Custom_Internationalization_Resource_Bundles">
<title>Custom Internationalization Resource Bundles</title>
+ <remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Custom+Internationaliza...</remark>
<para>
- This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/>. as part of your JBoss Portal Platform subscription.
+ This section mentions code from the Portal Extension Examples available for download from <ulink url="https://access.redhat.com/"/> as part of your JBoss Portal Platform subscription.
</para>
<para>There are two resource bundle customization scenarios possible with a Portal Extension:</para>
<itemizedlist>
<listitem>
- <para>to add new resource bundle items to the ones available in default GateIn Portal installation and</para>
+ <para>to add new resource bundle items to the ones available in the default JBoss Portal Platform installation.</para>
</listitem>
<listitem>
- <para>to assign new values to resource bundle items available in default GateIn Portal installation</para>
+ <para>to assign new values to resource bundle items available in default JBoss Portal Platform installation.</para>
</listitem>
</itemizedlist>
<para>
- Both scenarios can be demonstrated on
+ Both scenarios can be demonstrated using the
<code>locale.portal.extension</code>
- resource bundle. To use this bundle we need to include it in both
+ resource bundle. To use this bundle, include both
<code>init.resources</code>
and
<code>portal.resource.names</code>
- parameters of
+ parameters for the
<code>BaseResourceBundlePlugin</code>
- in
+<type> directive in
<code>war/src/main/webapp/WEB-INF/conf/sample-ext/common/common-configuration.xml</code>
:
</para>
<example>
<title>common-configuration.xml containing declarations of navigation resource bundles</title>
- <programlisting>
-19. <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-20. xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd http://www.exoplaform.org/xml/ns/kernel_1_2.xsd" xmlns="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd">
-21. <external-component-plugins>
-22. <!-- The full qualified name of the ResourceBundleService -->
-23. <target-component>org.exoplatform.services.resources.ResourceBundleService</target-component>
-24. <component-plugin>
-25. <!-- The name of the plugin -->
-26. <name>Sample ResourceBundle Plugin</name>
-27. <!-- The name of the method to call on the ResourceBundleService in order to register the ResourceBundles -->
-28. <set-method>addResourceBundle</set-method>
-29. <!-- The full qualified name of the BaseResourceBundlePlugin -->
-30. <type>org.exoplatform.services.resources.impl.BaseResourceBundlePlugin</type>
-31. <init-params>
-32. <values-param>
-33. <name>init.resources</name>
-34. <description>Initiate the following resources during the first launch.</description>
-35. <value>locale.portal.extension</value>
-36. <value>locale.navigation.user.root</value>
-37. <!--
-38. Note that we actually do not need to name locale.navigation.portal.classic and
-39. locale.navigation.group.platform.administrators here as they are in init.resources
-40. of the default GateIn installation. But it makes no harm to include them once again here.
-41. -->
-42. <value>locale.navigation.portal.classic</value>
-43. <value>locale.navigation.group.platform.administrators</value>
-44. </values-param>
-45. <values-param>
-46. <name>portal.resource.names</name>
-47. <description>These resources are merged to a single resource bundle which is accessible from anywhere
-48. in GateIn. All these keys are located in the same bundle, which is separated from the navigation
-49. resource bundles.</description>
-50. <value>locale.portal.extension</value>
-51. </values-param>
-52. </init-params>
-53. </component-plugin>
-54. </external-component-plugins>
-55. </configuration>
-</programlisting>
+ <programlisting language="XML"><configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd http://www.exoplatform.org/xml/ns/kernel_1_2.xsd" xmlns="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd">
+ <external-component-plugins>
+ <!-- The full qualified name of the ResourceBundleService -->
+ <target-component>org.exoplatform.services.resources.ResourceBundleService</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Sample ResourceBundle Plugin</name>
+ <!-- The name of the method to call on the ResourceBundleService in order to register the ResourceBundles -->
+ <set-method>addResourceBundle</set-method>
+ <!-- The full qualified name of the BaseResourceBundlePlugin -->
+ <type>org.exoplatform.services.resources.impl.BaseResourceBundlePlugin</type>
+ <init-params>
+ <values-param>
+ <name>init.resources</name>
+ <description>Initiate the following resources during the first launch.</description>
+ <value>locale.portal.extension</value>
+ <value>locale.navigation.user.root</value>
+ <!--
+ Note that we actually do not need to name locale.navigation.portal.classic and
+ locale.navigation.group.platform.administrators here as they are in init.resources
+ of the default GateIn installation. But it makes no harm to include them once again here.
+ -->
+ <value>locale.navigation.portal.classic</value>
+ <value>locale.navigation.group.platform.administrators</value>
+ </values-param>
+ <values-param>
+ <name>portal.resource.names</name>
+ <description>These resources are merged to a single resource bundle which is accessible from anywhere
+ in GateIn. All these keys are located in the same bundle, which is separated from the navigation
+ resource bundles.</description>
+ <value>locale.portal.extension</value>
+ </values-param>
+ </init-params>
+ </component-plugin>
+ </external-component-plugins>
+</configuration></programlisting>
</example>
<para>
The English version of
- <code>locale.portal.extension</code>
- can be found under
- <code>war/src/main/webapp/WEB-INF/classes/locale/portal/extension_en.properties</code>
- :
- </para>
+ <code>locale.portal.extension</code> is located in
+ <filename>war/src/main/webapp/WEB-INF/classes/locale/portal/extension_en.properties</filename>. </para>
<example>
<title>English version of locale.portal.extension</title>
- <programlisting>
-17. UIHomePagePortlet.Label.Slogan=Congratulations!
-18. UIHomePagePortlet.Label.SubSlogan=You have just installed the GateIn Portal Extension
-19. UIHomePagePortlet.Label.Title=Sign in as:
-</programlisting>
+ <programlisting>UIHomePagePortlet.Label.Slogan=Congratulations!
+UIHomePagePortlet.Label.SubSlogan=You have just installed the GateIn Portal Extension
+UIHomePagePortlet.Label.Title=Sign in as:</programlisting>
</example>
<para>
<code>UIHomePagePortlet.Label.SubSlogan</code>
- is a new key which is not available in default GateIn Portal installation.
- </para>
- <para>
+ is a new key which is not normally available in the default JBoss Portal Platform installation.
+
However,
<code>UIHomePagePortlet.Label.Slogan</code>
is redefined in
<code>extension_en.properties</code>
- shown above. In
- <code>gatein.ear/web.war/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties</code>
- it is already defined as
- </para>
+ shown above. </para>
+ <para>In
+ <filename>JPP_HOME/gatein/gatein.ear/web.war/WEB-INF/classes/locale/portlet/web/GroovyPortlet_en.properties</filename>
+ it is already defined as: </para>
<programlisting>UIHomePagePortlet.Label.Slogan=The Best of eXo and JBoss Portal<div>GateIn #{gatein.version}</div></programlisting>
- <para>
- and here, within the Portal Extension we assign a new value
+ <para>Within the Portal Extension, the new value
<code>Congratulations!</code>
- to it.
+is appended to it.
</para>
- <para>
- Please refer to the
- <link linkend="Adding_Navigation_Node_Group_Navigation">previous section</link>
- for more details on internationalization of navigation nodes.
+ <para>Refer to the <xref linkend="Adding_Navigation_Node_Group_Navigation"/>
+ for more details on internationalization of navigation nodes.
</para>
</section>
<section id="Custom_Sign_In_Page">
11 years, 11 months
gatein SVN: r9101 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: rdickens
Date: 2013-01-30 20:43:20 -0500 (Wed, 30 Jan 2013)
New Revision: 9101
Modified:
epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml
epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
Log:
Added 'Quickstarts' appendix and minor cleanup of GateIn references and intradocument links
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml 2013-01-31 01:43:08 UTC (rev 9100)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/Developer_Guide.xml 2013-01-31 01:43:20 UTC (rev 9101)
@@ -12,5 +12,6 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-4-GDG_Portal_Development.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-5-GDG_Application_development.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-6-GDG_JavaScript_Development.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="appendix-Quickstarts.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
</book>
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml 2013-01-31 01:43:08 UTC (rev 9100)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml 2013-01-31 01:43:20 UTC (rev 9101)
@@ -2,17 +2,18 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter id="sid-55378941">
- <title>Appendix - Code Examples alias Quickstarts</title>
- <para>GateIn Portal Quickstarts provide small, specific, working examples that can be used as a reference for your own project.</para>
- <para>GateIn Portal Quickstarts can be obtained in one of the following ways:</para>
+ <title>Appendix - Quickstarts</title>
+ <para>JBoss Portal Platform Quickstarts provide small, specific, working examples that can be used as a reference for your own project.</para>
+ <para>The Quickstarts can be obtained in one of the following ways:</para>
<section id="sid-55378941_Appendix-Quickstarts-DownloadsPage">
- <title>1. GateIn Portal Downloads Page</title>
+ <title>JBoss Portal Platform Downloads Page</title>
+ <remark>Source: https://https://docs.jboss.org/author/display/GTNPORTAL35/Appendix+-+Code..., incorporated changes up to version 3</remark>
<itemizedlist>
<listitem>
<para>
- A ZIP file containing all Quickstarts can be downloaded from
- <ulink url="http://www.jboss.org/gatein/downloads/gateinportal.html">GateIn Portal Downloads page</ulink>
+ A zip archive containing all Quickstarts can be downloaded from
+ <ulink url="http://www.jboss.org/gatein/downloads/gateinportal.html">JBoss Portal Platform Downloads page</ulink>
.
</para>
</listitem>
@@ -20,7 +21,7 @@
</section>
<section id="sid-55378941_Appendix-Quickstarts-IDE">
- <title>2. JBoss Developer Studio or Eclipse with JBoss Tools</title>
+ <title>JBoss Developer Studio or Eclipse with JBoss Tools</title>
<itemizedlist>
<listitem>
<para>
@@ -31,7 +32,7 @@
<listitem>
<para>
In the New Project Example dialog, select the Site
- <code>JBoss Community GateIn Portal Examples</code>
+ <code>JBoss Community JBoss Portal Platform Examples</code>
from the drop down menu
</para>
</listitem>
@@ -52,11 +53,11 @@
</section>
<section id="sid-55378941_Appendix-Quickstarts-GitHub">
- <title>3. GitHub</title>
+ <title>GitHub</title>
<para>Issue the following command</para>
<informalexample>
<programlisting>git clone https://github.com/gatein/gatein-portal-quickstart.git</programlisting>
</informalexample>
- <para>... and switch to the branch compatible with your GateIn Portal version.</para>
+ <para>... and switch to the branch compatible with your JBoss Portal Platform version.</para>
</section>
</chapter>
Modified: epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml 2013-01-31 01:43:08 UTC (rev 9100)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/chapter-5-GDG_Application_development.xml 2013-01-31 01:43:20 UTC (rev 9101)
@@ -11,13 +11,13 @@
In the context of JBoss Portal Platform, gadgets are defined by the Google OpenSocial specifications. Since JBoss Portal Platform &VY;, the portal framework includes Apache Shindig 2.0 which is made to support the version 0.9 and 1.0 of OpenSocial.
</para>
<para>
- Within a portal, it is possible to embed any OpenSocial gadget in a page or in a user's dashboard. Gadgets can be added to the application registry and links can be added to the mini-composer (see the JBoss Portal Platform User Guide).
+ Within a portal, it is possible to embed any OpenSocial gadget in a page or in a user's dashboard. Gadgets can be added to the application registry and links can be added to the mini-composer (see the JBoss Portal Platform <citetitle>User Guide</citetitle>).
</para>
</section>
<section id="sid-819807_GDG-GadgetDevelopment-DevelopingGadgets">
<title>Developing Gadgets</title>
<para>
- OpenSocial gadgets are made of standard HTML and JavaScript. The container offers an API, the documentation for which is available <ulink url="http://opensocial-resources.googlecode.com/svn/spec/1.0/Core-Gadget.xml">here</ulink> .
+ OpenSocial gadgets are made of standard HTML and JavaScript. The container offers an API, the documentation for which is available at <ulink url="http://opensocial-resources.googlecode.com/svn/spec/1.0/Core-Gadget.xml">http://opensocial-resources.googlecode.com/svn/spec/1.0/Core-Gadget.xml</ulink>.
</para>
<para>
Note that, unlike portlets, a gadget has very little knowledge of its context (the portal) and its integration within the portal may be more limited (in terms of visual integration for instance).
@@ -30,11 +30,10 @@
<section id="sid-819805">
<title>Portlet Development</title>
<para>
- JBoss Enterprise Portal interface is fully customizable with applications called portlets. Application development can be done by using the plain Portlet specification JSR286 (refer to the "Portlet Primer" chapter in the JBoss Portal Platform <citetitle>Reference Guide</citetitle> for more information), but it is also possible to use the JBoss Portlet Bridge to write applications with JavaServerFaces (JSF), RichFaces or Seam (refer to the "Getting started with JBoss Portlet Bridge" chapter of the JBoss Portal Platform <citetitle>Reference Guide)</citetitle>.
+ JBoss Portal Platform's interface is fully customizable with applications called portlets. Application development can be done by using the plain Portlet specification JSR286 (refer to the "Portlet Primer" chapter in the JBoss Portal Platform <citetitle>Reference Guide</citetitle> for more information), but it is also possible to use the JBoss Portlet Bridge to write applications with JavaServerFaces (JSF), RichFaces or Seam (refer to the "Getting started with JBoss Portlet Bridge" chapter of the JBoss Portal Platform <citetitle>Reference Guide)</citetitle>.
</para>
- <remark>FIXME: Insert link to "[Starting a Portlet Project]"</remark>
<para>
- Whichever technology you choose, refer to [Starting a Portlet Project] to learn how to set up your project in a robust and effective way using the JBoss Portal Platform Bill of Materials (BOM).
+ Whichever technology you choose, refer to <link linkend="sid-55378991">Starting a Portlet Project</link> to learn how to set up your project in a robust and effective way using the JBoss Portal Platform Bill of Materials (BOM).
</para>
<section id="sid-55378991">
@@ -49,9 +48,8 @@
<section id="sid-55378991_StartingaPortletProject-HowtoUseBOM">
<title>How to Use JBoss Portal Platform BOM</title>
- <remark>FIXME: Link to Quickstarts section when it's available</remark>
<para>
- Let us look at the <code>pom.xml</code> file from Simplest Hello World link linkend="sid-55378941">Quickstart/link below, which contains all necessary details.
+ Let us look at the <code>pom.xml</code> file from Simplest Hello World Portket example below, which contains all necessary details.
</para>
<para>
In its <code><dependencyManagement></code> section, it declares
@@ -64,7 +62,7 @@
</para>
<example>
<title>Simplest Hello World Portlet</title>
- <programlisting>
+ <programlisting language="XML">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -162,9 +160,8 @@
<section id="sid-55477012_StandardPortletDevelopmentJSR286-TheJavaPart">
<title>The Java Part</title>
- <remark>FIXME: Link to Quickstarts section when it's available</remark>
<para>
- After setting up the the Maven <code>pom.xml</code> file as shown in the <link linkend="sid-55378991">previous section</link>, we can continue with implementing a basic JSR286 compatible portlet. Simplest Hello World Portlet from the link linkend="sid-55378941">GateIn Quickstarts/link collection shows the very essence of every JSR286 Portlet:
+ After setting up the the Maven <code>pom.xml</code> file as shown in the previous section, we can continue with implementing a basic JSR286 compatible portlet. Simplest Hello World Portlet from the JBoss Portal Platform <link linkend="sid-55378941">Quickstarts</link> collection shows the very essence of every JSR286 Portlet:
</para>
<example>
<title>SimplestHelloWorldPortlet.java</title>
@@ -231,7 +228,7 @@
</para>
<example>
<title>portlet.xml</title>
- <programlisting>
+ <programlisting language="XML">
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
@@ -264,7 +261,7 @@
</para>
<example>
<title>web.xml</title>
- <programlisting>
+ <programlisting language="XML">
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
@@ -323,19 +320,18 @@
<section id="sid-55477016_BasicJSFPortletDevelopment-ExampleCode">
<title>Example Code</title>
- <remark>FIXME: Link to Quickstarts section when it's available</remark>
<para>
- This section cites code from JSF2 Hello World Portlet from the link linkend="sid-55378941">JBoss Portal Platform Quickstarts/link collection.
+ This section cites code from JSF2 Hello World Portlet from the <link linkend="sid-55378941">JBoss Portal Platform Quickstarts</link> collection.
</para>
<section id="sid-55477016_BasicJSFPortletDevelopment-pom.xml">
<title>pom.xml</title>
<para>
- There is only one noticeable difference in <code>pom.xml</code> against what we have shown as a general case in the <xref linkend="sid-55378991"/> section. The dependencies are different for JSF:
+ There is only one noticeable difference in <filename>pom.xml</filename> against what we have shown as a general case in the <link linkend="sid-55378991">Starting a Portlet Project</link> section. The dependencies are different for JSF:
</para>
<example>
<title>pom.xml</title>
- <programlisting>
+ <programlisting language="XML">
<dependencies>
<!--
The versions, scopes and types of these dependencies are managed in gatein-*-bom.
@@ -475,7 +471,7 @@
<para>portlet.xml is the place where we tie the JSF templates with the portlet.</para>
<example>
<title>portlet.xml</title>
- <programlisting>
+ <programlisting language="XML">
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
@@ -542,7 +538,7 @@
</para>
<example>
<title>web.xml</title>
- <programlisting>
+ <programlisting language="XML">
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>jsf2-hello-world-portlet</display-name>
@@ -644,7 +640,7 @@
</para>
<example>
<title>faces-config.xml</title>
- <programlisting>
+ <programlisting language="XML">
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0">
<application>
@@ -707,10 +703,9 @@
<section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-ExampleCode">
<title>Example Code</title>
- <remark>FIXME: Link to Quickstarts section when it's available</remark>
<para>
This section cites code from JSF2+RF4 Hello World Portlet from the
- link linkend="sid-55378941">JBoss Portal Platform Quickstarts/link
+ <link linkend="sid-55378941">JBoss Portal Platform Quickstarts</link>
collection.
</para>
<section id="sid-55477018_JSFPortletDevelopmentwithRichFaces-pom.xml">
@@ -719,7 +714,7 @@
<para>We need to add several RF-specific dependencies to the general JSF ones:</para>
<example>
<title>pom.xml</title>
- <programlisting>
+ <programlisting language="XML">
<dependencies>
<!--
The versions, scopes and types of these dependencies are managed in gatein-*-bom.
@@ -768,7 +763,7 @@
</para>
<example>
<title>Form with rich: components in main.xhtml</title>
- <programlisting>
+ <programlisting language="XML">
</p>
<h:form id="jsf2HelloWorldPortlet">
<h:panelGrid columns="2">
@@ -811,7 +806,7 @@
</para>
<example>
<title>HelloBean.java</title>
- <programlisting>
+ <programlisting language="Java">
/**
* Static list of greetings. Contains {@code "Hello"} and {@code "Hi"}.
*/
@@ -832,7 +827,7 @@
</example>
<example>
<title>HelloBean.java</title>
- <programlisting>
+ <programlisting language="Java">
/**
* Returns {@link #greeting}.
*
@@ -893,7 +888,7 @@
</para>
<example>
<title>portlet.xml</title>
- <programlisting>
+ <programlisting language="XML">
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
@@ -948,7 +943,7 @@
</para>
<example>
<title>web.xml</title>
- <programlisting>
+ <programlisting language="XML">
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>jsf2-rf4-hello-world-portlet</display-name>
@@ -1101,7 +1096,7 @@
</para>
<informalexample>
- <programlisting><configuration>
+ <programlisting language="XML"><configuration>
<hostname>127.0.0.1</hostname>
<port>9999</port>
<username>admin</username>
11 years, 11 months
gatein SVN: r9100 - epp/docs/branches/6.0/Developer_Guide/en-US.
by do-not-reply@jboss.org
Author: rdickens
Date: 2013-01-30 20:43:08 -0500 (Wed, 30 Jan 2013)
New Revision: 9100
Added:
epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
Log:
Edited section IDs so that were more easily read.
Added: epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml
===================================================================
--- epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml (rev 0)
+++ epp/docs/branches/6.0/Developer_Guide/en-US/appendix-Quickstarts.xml 2013-01-31 01:43:08 UTC (rev 9100)
@@ -0,0 +1,62 @@
+<?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="sid-55378941">
+
+ <title>Appendix - Code Examples alias Quickstarts</title>
+ <para>GateIn Portal Quickstarts provide small, specific, working examples that can be used as a reference for your own project.</para>
+ <para>GateIn Portal Quickstarts can be obtained in one of the following ways:</para>
+ <section id="sid-55378941_Appendix-Quickstarts-DownloadsPage">
+
+ <title>1. GateIn Portal Downloads Page</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ A ZIP file containing all Quickstarts can be downloaded from
+ <ulink url="http://www.jboss.org/gatein/downloads/gateinportal.html">GateIn Portal Downloads page</ulink>
+ .
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="sid-55378941_Appendix-Quickstarts-IDE">
+
+ <title>2. JBoss Developer Studio or Eclipse with JBoss Tools</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ In your Workbench, go to
+ <code>File > New > Example... > JBoss Tools > Project Examples</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ In the New Project Example dialog, select the Site
+ <code>JBoss Community GateIn Portal Examples</code>
+ from the drop down menu
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select one of the available Quickstarts, e.g.
+ <code>Simplest Hello World Portlet</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Click
+ <code>Finish</code>
+ and the example project will be imported into your workspace.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="sid-55378941_Appendix-Quickstarts-GitHub">
+
+ <title>3. GitHub</title>
+ <para>Issue the following command</para>
+ <informalexample>
+ <programlisting>git clone https://github.com/gatein/gatein-portal-quickstart.git</programlisting>
+ </informalexample>
+ <para>... and switch to the branch compatible with your GateIn Portal version.</para>
+ </section>
+ </chapter>
11 years, 11 months
gatein SVN: r9099 - in epp/docs/branches/6.0/Reference_Guide/en-US: modules/AuthenticationAndIdentity and 1 other directory.
by do-not-reply@jboss.org
Author: ppenicka
Date: 2013-01-30 11:15:12 -0500 (Wed, 30 Jan 2013)
New Revision: 9099
Modified:
epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/CoreOrganizationInitializer.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SAML2.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SAML2_Salesforce_and_Google_Integration.xml
epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
Log:
Chapter III. Authentication and Authorization - further code cleanup, spell-check, unified capitals in titles, removed links to docs.jboss.org (where applicable), removed some technical jargon, etc.
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 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/Revision_History.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -8,6 +8,21 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>6.0.0-43</revnumber>
+ <date>Wed Jan 30 2013</date>
+ <author>
+ <firstname>Petr</firstname>
+ <surname>Penicka</surname>
+ <email/>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Cleaned up imported content in Chapter III. - Authentication and Authorization.</member>
+ <member>Cleared out TODO, FIXME and some other remarks, further code cleanup, spell-check, unified capitals in titles, removed links to docs.jboss.org (where applicable), removed some technical jargon, etc.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>6.0.0-42</revnumber>
<date>Tue Jan 27 2013</date>
<author>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -22,6 +22,6 @@
</listitem>
</orderedlist>
<para>
- Both alternatives are probably better then {{OrganizationService orgService = getApplicationComponent(OrganizationService.class)}} because you can use them from your own portlets or servlet/portlet filters. Variant with {{getApplicationComponent}} works only from WebUI.
+ Both alternatives are probably better then {{OrganizationService orgService = getApplicationComponent(OrganizationService.class)}} because you can use them from your own portlets or servlet/portlet filters. The variant with {{getApplicationComponent}} works only from WebUI.
</para>
</chapter>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -22,7 +22,7 @@
</listitem>
<listitem>
<para>
- The <literal>RememberMe</literal> authentication method (wherein the user checks the <guilabel>Remember my login</guilabel> checkbox on the log in form).
+ The <literal>RememberMe</literal> authentication method (wherein the user checks the <guilabel>Remember my login</guilabel> check box on the log in form).
</para>
</listitem>
<listitem>
@@ -85,17 +85,20 @@
</login-config> </programlisting>
<para>
<literal>LoginServlet</literal> redirects the user to the login page placed in <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/portal.war/login/jsp/login.jsp</filename>.
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center" fileref="images/AuthenticationAndIdentity/Overview/loginScreen.png" format="PNG"/>
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" scalefit="1" fileref="images/AuthenticationAndIdentity/Overview/loginScreen.png" format="PNG"/>
- </imageobject>
- </mediaobject>
+ <figure>
+ <title>Default Login Form on the login.jsp Page</title>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata align="center" fileref="images/AuthenticationAndIdentity/Overview/loginScreen.png" format="PNG"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata align="center" scalefit="1" fileref="images/AuthenticationAndIdentity/Overview/loginScreen.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
</para>
<para>
- Changes to the appearance of this login page can be made in this JSP file. Alternatively you can create an extension and override this page via extension if you don't want to edit it directly. You can also change images or CSS placed in <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/login/skin</filename> .
+ Changes to the appearance of this login page can be made in this JSP file. Alternatively you can create an extension and override this page via extension if you don't want to edit it directly. You can also change images or CSS placed in <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/login/skin</filename>.
</para>
<para>
After a user submits the login form, they are redirected to the login URL: <ulink url="http://localhost:8080/portal/login?username=root&password=gtn&ini..." type="http">http://localhost:8080/portal/login?username=root&password=gtn&ini...</ulink>.
@@ -105,7 +108,7 @@
</para>
</section>
<section id="sect-Authentication_Authorization_Intro-Login_Modules">
- <title>Login modules</title>
+ <title>Login Modules</title>
<para>
From the WCI servlet API login, the user is redirected to JAAS authentication. JBoss Portal Platform uses its own security domain (<emphasis role="bold">gatein-domain</emphasis>) with a set of predefined login modules. Login module configuration for <emphasis>gatein-domain</emphasis> is contained in the <filename>JPP_HOME/gatein/gatein.ear/META-INF/gatein-jboss-beans.xml</filename> file.
</para>
@@ -136,7 +139,7 @@
Authentication starts with the login method of each login module being invoked. After all login methods are invoked, the authentication is continued by invoking the commit method on each login module. Both login and commit methods can throw LoginException. If it happens, then the whole authentication ends unsuccessfully, which in turn invokes the abort method on each login module. By returning "false" from the login method, you can ensure that the login module is ignored. This is not specific to JBoss Portal Platform but it is generic to JAAS. Refer to <ulink url="http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASR..." type="http">http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASR...</ulink> here for more information about login modules in general.
</para>
<section id="sect-Authentication_Authorization_Intro-existingLM">
- <title>Existing login modules</title>
+ <title>Existing Login Modules</title>
<para>
Here is a brief description of existing login modules:
</para>
@@ -146,7 +149,7 @@
<term>SSODelegateLoginModule</term>
<listitem>
<para>
- It's useful only if SSO authentication is enabled (disabled by default. It can be enabled through properties in configuration.properties file and in this case it delegates the work to another real login module for SSO integration. If SSO is disabled, SSODelegateLoginModule is simply ignored. See <xref linkend="sect-SSO_Single_Sign_On_-Central_Authentication_Service"/> properties details for more details. If SSO is used and SSO authentication succeed, the special Identity object will be created and saved into shared state map (Map, which is shared between all login modules), so that this Identity object can be used by JBoss Enterprise Application Platform 6 LoginModule or other login modules in the JAAS chain.
+ It is useful only if SSO authentication is enabled (disabled by default. It can be enabled through properties in configuration.properties file and in this case it delegates the work to another real login module for SSO integration. If SSO is disabled, SSODelegateLoginModule is simply ignored. See <xref linkend="sect-SSO_Single_Sign_On_-Central_Authentication_Service"/> properties details for more details. If SSO is used and SSO authentication succeed, the special Identity object will be created and saved into shared state map (Map, which is shared between all login modules), so that this Identity object can be used by JBoss Enterprise Application Platform 6 LoginModule or other login modules in the JAAS chain.
</para>
</listitem>
</varlistentry>
@@ -154,7 +157,7 @@
<term>JBoss Enterprise Application Platform 6 LoginModule</term>
<listitem>
<para>
- Most important login module, which is normally used to perform whole authentication by itself. First it checks if Identity object has been already created and saved into sharedState map by previous login modules (like SSODelegateLoginModule, CustomMembershipLoginModule or SharedStateLoginModule). If not, it triggers real authentication of user with usage of Authenticator interface and it will use Authentication.validateUser(Credential[] credentials) which performs real authentication of username and password against OrganizationService and portal identity database. See <xref linkend="sect-Authentication_Authorization_Intro-authenticatorAndRolesExtractor"/> for details about Authenticator and about Identity objects. In the Jboss Enterprise Application Platform 6LoginModule.commit method, the Identity object is registered to IdentityRegistry, which will be used later for authorization. Also some JAAS principals (UserPrincipal and RolesPrincipal) and assigned to!
our authenticated Subject. This is needed for JBoss Enterprise Application server, so that it can properly recognize the name of the logged user and its roles on an JBoss Enterprise Application level.
+ Most important login module, which is normally used to perform whole authentication by itself. First it checks if Identity object has been already created and saved into sharedState map by previous login modules (like SSODelegateLoginModule, CustomMembershipLoginModule or SharedStateLoginModule). If not, it triggers real authentication of user with usage of Authenticator interface and it will use Authentication.validateUser(Credential[] credentials) which performs real authentication of username and password against OrganizationService and portal identity database. See <xref linkend="sect-Authentication_Authorization_Intro-authenticatorAndRolesExtractor"/> for details about Authenticator and about Identity objects. In the Jboss Enterprise Application Platform 6 LoginModule.commit method, the Identity object is registered to IdentityRegistry, which will be used later for authorization. Also some JAAS principals (UserPrincipal and RolesPrincipal) and assigned t!
o our authenticated Subject. This is needed for JBoss Enterprise Application server, so that it can properly recognize the name of the logged user and its roles on an JBoss Enterprise Application level.
</para>
</listitem>
</varlistentry>
@@ -238,7 +241,7 @@
</programlisting>
</section>
<!-- Ending section with existing login modules --> <section id="sect-Authentication_Authorization_Intro-createNewLM">
- <title>Creating your own login module</title>
+ <title>Creating Your Own Login Module</title>
<para>
Before creating your own login module, it is recommended that you study the source code of existing login modules to better understand the JAAS authentication process. You need to have good knowledge so that you can properly decide where your login module should be placed and if you need to replace some existing login modules or simply attach your own module to the existing chain.
</para>
@@ -258,7 +261,7 @@
</listitem>
</itemizedlist>
<formalpara id="form-Authentication_Authorization_Intro-authenticationAppServerLevel">
- <title>Authentication on application server level</title>
+ <title>Authentication on Application Server Level</title>
<para>
<remark>QUESTION: Should the following reference to Tomcat be removed?</remark>
Application server needs to properly recognize that user is successfully logged and it has assigned his JAAS roles. Unfortunately this part is not standardized and is specific for each AS. For example in JBoss Enterprise Application, you need to ensure that JAAS Subject has assigned principal with username (UserPrincipal) and also RolesPrincipal, which has name "Roles" and it contains list of JAAS roles. This part is actually done in <code>JbossLoginModule.commit()</code>. In Tomcat, this flow is little different, which means Tomcat has it is own <literal>TomcatLoginModule</literal>.
@@ -268,7 +271,7 @@
After successful authentication, user needs to be at least in JAAS role "users" because this role is declared in <filename>web.xml</filename> as you saw above. JAAS roles are extracted by special algorithm from JBoss Portal Platform memberships. See below in section with RolesExtractor.
</para>
<formalpara id="form-Authentication_Authorization_Intro-authenticationGateInServerLevel">
- <title>Authentication on JBoss Portal Platform level</title>
+ <title>Authentication on JBoss Portal Platform Level</title>
<para>
The login process needs to create a special object <literal>org.exoplatform.services.security.Identity</literal> and register this object into JBoss Portal Platform component <literal>IdentityRegistry</literal>. The Identity object should encapsulate the username of the authenticated user, memberships of this user and JAAS roles. The Identity object can be easily created with interface <literal>Authenticator</literal> as shown below.
</para>
@@ -359,14 +362,14 @@
</section>
<!-- Ending section Authenticator and RolesExtractor --> </section>
<!-- Ending section with login modules --> <section id="sect-Authentication_Authorization_Intro-differentAuthWorkflows">
- <title>Different authentication workflows</title>
+ <title>Different Authentication Workflows</title>
<section id="sect-Authentication_Authorization_Intro-RememberMeAuthentication">
- <title>RememberMe authentication</title>
+ <title>RememberMe Authentication</title>
<para>
In default login dialog, you can notice that there is "Remember my login" checkbox, which users can use to persist their login on his workstation. Default validity period of RememberMe cookie is one day (it is configurable), and so user can be logged for whole day before he need to re-authenticate again with his credentials.
</para>
<section id="sect-Authentication_Authorization_Intro-RememberMeAuthentication-howDoesItWork">
- <title>How does it work</title>
+ <title>How Does It Work</title>
<itemizedlist>
<listitem>
<para>
@@ -416,7 +419,7 @@
</section>
</section>
<section id="sect-Authentication_Authorization_Intro-authorization">
- <title>Authorization overview</title>
+ <title>Authorization Overview</title>
<para>
In the previous section, you learned about JAAS authentication and about login modules. So you know the result of authentication, including:
</para>
@@ -436,7 +439,7 @@
Authorization in JBoss Portal Platform actually happens on two levels:
</para>
<section id="sect-Authentication_Authorization_Intro-servletContainerAuthorization">
- <title>Servlet container authorization</title>
+ <title>Servlet Container Authorization</title>
<para>
First round of authorization is servlet container authorization based on secured URL from <filename>web.xml</filename>. We saw above in web.xml snippet that secured URL are accessible only for users from role <emphasis>users</emphasis>:
</para>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -391,7 +391,7 @@
<programlisting language="XML" role="XML"><xi:include href="../../extras/Authentication_Identity_BackendConfiguration/default97.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</section> --> <section id="sid-54264613_PicketLinkIDMintegration-Configurationfiles">
- <title>Configuration files</title>
+ <title>Configuration Files</title>
<para>
The main configuration file is
<code>JPP_HOME/gatein/gatein.ear/portal.war/WEB-INF/conf/organization/idm-configuration.xml</code>
@@ -535,7 +535,7 @@
<listitem>
<para>
<code>apiCacheConfig</code>
- (value-param) The infinispan configuration file with cache configuration for Picketlink IDM API. It's different for cluster and non-cluster because infinispan needs to be replicated in cluster environment.
+ (value-param) The Infinispan configuration file with cache configuration for PicketLink IDM API. It's different for cluster and non-cluster because Infinispan needs to be replicated in cluster environment.
</para>
</listitem>
<listitem>
@@ -543,7 +543,7 @@
<code>storeCacheConfig</code>
(value-param)
- The infinispan configuration file with cache configuration for Picketlink IDM IdentityStore. Actually it's used only for LDAP store (not used with default DB configuration). It's different for cluster and non-cluster because infinispan needs to be replicated in cluster environment.
+ The Infinispan configuration file with cache configuration for PicketLink IDM IdentityStore. Actually it's used only for LDAP store (not used with default DB configuration). It's different for cluster and non-cluster because Infinispan needs to be replicated in cluster environment.
</para>
</listitem>
</itemizedlist>
@@ -553,7 +553,7 @@
<para>
The
<code>org.exoplatform.services.organization.idm.PicketLinkIDMOrganizationServiceImpl</code>
- key is a main entrypoint implementing
+ key is a main entry point implementing
<code>org.exoplatform.services.organization.OrganizationService</code>
and is dependent on
<code>org.exoplatform.services.organization.idm.PicketLinkIDMService</code>
@@ -628,7 +628,7 @@
<code>forceMembershipOfMappedTypes</code>
Groups stored in PicketLink IDM with a type mapped in 'groupTypeMappings' will automatically be members under the mapped parent. Group relationships linked by PicketLink IDM group association will not be necessary.
- This parameter can be set to false if all groups are added via portal APIs. This may be useful with LDAP configuration as, when set to true, it will make every entry added to LDAP appear in portal. This, however, is not true for entries added via JBoss Portal Platform management UI.
+ This parameter can be set to false if all groups are added via portal APIs. This may be useful with LDAP configuration as, when set to true, it will make every entry added to LDAP appear in portal. This, however, is not true for entries added via JBoss Portal Platform management user interface.
</para>
</listitem>
<listitem>
@@ -645,10 +645,10 @@
</para>
<itemizedlist>
<listitem>
- <para>JBoss Portal Platform User interface properties fields are persisted in Picketlink IDM using those attributes names: firstName, lastName, email, createdDate, lastLoginTime, organizationId, password (if password is configured to be stored as attribute).</para>
+ <para>JBoss Portal Platform User interface properties fields are persisted in PicketLink IDM using those attributes names: firstName, lastName, email, createdDate, lastLoginTime, organizationId, password (if password is configured to be stored as attribute).</para>
</listitem>
<listitem>
- <para>JBoss Portal Platform Group interface properties fields are persisted in Picketlink IDM using those attributes names: label, description.</para>
+ <para>JBoss Portal Platform Group interface properties fields are persisted in PicketLink IDM using those attributes names: label, description.</para>
</listitem>
<listitem>
<para>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/CoreOrganizationInitializer.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/CoreOrganizationInitializer.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/CoreOrganizationInitializer.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -81,7 +81,7 @@
<title>Using configuration directives</title>
<para>There are a number of ways of controlling operations associated with CoreOrganizationInitializer. All parameters are configured in <value-param> directive blocks in the <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/portal.war/conf/organization/initializer-configuration.xml</filename> file.</para>
<example>
- <title><value-param> block for initializer directives</title>
+ <title><value-param> Block for Initializer Directives</title>
<programlisting language="XML"><value-param>
<name>directiveName</name>
<value>[true | false]</value>
@@ -114,7 +114,7 @@
</step>
</procedure>
<procedure>
- <title>Alter the way JCR objects are created on-demand, at user login. </title>
+ <title>Altering On-demand JCR Object Creation at User Login</title>
<para>When a user logs into the portal, the <parameter>treatUser</parameter> operation runs on-demand to create the required JCR objects. This operation (activated by default) improves overall performance of the portal, because user objects are only created when needed. To disable the operation (not recommended), follow the guidelines below.</para>
<step>
<para>Open <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/portal.war/conf/organization/initializer-configuration.xml</filename></para>
@@ -134,7 +134,7 @@
<title>Using JMX Console</title>
<para>The JMX Console is available for all CoreOrganizationInitializer operations.</para>
<procedure>
- <title>Trigger operations through the JMX console . </title>
+ <title>Triggering Operations through the JMX Console</title>
<step>
<para>Open <uri>http://localhost:8080/jmx-console</uri></para>
</step>
@@ -157,7 +157,7 @@
</section>
<section>
<title>Using REST Interface</title>
- <para>OrganizationInitializerService can be accessed using a REST interface. Some examples of commands are provided, as a practical way of demonstrating the REST syntax required. Pay particular attention to how forward slash symbols are escaped in directory paths featured in some REST syntax examples.</para>
+ <para>OrganizationInitializerService can be accessed using a REST interface. Some examples of commands are provided, as a practical way of demonstrating the REST syntax required. Pay particular attention to how forward slash symbols are escaped in directory paths featured in some REST syntax examples.</para>
<variablelist>
<varlistentry>
<term>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -37,7 +37,7 @@
</para>
</note>
<procedure id="proc-Reference_Guide-LDAP_Integration-LDAP_Set_Up">
- <title>LDAP Set Up</title>
+ <title>LDAP Setup</title>
<step>
<para>
Install your <application>LDAP</application> server by following the installation instructions provided for the product you are using.
@@ -67,7 +67,7 @@
<para>The only exception is that passwords updated through the user interface will also be propagated into the appropriate LDAP entry.
</para>
<procedure id="proc-LDAP-LDAP_read-only_Mode">
- <title>Set up LDAP read-only Mode</title>
+ <title>Set up LDAP Read-only Mode</title>
<step>
<para>
Open the <filename><replaceable>ID_HOME</replaceable>/idm-configuration.xml</filename> file.
@@ -78,7 +78,7 @@
</step>
<step>
<para>
- Comment out the default Picketlink <literal>config</literal> value:
+ Comment out the default PicketLink <literal>config</literal> value:
</para>
<programlisting language="XML" role="XML"><![CDATA[<value>war:/conf/organization/picketlink-idm/picketlink-idm-config.xml</value>
]]></programlisting>
@@ -288,7 +288,7 @@
Open the <filename><replaceable>ID_HOME</replaceable>/idm-configuration.xml</filename> file.
</para>
<para>
-JBoss Portal Platform uses the PicketLink IDM framework as the underlying identity storage system, hence all the configurations use dedicated Picketlink settings.
+JBoss Portal Platform uses the PicketLink IDM framework as the underlying identity storage system, hence all the configurations use dedicated PicketLink settings.
</para>
</step>
<step>
@@ -337,7 +337,7 @@
</value></programlisting></para>
<important>
<para>If this configuration is not uncommented, memberships will be used as both relationships and roles, which may cause duplicated records in the GUI.</para>
- <para>Normally, the same roles being used for LDAP mapping need to be uncommented. User memberships under the specified groups will be created in Picketlink IDM only as relationships, and not as roles. </para>
+ <para>Normally, the same roles being used for LDAP mapping need to be uncommented. User memberships under the specified groups will be created in PicketLink IDM only as relationships, and not as roles. </para>
</important>
</step>
<step>
@@ -350,7 +350,7 @@
</step>
<step>
<title>Result</title>
- <para>All portal groups under <filename>/platform</filename> and under <filename>/organization</filename> groups (for example <filename>/platform/users</filename>, <filename>/platform/administrators</filename>, <filename>/organization/management/executive-board</filename>) are mapped to the LDAP tree. The location of groups in the LDAP tree are configurable through the parameter <parameter>ctxDNs</parameter> in the Picketlink IDM configuration file. See <xref linkend="sect-LDAP_Integration-Examples"/> for more information about configuration parameters.
+ <para>All portal groups under <filename>/platform</filename> and under <filename>/organization</filename> groups (for example <filename>/platform/users</filename>, <filename>/platform/administrators</filename>, <filename>/organization/management/executive-board</filename>) are mapped to the LDAP tree. The location of groups in the LDAP tree are configurable through the parameter <parameter>ctxDNs</parameter> in the PicketLink IDM configuration file. See <xref linkend="sect-LDAP_Integration-Examples"/> for more information about configuration parameters.
</para>
</step>
@@ -434,9 +434,9 @@
<section id="sect-LDAP_Integration-Examples">
<title>Examples</title>
<example id="exam-Reference_Guide-LDAP_Integration-Examples-LDAP_configuration_options">
- <title>LDAP configuration</title>
+ <title>LDAP Configuration</title>
<para>
- The following settings are stored in the Picketlink configuration file that is nominated in the <filename>idm-configuration.xml</filename> file of your deployment (under the <parameter>config</parameter> parameter of the <parameter>PicketLinkIDMService</parameter> component):
+ The following settings are stored in the PicketLink configuration file that is nominated in the <filename>idm-configuration.xml</filename> file of your deployment (under the <parameter>config</parameter> parameter of the <parameter>PicketLinkIDMService</parameter> component):
</para>
<para>
This file could be:
@@ -470,7 +470,7 @@
</listitem>
</itemizedlist>
<variablelist>
- <title>Configuration options</title>
+ <title>Configuration Options</title>
<varlistentry>
<term>ctxDNs</term>
<listitem>
@@ -566,7 +566,7 @@
Author [w/email]: Bolesław Dawidowicz (bdawidow(a)redhat.com), Jeff Yu
License: ??
--> <example id="exam-Reference_Guide-LDAP_Integration-Examples-Read_Only_groupTypeMappings">
- <title>Read Only groupTypeMappings</title>
+ <title>Read-only groupTypeMappings</title>
<para>
The <parameter>groupTypeMappings</parameter> exposed in the <filename>idm-configuration.xml</filename> file correspond to <parameter>identity-object-type</parameter> values defined in the DS-specific configuration file (referenced in <emphasis>Sub-step 3a</emphasis> of the DS-specific procedure above).
</para>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -57,15 +57,17 @@
The <literal>OrganizationService</literal> component is an additional component that serves as an entry point into the Organization API. It provides handling functionality for the five components.
</para>
<para>
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center" fileref="images/AuthenticationAndIdentity/OrganizationServiceClassDiagram.png" format="PNG"/>
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" scalefit="1" fileref="images/AuthenticationAndIdentity/OrganizationServiceClassDiagram.png" format="PNG"/>
- </imageobject>
- </mediaobject>
-
+ <figure>
+ <title>Handler Objects Accessible by the OrganizationService Component</title>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata align="center" fileref="images/AuthenticationAndIdentity/OrganizationServiceClassDiagram.png" format="PNG"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata align="center" scalefit="1" fileref="images/AuthenticationAndIdentity/OrganizationServiceClassDiagram.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
</para>
<para>
By exposing the Organization API, the <literal>OrganizationService</literal> component provides developers with access to handler objects for managing each of the five components:
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -6,18 +6,12 @@
<chapter id="sect-Reference_Guide-Authentication_and_Identity-Password_Encryption">
<title>Password Encryption</title>
<section id="sid-54264610_PasswordEncryption-HashingandsaltingofpasswordsinPicketlinkIDM">
- <title>Hashing and salting of passwords in Picketlink IDM</title>
+ <title>Hashing and Salting of Passwords in PicketLink IDM</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Password+Encryption</remark>
<para>
-JBoss Portal Platform is using
- <ulink url="http://www.jboss.org/picketlink/IDM">Picketlink IDM</ulink>
- framework to store information about identity objects (users/groups/memberships) and more info about this is in
- <ulink url="https://docs.jboss.org/author/pages/viewpage.action?pageId=54264613">PicketLink IDM integration</ulink>
- . For better security, Picketlink IDM does not save user passwords into database in plain-text, but it uses
- <code>CredentialEncoder</code>
- , which encode password and save the encoded form into Picketlink IDM database.
-
- Later when user want to authenticate, he needs to provide his password in plain-text via web login form. Provided password is then encoded and compared with encoded password from Picketlink IDM database. JBoss Portal Platform is then able to authenticate user based on this comparison.
+JBoss Portal Platform is using the
+ <ulink url="http://www.jboss.org/picketlink/IDM">PicketLink IDM</ulink>
+ framework to store information about identity objects (users/groups/memberships). For better security, PicketLink IDM does not save user passwords into database in plain-text, but it uses <code>CredentialEncoder</code>, which encode password and save the encoded form into PicketLink IDM database. Later when user want to authenticate, they need to provide their password in plain-text via a web login form. The provided password is then encoded and compared to an encoded password in the PicketLink IDM database. JBoss Portal Platform is then able to authenticate user based on this comparison. More information can be found in <xref linkend="sect-Reference_Guide-PicketLink_IDM_integration"/>.
</para>
<para>
Default implementation of
@@ -26,7 +20,7 @@
</para>
<para>However if you are starting from fresh database (no migration from previous JBoss Portal Platform release), you may increase security by using better hashing algorithm and especially by enable password salting. See below for details.</para>
<section id="sid-54264610_PasswordEncryption-ChoosingCredentialEncoderimplementation">
- <title>Choosing CredentialEncoder implementation</title>
+ <title>Choosing CredentialEncoder Implementation</title>
<para>
The implementation of CredentialEncoder is configured in file
<code>GATEIN_HOME/gatein/gatein.ear/portal.war/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml</code>
@@ -54,7 +48,7 @@
</section>
<section id="sid-54264610_PasswordEncryption-DatabaseReadingSaltEncoder">
<title>DatabaseReadingSaltEncoder</title>
- <para>This implementation provides salting of password in addition to hashing. The salt is unique for each user, so it's much more complicated to decrypt password via brute force, if some attacker steal encoded passwords from your database. The salt is generated randomly for each user and stored in Picketlink IDM database as attribute. Random generation of salt ensure that all users have different salts, so even if two users have same password, the encoded password in database will be different for them. Here is configuration example, which is using SHA-256 algorithm for hashing (more secure than MD5) and algorithm SHA1PRNG for generation of random salts.</para>
+ <para>This implementation provides salting of password in addition to hashing. The salt is unique for each user, so it's much more complicated to decrypt password via brute force, if some attacker steal encoded passwords from your database. The salt is generated randomly for each user and stored in PicketLink IDM database as attribute. Random generation of salt ensure that all users have different salts, so even if two users have same password, the encoded password in database will be different for them. Here is configuration example, which is using SHA-256 algorithm for hashing (more secure than MD5) and algorithm SHA1PRNG for generation of random salts.</para>
<informalexample>
<programlisting>
<option>
@@ -75,11 +69,11 @@
<section id="sid-54264610_PasswordEncryption-FileReadingSaltEncoder">
<title>FileReadingSaltEncoder</title>
<para>
- It also uses hashing and salting, so it's similar like previous encoder. But it's theoretically even more secure, because salts are not stored in Picketlink IDM database together with passwords. Salt of each user is generated from
+ It also uses hashing and salting, so it's similar like previous encoder. But it's theoretically even more secure, because salts are not stored in PicketLink IDM database together with passwords. Salt of each user is generated from
<emphasis role="italics">saltPrefix</emphasis>
and user's username. And
<emphasis role="italics">saltPrefix</emphasis>
- is read from some file in your filesystem. Configuration can look like this:
+ is read from some file in your file system. Configuration can look like this:
</para>
<informalexample>
<programlisting>
@@ -116,7 +110,7 @@
<para>
The
<code>CredentialEncoder</code>
- from above is actually used only for encoding of passwords in Picketlink IDM database. It's not used for LDAP. Picketlink IDM LDAP implementation (
+ from above is actually used only for encoding of passwords in PicketLink IDM database. It's not used for LDAP. PicketLink IDM LDAP implementation (
<code>LDAPIdentityStore</code>
) is sending passwords to LDAP server in plain form, because password encoding is usually provided by LDAP server itself. For example OpenDS 2 is using SHA1 based hashing of passwords with random generation of user salt (so actually something similar to our
<code>DatabaseReadingSaltEncoder</code>
@@ -151,7 +145,7 @@
<title>Encrypt Password in JCR</title>
<step>
<para>
- Create a javaclass similar to:
+ Create a Java class similar to:
</para>
<programlisting language="Java" role="Java"><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../extras/Authentication_Identity/ExampleCodec.java" parse="text"/></programlisting>
</step>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -11,7 +11,7 @@
The initial Organization configuration should be specified by editing the content of <filename><replaceable>JPP_DIST</replaceable>/gatein/gatein.ear/portal.war:/WEB-INF/conf/organization/organization-configuration.xml</filename>. This file uses the portal XML configuration schema. It lists several configuration plug-ins.
</para>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_adding_users_groups_and_membership_types">
- <title>Plug-in for adding users, groups and membership types</title>
+ <title>Plug-in for Adding Users, Groups and Membership Types</title>
<para>
The plug-in type <literal>org.exoplatform.services.organization.OrganizationDatabaseInitializer</literal> is used to specify a list of membership types, a list of groups and a list of users to be created.
</para>
@@ -26,7 +26,7 @@
</para>
</section>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Membership_types">
- <title>Membership types</title>
+ <title>Membership Types</title>
<para>
The predefined membership types are specified in the <emphasis role="bold">membershipType</emphasis> field of the <emphasis role="bold">OrganizationConfig</emphasis> plug-in parameter.
</para>
@@ -52,7 +52,7 @@
<programlisting language="XML" role="XML"><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../extras/Authentication_Identity_PredefinedUserConfiguration/default100.xml" parse="text"/></programlisting>
</section>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_managing_user_creation">
- <title>Plug-in for monitoring user creation</title>
+ <title>Plug-in for Monitoring User Creation</title>
<para>
The plug-in type <literal>org.exoplatform.services.organization.impl.NewUserEventListener</literal> specifies which groups all newly created users should become members of.
</para>
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SAML2.xml
===================================================================
(Binary files differ)
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SAML2_Salesforce_and_Google_Integration.xml
===================================================================
(Binary files differ)
Modified: epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2013-01-30 06:22:19 UTC (rev 9098)
+++ epp/docs/branches/6.0/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2013-01-30 16:15:12 UTC (rev 9099)
@@ -269,7 +269,7 @@
</procedure>
</section>
<section id="sect-CAS_Logout_Redirection">
- <title>Logout redirection setup</title>
+ <title>Logout Redirection Setup</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Central+Authentication+...</remark>
<para>
The CAS server displays the CAS logout page with a link to return to the portal by default. To make the CAS server redirect to the portal page after a logout, modify <code>CAS_DIR/cas-server-webapp/src/main/webapp/</code> <code>WEB-INF/cas-servlet.xml</code> to include the <code>followServiceRedirects="true"</code> parameter:
@@ -283,7 +283,7 @@
</programlisting>
</section>
<section id="sect-CAS_SSO_Cookie_Configuration">
- <title>CAS SSO cookie configuration (CASTGC)</title>
+ <title>CAS SSO Cookie Configuration (CASTGC)</title>
<remark>Source: https://docs.jboss.org/author/display/GTNPORTAL35/Central+Authentication+...</remark>
<para>
Jasic CAS uses a cookie named
@@ -299,7 +299,7 @@
When a user initially accesses the <literal>accounts</literal> portal, they provide their SSO credentials, and CAS authenticates them as a registered user. The user then switches to the <literal>services</literal> portal, and is authenticated when she clicks the Sign in link.
</para>
<para>
- This behavior is correct given this example because the browser instance stores the browser authentication state using the CASTCG cookie. The CASTCG cookie in this instance creates new ticket for the <literal>services</literal> portal automatically based on the authentication state present for the accounts portal.
+ This behavior is correct given this example because the browser instance stores the browser authentication state using the CASTGC cookie. The CASTGC cookie in this instance creates new ticket for the <literal>services</literal> portal automatically based on the authentication state present for the accounts portal.
</para>
</example>
<para>
@@ -441,7 +441,7 @@
Specifies whether the REST callback authentication handler is enabled.
</para>
<para>
- The handler is required if the CAS server must use the SSO Authentication plug-in to handle portal authentication. See <xref linkend="sect-CAS_Logout_Redirection"/> for details. The callback handler is enabled by default. Set the parameter to false if the Authentication Plugin on the CAS server side is not required.
+ The handler is required if the CAS server must use the SSO Authentication plug-in to handle portal authentication. See <xref linkend="sect-CAS_Logout_Redirection"/> for details. The callback handler is enabled by default. Set the parameter to false if the authentication plug-in on the CAS server side is not required.
</para>
</listitem>
</varlistentry>
@@ -596,14 +596,14 @@
On logout, <systemitem>JOSSOLogoutFilter</systemitem> performs a logout on both the Portal and the JOSSO server (similar to the process for CAS).
</para>
<para>
- While the authentication plugin (which is able to send REST requests to the portal, receive the response, and authenticate the user on the JOSSO side) is supported, this support is only for JOSSO 1.8 (not JOSSO 2.2 as at this release).
+ While the authentication plug-in (which is able to send REST requests to the portal, receive the response, and authenticate the user on the JOSSO side) is supported, this support is only for JOSSO 1.8 (not JOSSO 2.2 as at this release).
</para>
<para>
In this section, we will assume that JBoss Portal Platform will be running on JBoss Enterprise Application Platform 6 using port <emphasis role="italics">localhost:8080</emphasis> and that the JOSSO server will be running on Tomcat, using <emphasis role="italics">localhost:8888</emphasis>.
</para>
<note>
<para>
- There are differences between various JOSSO minor versions (especially betweeen JOSSO versions 1.8.1 and 1.8.2) so instructions will be slightly different between various versions. This will be pointed in text in more details.
+ There are differences between various JOSSO minor versions (especially between JOSSO versions 1.8.1 and 1.8.2) so instructions will be slightly different between various versions. This will be pointed in text in more details.
</para>
</note>
</section>
@@ -620,14 +620,14 @@
</para>
</section>
<section id="sid-55477376_JOSSO-JOSSOserver">
- <title>Set up the JOSSO server</title>
+ <title>Setting up the JOSSO Server</title>
<para>
- This section describes how to set up the JOSSO server to authenticate against the JBoss Portal Platform using the REST authentication plugin. In this example, the JOSSO server will be installed on Tomcat.
+ This section describes how to set up the JOSSO server to authenticate against the JBoss Portal Platform using the REST authentication plug-in. In this example, the JOSSO server will be installed on Tomcat.
</para>
<procedure>
<step>
<para>
- <emphasis role="bold">Optional:</emphasis> To use the SSO authentication plugin with JOSSO (not-mandatory but recommended. See <xref linkend="sect-CAS-Authentication_Process"/> for details):
+ <emphasis role="bold">Optional:</emphasis> To use the SSO authentication plug-in with JOSSO (not-mandatory but recommended. See <xref linkend="sect-CAS-Authentication_Process"/> for details):
</para>
<substeps>
<step>
@@ -653,7 +653,7 @@
Add <filename>SSO_HOME/josso/josso-<replaceable><version></replaceable>/plugin/webapps/josso/WEB-INF/classes/gatein.properties</filename> to <filename>JOSSO_HOME/webapps/josso/WEB-INF/classes/</filename>. This file is not present in the original <replaceable>JOSSO_HOME</replaceable> download.
</para>
<para>
- This file may need to be reconfigured according to your JBoss Portal Platform environment (you need to use the host and port of your JBoss Portal Platform instance as this will be used by the Authentication plugin to send REST requests over HTTP).
+ This file may need to be reconfigured according to your JBoss Portal Platform environment (you need to use the host and port of your JBoss Portal Platform instance as this will be used by the Authentication plug-in to send REST requests over HTTP).
</para>
</listitem>
</itemizedlist>
@@ -673,7 +673,7 @@
</step>
<step>
<para>
- Tomcat should now allow access to <uri>http://localhost:8888/josso/signon/login.do</uri>. However, if you are using the SSO Authentication plugin, the login will not be available as you must set up your JBoss Portal Platform instance to use it.
+ Tomcat should now allow access to <uri>http://localhost:8888/josso/signon/login.do</uri>. However, if you are using the SSO Authentication plug-in, the login will not be available as you must set up your JBoss Portal Platform instance to use it.
</para>
<figure>
<title>JOSSO Login Page</title>
@@ -687,7 +687,7 @@
</procedure>
</section>
<section id="sid-55477376_JOSSO-SetuptheJOSSOclient">
- <title>Set up the JOSSO client</title>
+ <title>Setting up the JOSSO Client</title>
<procedure>
<step>
<para>
@@ -718,7 +718,7 @@
Most of the properties are described in <xref linkend="sect-CAS_Configuring_the_Platform"/>.
</para>
<para>
- Some of the properites differ for JOSSO:
+ Some of the properties differ for JOSSO:
</para>
<itemizedlist>
<listitem>
@@ -765,7 +765,7 @@
</step>
</procedure>
<para>
- From now on, all links redirecting to the user authentication pages will redirect to the JOSSO centralized authentication form. If you set Authentication plugin for JOSSO, you can login with JBoss Portal Platform credentials (like john/gtn) on JOSSO side.
+ From now on, all links redirecting to the user authentication pages will redirect to the JOSSO centralized authentication form. If you set Authentication plug-in for JOSSO, you can login with JBoss Portal Platform credentials (like john/gtn) on JOSSO side.
</para>
</section>
</section>
@@ -775,10 +775,10 @@
JOSSO 2.2 takes a different approach to SSO than JOSSO 1.8. It is designed to allow users to create their own SSO environment by modelling it in a flash web application called <emphasis role="strong">atricore-console</emphasis>.
</para>
<para>
- Unfortunately this make it more difficult to use the SSO Authentication plugin as it is not easily possible to configure an existing JOSSO 2.2 environment via Spring XML files. Using the <systemitem>AuthenticationPlugin</systemitem> with JOSSO 2.2 is not supported.
+ Unfortunately this make it more difficult to use the SSO Authentication plug-in as it is not easily possible to configure an existing JOSSO 2.2 environment via Spring XML files. Using the <systemitem>AuthenticationPlugin</systemitem> with JOSSO 2.2 is not supported.
</para>
<section id="sid-55477376_JOSSO-JOSSO2.2serversetup">
- <title>JOSSO 2.2 server setup</title>
+ <title>JOSSO 2.2 Server Setup</title>
<para>
You can downloaded JOSSO 2.2.0 from <ulink url="http://www.josso.org">JOSSO site</ulink> and follow the instructions from the JOSSO 2 quickstart in <ulink url="http://www.josso.org/confluence/display/JOSSO1/JOSSO2+Quick+start"/> .
</para>
@@ -907,7 +907,7 @@
</step>
<step>
<para>
- Go to the <guilabel>Identity appliance lifecycle management</guilabel> tab and go through lifecycle of Identity appliance (<menuchoice>
+ Go to the <guilabel>Identity appliance life cycle management</guilabel> tab and go through life cycle of Identity appliance (<menuchoice>
<guimenuitem>Saved</guimenuitem>
<guimenuitem>Staged</guimenuitem>
<guimenuitem>Deployed</guimenuitem>
@@ -926,7 +926,7 @@
</procedure>
</section>
<section id="sid-55477376_JOSSO-JOSSOclientsetup">
- <title>JOSSO client setup</title>
+ <title>JOSSO Client Setup</title>
<para>
This section assumes that all relevant configurations were made as described in <xref linkend="sid-55477376_JOSSO-JOSSO2.2serversetup"/>.
</para>
@@ -999,28 +999,6 @@
</procedure>
</section>
</section>
- <section>
- <title>Setup with portal on Tomcat</title>
- <para>
- If you have JBoss Portal Platform on Tomcat 7 and you want to configure it for SSO against JOSSO you must complete the following additional steps:
- </para>
- <procedure>
- <title/>
- <step>
- <para>
- Add <code>ServletAccessValve</code> into <filename>server.xml</filename> (as was done to set up CAS single sign-on). Refer to <xref linkend="sect-Deploying_CAS_on_Tomcat"/> for more details.
- </para>
- </step>
- <step>
- <para>
- Copy the JAR files for the appropriate JOSSO version from <filename>GATEIN_SSO_HOME/josso/gatein-josso-<replaceable><version></replaceable>/modules/org/gatein/sso/main into JPP_HOME/lib/</filename>.
- </para>
- <para>
- Use <replaceable>gatein-josso-181</replaceable> if you are on JOSSO 1.8.1 or older or <replaceable>gatein-josso-182</replaceable> if you are on JOSSO 1.8.2 or newer or on JOSSO 2.2.
- </para>
- </step>
- </procedure>
- </section>
</section>
<section id="sect-Reference_Guide-SSO_Single_Sign_On_-OpenAM">
<title>OpenAM</title>
@@ -1030,7 +1008,7 @@
<section id="sect-Reference_Guide-SSO_Single_Sign_On_-OpenAM-Login-Workflow">
<title>Login and Logout Workflow</title>
<para>
- When the OpenAM integration is configured and a user clicks the <guibutton>Sign in</guibutton> link on a JBoss Portal Platform page, they are redirected to the OpenAM login screen, where they provide their login credentials. Authentication on the OpenAM server side is performed by the JBoss Portal Platform SSO Authentication Plugin. The plugin sends a REST request to JBoss Portal Platform, obtains a response, and authenticates the user on the OpenAM side based on the response.
+ When the OpenAM integration is configured and a user clicks the <guibutton>Sign in</guibutton> link on a JBoss Portal Platform page, they are redirected to the OpenAM login screen, where they provide their login credentials. Authentication on the OpenAM server side is performed by the JBoss Portal Platform SSO Authentication Plugin. The plug-in sends a REST request to JBoss Portal Platform, obtains a response, and authenticates the user on the OpenAM side based on the response.
</para>
<para>
After successful authentication with OpenAM, an OpenAM authentication ticket is stored in the <systemitem>iPlanetDirectoryPro</systemitem> cookie in the client browser and the user is redirected back to the portal page. When the portal page is requested, the <systemitem>InitiateLoginFilter</systemitem> iterceptor delegates validation of the OpenAM ticket to the <systemitem>OpenSSOAgent</systemitem> component. The <systemitem>OpenSSOAgent</systemitem> then uses the OpenAM REST API to perform back channel validation of the ticket with the OpenAM server. After successful validation, user identity is established and the user is logged in to JBoss Portal Platform.
@@ -1054,7 +1032,7 @@
<section id="sect-Reference_Guide-SSO_Single_Sign_On_-OpenAM-OpenAMserversetup">
<title>OpenAM Server Setup</title>
<para>
- This section contains procedures that need to be followed to set up an OpenAM server for authentication against JBoss Portal Platform. The authentication set up by these procedures is ensured by the JBoss Portal Platform SSO Authentication Plugin. The plugin will be installed in OpenAM and configured to perform authentication against the portal using a REST callback.
+ This section contains procedures that need to be followed to set up an OpenAM server for authentication against JBoss Portal Platform. The authentication set up by these procedures is ensured by the JBoss Portal Platform SSO Authentication Plugin. The plug-in will be installed in OpenAM and configured to perform authentication against the portal using a REST callback.
<note>
<para>
Using the REST callback as presented in this section is not mandatory. You can achieve authentication on the OpenAM side by any other means according to your preference.
@@ -1199,7 +1177,7 @@
<guimenuitem>Top level realm</guimenuitem>
<guimenuitem>Privileges</guimenuitem>
<guimenuitem>All authenticated users</guimenuitem>
- </menuchoice> and check the following checkboxes:
+ </menuchoice> and check the following check boxes:
</para>
<itemizedlist>
<listitem>
@@ -1409,7 +1387,7 @@
<title>Configuring the SPNEGO Server</title>
<step>
<para>
- Ensure correct hostname to IP address mapping on the machine where Kerberos and JBoss Portal Platform are running. For example, if the machine's IP address is <literal>192.168.1.88</literal> and you want it to be accessed under the <literal>server.local.network</literal> hostname, add the following line to the <emphasis role="bold">/etc/hosts</emphasis> file:
+ Ensure correct host name to IP address mapping on the machine where Kerberos and JBoss Portal Platform are running. For example, if the machine's IP address is <literal>192.168.1.88</literal> and you want it to be accessed under the <literal>server.local.network</literal> host name, add the following line to the <emphasis role="bold">/etc/hosts</emphasis> file:
</para>
<programlisting>
192.168.1.88 server.local.network
@@ -1760,7 +1738,7 @@
<term>principal</term>
<listitem>
<para>
- The HTTP server principal specified in your kerberos keytab. In <xref linkend="proc-Reference_Guide-SPNEGO_Server_Configuration-SPNEGO_Basics"/>, we used the <literal>LOCAL.NETWORK</literal> Kerberos realm and the <literal>server.local.network</literal> host and subsequently added the <literal>HTTP/server.local.network(a)LOCAL.NETWORK</literal> principal to the keytab.
+ The HTTP server principal specified in your Kerberos keytab. In <xref linkend="proc-Reference_Guide-SPNEGO_Server_Configuration-SPNEGO_Basics"/>, we used the <literal>LOCAL.NETWORK</literal> Kerberos realm and the <literal>server.local.network</literal> host and subsequently added the <literal>HTTP/server.local.network(a)LOCAL.NETWORK</literal> principal to the keytab.
</para>
</listitem>
</varlistentry>
@@ -1785,7 +1763,7 @@
</step>
</substeps>
<para>
- The code extract below shows the expected result of the security domain configuraion.
+ The code extract below shows the expected result of the security domain configuration.
</para>
<programlisting language="XML" role="XML"><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../extras/Authentication_Identity_SSO/default125.xml" parse="text"/></programlisting>
</step>
11 years, 11 months