gatein SVN: r2351 - in components/wsrp/trunk: common/src/main/java/org/gatein/wsrp and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-03-23 21:47:09 -0400 (Tue, 23 Mar 2010)
New Revision: 2351
Modified:
components/wsrp/trunk/UpdateWSRPForGateIn.sh
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/WSRPConstants.java
Log:
- Added WSRP_SERVICE_VERSION to be able to display version of the WSRP service if needed.
- Made JMX constants deprecated in WSRPConstants.
- Improved update script:
+ Check that WSRP_SERVICE_VERSION is in sync with module version as specified by the project POM.
+ Improved display when an action is required by the user.
+ Perform check before attempting to build.
+ Do not build anymore if any argument is passed to the script.
Modified: components/wsrp/trunk/UpdateWSRPForGateIn.sh
===================================================================
--- components/wsrp/trunk/UpdateWSRPForGateIn.sh 2010-03-23 22:58:59 UTC (rev 2350)
+++ components/wsrp/trunk/UpdateWSRPForGateIn.sh 2010-03-24 01:47:09 UTC (rev 2351)
@@ -23,11 +23,9 @@
# application server.
# @author Chris Laprun
-mvn clean install
-
if [ -z "$GATEIN_EAR_HOME" -o ! -d "$GATEIN_EAR_HOME" ]
then
- echo Please set GATEIN_EAR_HOME to point to the repository on your application that contains gatein.ear
+ echo \=\=\> Please set GATEIN_EAR_HOME to point to the repository on your application that contains gatein.ear
exit
fi
echo Using GateIn home at: $GATEIN_EAR_HOME
@@ -39,9 +37,23 @@
DEPLOYED_WSRP=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n '1 s/.*\/.*-\([0-9]\.[0-9].[0-9]-.*-.*\).jar/\1/p'`
echo Deployed WSRP version: \'$DEPLOYED_WSRP\'
-echo Current WSRP version: \'$CURRENT_WSRP\'
+echo Current WSRP version in project POM: \'$CURRENT_WSRP\'
echo
+# Check that WSRP service version as defined by WSRPConstants.WSRP_SERVICE_VERSION is in sync with project POM
+WSRP_SERVICE_VERSION=`grep WSRP_SERVICE_VERSION common/src/main/java/org/gatein/wsrp/WSRPConstants.java | sed -n -e 's/.*"\(.*\)".*/\1/p'`
+if [ $WSRP_SERVICE_VERSION != $CURRENT_WSRP ]
+then
+ echo \=\=\> Please update WSRPConstants.WSRP_SERVICE_VERSION \($WSRP_SERVICE_VERSION\) as it doesn\'t match the value in the project POM
+ exit
+fi
+
+# If we have no argument, build. If you don't want to build just add an argument (value irrelevant) when calling the script
+if [ $# -eq 0 ]
+then
+ mvn clean install
+fi
+
# get the list of jar files we need to replace in lib
current=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n 's/.*\/\(.*\)-'$DEPLOYED_WSRP'.jar/\1/p'`
Modified: components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/WSRPConstants.java
===================================================================
--- components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/WSRPConstants.java 2010-03-23 22:58:59 UTC (rev 2350)
+++ components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/WSRPConstants.java 2010-03-24 01:47:09 UTC (rev 2351)
@@ -43,10 +43,16 @@
{
// JMX **************************************************************************************************************
/** JMX object name for the Portal web app registry */
- public static final String WEB_APP_REGISTRY_OBJECT_NAME = "portal:service=WebAppRegistry";
+ @Deprecated public static final String WEB_APP_REGISTRY_OBJECT_NAME = "portal:service=WebAppRegistry";
/** JMX object name for the WSRP Producer */
- public static final String WSRP_PRODUCER_OBJECT_NAME = "portletcontainer.wsrp:service=WSRPProducer";
+ @Deprecated public static final String WSRP_PRODUCER_OBJECT_NAME = "portletcontainer.wsrp:service=WSRPProducer";
+ /**
+ * The version of the WSRP service. This should match the maven version of the module. Right now, checked via
+ * the UpdateWSRPForGatein.sh script.
+ */
+ public static final String WSRP_SERVICE_VERSION = "1.0.1-GA-SNAPSHOT";
+
// Window State Names ***********************************************************************************************
/**
14 years, 9 months
gatein SVN: r2350 - components/wsrp/trunk.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-03-23 18:58:59 -0400 (Tue, 23 Mar 2010)
New Revision: 2350
Modified:
components/wsrp/trunk/UpdateWSRPForGateIn.sh
Log:
- Use pom file instead of relying on what's in the user's .m2 repository.
- Renamed variable to make more sense and actually fixed logic as the wrong variable was used. :(
Modified: components/wsrp/trunk/UpdateWSRPForGateIn.sh
===================================================================
--- components/wsrp/trunk/UpdateWSRPForGateIn.sh 2010-03-23 18:18:37 UTC (rev 2349)
+++ components/wsrp/trunk/UpdateWSRPForGateIn.sh 2010-03-23 22:58:59 UTC (rev 2350)
@@ -23,6 +23,8 @@
# application server.
# @author Chris Laprun
+mvn clean install
+
if [ -z "$GATEIN_EAR_HOME" -o ! -d "$GATEIN_EAR_HOME" ]
then
echo Please set GATEIN_EAR_HOME to point to the repository on your application that contains gatein.ear
@@ -30,20 +32,18 @@
fi
echo Using GateIn home at: $GATEIN_EAR_HOME
-# Use this if you want to extract most recent version of WSRP module from the maven-metadata-local.xml <version> tag
-# Looks at wsrp-common Maven metadat and only process 5 lines at most (to avoid retrieving several values)
-# This allows to always use the most recent version regardless of what version might already be deployed
-export MOST_RECENT_WSRP=`sed -n -e '5 s/.*<version>\(.*\)<\/version>.*/\1/p' $HOME/.m2/repository/org/gatein/wsrp/wsrp-common/maven-metadata-local.xml`
+# Retrieve the current WSRP version as specified in the POM file
+export CURRENT_WSRP=`grep -m 1 ".*<version>\(.*\)<\/version>.*" pom.xml | sed -n -e 's/.*<version>\(.*\)<\/.*/\1/p'`
# extract the current version of WSRP module from existing files
-CURRENT_WSRP=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n '1 s/.*\/.*-\([0-9]\.[0-9].[0-9]-.*-.*\).jar/\1/p'`
+DEPLOYED_WSRP=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n '1 s/.*\/.*-\([0-9]\.[0-9].[0-9]-.*-.*\).jar/\1/p'`
+echo Deployed WSRP version: \'$DEPLOYED_WSRP\'
echo Current WSRP version: \'$CURRENT_WSRP\'
-echo Most recent WSRP version: \'$MOST_RECENT_WSRP\'
echo
# get the list of jar files we need to replace in lib
-current=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n 's/.*\/\(.*\)-'$CURRENT_WSRP'.jar/\1/p'`
+current=`ls $GATEIN_EAR_HOME/lib/wsrp* | sed -n 's/.*\/\(.*\)-'$DEPLOYED_WSRP'.jar/\1/p'`
# remove existing files so that we don't end up with duplicate (and conflicting) files if most recent and current
# version don't match
14 years, 9 months
gatein SVN: r2349 - portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer.
by do-not-reply@jboss.org
Author: wesleyhales
Date: 2010-03-23 14:18:37 -0400 (Tue, 23 Mar 2010)
New Revision: 2349
Modified:
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css
Log:
GTNPORTAL-697, GTNPORTAL-299 fix absolute menu overlay
Modified: portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css 2010-03-23 11:50:41 UTC (rev 2348)
+++ portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css 2010-03-23 18:18:37 UTC (rev 2349)
@@ -1,22 +1,22 @@
-/**
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+/**
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
.UIToolbarContainer {
padding: 0px;
height: auto;
@@ -84,37 +84,38 @@
padding-left: 2px; /* orientation=rt */
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
- float: none;
- !float: left;/* orientation=rt */
+ float: none;
+ !float: left;/* orientation=rt */
_float: none;/* orientation=rt */
}
-
-.UserToolBarSitePortletTDContainer {
- position: relative;
-}
-
-.UserToolBarGroupPortletTDContainer {
- position: relative;
-}
-
-.UserToolBarGroupPortletTDContainer {
- position: relative;
-}
-
-.UserToolBarDashboardPortletTDContainer {
- position: relative;
-}
-
-.AdminToolBarPortletTDContainer {
- position: relative;
-}
+.UserToolBarSitePortletTDContainer {
+ position: relative;
+}
+
+.UserToolBarGroupPortletTDContainer {
+ position: relative;
+}
+
+.UserToolBarGroupPortletTDContainer {
+ position: relative;
+}
+
+.UserToolBarDashboardPortletTDContainer {
+ position: relative;
+}
+
+.AdminToolBarPortletTDContainer {
+ position: relative;
+}
+
/****************************/
.UIToolbarContainer .MenuItemContainer {
position: absolute;
- border: 1px solid #9e9fa3;
+ border: 1px solid #9e9fa3;
display: none;
+ z-index: 1;
}
.UIToolbarContainer .TitleBar {
@@ -176,7 +177,7 @@
.UIToolbarContainer .GroupIcon {
background: url('background/ToolbarContainer.gif') no-repeat left -128px; /* orientation=lt */
- background: url('background/ToolbarContainer.gif') no-repeat 100% -128px; /* orientation=rt */
+ background: url('background/ToolbarContainer.gif') no-repeat 100% -128px; /* orientation=rt */
margin-left: 10px; /* orientation=lt */
margin-right: 10px; /* orientation=rt */
}
14 years, 9 months
gatein SVN: r2348 - in portal/trunk/docs/reference-guide/en/modules: configuration and 1 other directory.
by do-not-reply@jboss.org
Author: mstruk
Date: 2010-03-23 07:50:41 -0400 (Tue, 23 Mar 2010)
New Revision: 2348
Modified:
portal/trunk/docs/reference-guide/en/modules/Foundations.xml
portal/trunk/docs/reference-guide/en/modules/Introduction.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/EMailService_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml
Log:
reference-guide edits - first, and second chapter mostly
Modified: portal/trunk/docs/reference-guide/en/modules/Foundations.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -9,11 +9,14 @@
<section id="sect-Reference_Guide-Foundations-Kernel">
<title>GateIn Kernel</title>
<para>
- &PRODUCT; is built on top of a kernel, and a set of services that exist in two scopes.
- First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal container, and can be accessed by all portals.
+ &PRODUCT; is built as a set of services on top of a dependency injection kernel. The kernel provides configuration, lifecycle handling, component scopes, and some core services.
</para>
<para>
- Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. Each portal live in an instance of PortalContainer.
+ Service components exist in two scopes. First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be
+ accessed by all portals.
+ </para>
+ <para>
+ Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. Each portal lives in an instance of PortalContainer.
This scope contains services that are common for a set of portals, and services which should not be shared by all portals.
</para>
<para>
@@ -525,7 +528,7 @@
try
{
SourceStorage sourceStorage =
- (SourceStorage) pcontainer.getComponentInstanceOfType(SourceStorage.class);
+ (SourceStorage) portalContainer.getComponentInstanceOfType(SourceStorage.class);
...
}
catch (RuntimeException e)
Modified: portal/trunk/docs/reference-guide/en/modules/Introduction.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Introduction.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/Introduction.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -7,7 +7,7 @@
<title>Introduction</title>
<para>
- &PRODUCT; is the merge of two mature Java projects; JBoss Portal and eXo Portal. This new community project takes the best of both offerings and incorporates them into a single j2ee deployment archive. The aim is to provide an intuitive user-friendly portal and a framework to address the needs of today's Web 2.0 applications.
+ &PRODUCT; is the merge of two mature Java projects; JBoss Portal and eXo Portal. This new community project takes the best of both offerings and incorporates them into a single portal framework. The aim is to provide an intuitive user-friendly portal, and a framework to address the needs of today's Web 2.0 applications.
</para>
<mediaobject>
<imageobject role="html">
@@ -18,7 +18,7 @@
</imageobject>
</mediaobject>
<para>
- This book provides deep-dive information about the installation and configuration of the services provide by GateIn.
+ This book provides a deep-dive information about installation and configuration of the services provided by GateIn.
</para>
<!--
<para>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Authentication_Token_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -6,22 +6,24 @@
<section id="sect-Reference_Guide-Authentication_Token_Configuration">
<title>Authentication Token Configuration</title>
<section id="sect-Reference_Guide-Authentication_Token_Configuration-What_is_token_service">
- <title>What is token service</title>
+ <title>What is Token Service?</title>
<para>
- <emphasis>Token service</emphasis> is used in authentication.
+ <emphasis>Token Service</emphasis> is used in authentication.
</para>
<para>
The token system prevents user account information being sent in clear text mode for inbound requests. This increases authentication security.
</para>
<para>
- Token service allows adminitrators to create, delete, retrieve and clean tokens as required. The service also defines the validity period of any given token. The token becomes invalid once this period has expired, . The life-time definition must be configured.
+ Token service allows administrators to create, delete, retrieve and clean tokens as required. The service also defines a validity period of any given token.
+ The token becomes invalid once this period expires. This period can be configured through <emphasis>life-time</emphasis> configuration property.
</para>
</section>
<section id="sect-Reference_Guide-Authentication_Token_Configuration-Implement_token_services_API">
- <title>Implement token service's API</title>
+ <title>Implementing the Token Service API</title>
<para>
- All token services used in &PRODUCT;'s authentication must be a subclass of an abstract class <emphasis role="bold">AbstractTokenService</emphasis>. The following example shows how the token-service manipulates its tokens.
+ All token services used in &PRODUCT;'s authentication must be implemented by subclassing an <emphasis role="bold">AbstractTokenService</emphasis> abstract class.
+ The following <emphasis role="bold">AbstractTokenService</emphasis> methods represent the contract between authentication runtime, and a token service implementation.
</para>
<programlisting role="JAVA">
@@ -37,15 +39,15 @@
</section>
<section id="sect-Reference_Guide-Authentication_Token_Configuration-Configure_token_services">
- <title>Configure token services</title>
+ <title>Configuring token services</title>
<para>
- Token services configuration includes specifying the validity period time of token in the configuration file. The token service is configured as a portal component.
+ Token services configuration includes specifying the token validity period. The token service is configured as a portal component (in portal scope, as opposed to root scope - more about that in Foundations chapter).
</para>
<para>
In the example below, <emphasis>CookieTokenService</emphasis> is a subclass of <emphasis role="bold">AbstractTokenService</emphasis> so it has a property which specifies the validity period of the token.
</para>
<para>
- The token service will initiate this validity property by looking for an <parameter>init-param</parameter> named "<emphasis role="bold">service.configuration</emphasis>".
+ The token service will initialize this validity property by looking for an <parameter>init-param</parameter> named "<emphasis role="bold">service.configuration</emphasis>".
</para>
<para>
This property must have three values.
@@ -89,7 +91,7 @@
</programlistingco>
<para>
- In this case, the service's name is "<emphasis role="bold">jcr-token</emphasis>" and the token's expiration time is a week.
+ In this case, the service's name is "<emphasis role="bold">jcr-token</emphasis>" and the token's expiration time is one week.
</para>
<para>
&PRODUCT; supports <emphasis>four</emphasis> timing units:
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -13,9 +13,9 @@
<title>Overview</title>
<para>&PRODUCT; has two different database dependencies. One is the
- identity service configuration, which depends on the Hibernate. The other
+ identity service configuration, which depends on Hibernate. The other
database dependency is Java content repository (JCR) service, which
- depends on the native JDBC API and it can integrate with any existing
+ depends on JDBC API, and can integrate with any existing
datasource implementation.</para>
<para>When you change the database configuration for the first time,
@@ -23,8 +23,8 @@
database user has the appropriate permissions).</para>
<para>&PRODUCT; assumes the default encoding for your database is
- <literal>latin1</literal> . You will need to change this parameter for
- your database in order to work properly.</para>
+ <literal>latin1</literal>. You may need to change this parameter for
+ your database in order for &PRODUCT; to work properly.</para>
</section>
<section id="sect-Reference_Guide-Database_Configuration-JCR_database_configuration">
@@ -36,7 +36,7 @@
<para>For Tomcat, the file is located at <programlisting>$TOMCAT_HOME/gatein/conf/configuration.properties</programlisting></para>
<para>And edit the values of driver, url, username and password with the
- values for your JDBC connection (Please refer to your database JDBC driver
+ values for your JDBC connection (please, refer to your database JDBC driver
documentation).</para>
<programlisting role="XML">gatein.jcr.datasource.driver=org.hsqldb.jdbcDriver
@@ -45,37 +45,36 @@
gatein.jcr.datasource.password=
</programlisting>
- <para>In that case, the name of the database is "jdbcjcr_${name}", ${name}
- should be part of the database name, as it is dynamically replaced by the
- name of the portal container extension (for instance
+ <para>By default, the name of the database is "jdbcjcr_${name}" - ${name}
+ should be a part of the database name, as it is dynamically replaced by the
+ name of the portal container extension (for instance,
gatein-sample-portal.ear defines "sample-portal" as container name and the
default portal defines "portal" as container name).</para>
- <para>In the case of HSQL the databases are created automatically, for any
+ <para>In the case of HSQL the databases are created automatically. For any
other database you will need to create a database named jdbcjcr_portal
- (and "jdbcjcr_sample-portal" if you kept gatein-sample-portal.ear in
- $JBOSS_HOME/server/default/deploy. Note that some database wont accept '-'
- in a database name and you will have to delete
+ (and "jdbcjcr_sample-portal" if you have gatein-sample-portal.ear in
+ $JBOSS_HOME/server/default/deploy - note that some databases don't accept '-'
+ in the database name, so you may have to remove
$JBOSS_HOME/server/default/deploy/gatein-sample-portal.ear)</para>
- <para>Make sure the user has rights to create tables on jdbcjcr_portal and
- to update them as during the first startup they will be automatically
- created.</para>
+ <para>Make sure the user has rights to create tables on jdbcjcr_portal, and
+ to update them as they will be automatically created during the first startup .</para>
- <para>Also add the JDBC driver into the classpath, for instance in
- $JBOSS_HOME/server/default/lib (or $TOMCAT_HOME/lib if you are running on
+ <para>Also add your database's JDBC driver into the classpath - you can put it in
+ $JBOSS_HOME/server/default/lib (or $TOMCAT_HOME/lib, if you are running on
Tomcat)</para>
<para>MySQL example:</para>
- <para>Let's configure our JCR to store data in MySQL, let's pretend we
+ <para>Let's configure our JCR to store data in MySQL. Let's pretend we
have a user named "gateinuser" with a password "gateinpassword". We would
- create a database "mygateindb_portal" (Remember that _portal is required)
- and assign him the rights to create tables.</para>
+ create a database "mygateindb_portal" (remember that _portal is required),
+ and assign our user the rights to create tables.</para>
- <para>Then we need to add the MySQL JDBC connector in the classpath and
+ <para>Then we need to add MySQL's JDBC driver to the classpath, and
finally edit gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration
- with:<programlisting>gatein.jcr.datasource.driver=com.mysql.jdbc.Driver
+ to contain the following:<programlisting>gatein.jcr.datasource.driver=com.mysql.jdbc.Driver
gatein.jcr.datasource.url=jdbc:mysql://localhost:3306/mygateindb${container.name.suffix}
gatein.jcr.datasource.username=gateinuser
gatein.jcr.datasource.password=gateinpassword
@@ -85,13 +84,13 @@
<section>
<title>Configuring the database for the default identity store</title>
- <para>By default users are stored in database. To change the database to
+ <para>By default, users are stored in a database. To change the database in which to
store users, you will need to edit the file:</para>
<para><programlisting>$JBOSS_HOME/server/default/conf/gatein/configuration.properties</programlisting>For
Tomcat, the file is located at <programlisting>$TOMCAT_HOME/gatein/conf/configuration.properties</programlisting></para>
- <para>You will find the same configuration as in
+ <para>You will find the same kind of configuration as in
jcr-configuration.xml:<programlisting>gatein.idm.datasource.driver=org.hsqldb.jdbcDriver
gatein.idm.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcidm_${name}
gatein.idm.datasource.username=sa
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Default_Portal_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -8,14 +8,23 @@
<section id="sect-Reference_Guide-Default_Portal_Configuration-Overview">
<title>Overview</title>
<para>
- The default portal will be accessed if the user doesn't specify another portal. For example: <literal>http://hostname:port/portal/</literal>. The default portal also be used at startup to determine if the database is empty.
+ &PRODUCT;'s default home page URL is <literal>http://${hostname}:${port}/portal/</literal>.
+ There may be multiple independent portals deployed in parallel at any given time, each of which has its root
+ context (i.e.: <literal>http://${hostname}:${port}/sample-portal/</literal>).
+ Each portal is internally composed of one or more, what we again call 'portals'. There needs to be at least
+ one such portal - the default one is called 'classic'. When accessing &PRODUCT;'s default home page URL, you
+ are automatically redirected to 'classic' portal.
+
+ The default portal performs another important task. When starting up &PRODUCT; for the first time, its
+ JCR database will be empty (that's where portals keep their runtime-configurable settings).
+ It's the default portal that's used to detect this, and to trigger automatic data initialization.
</para>
</section>
<section id="sect-Reference_Guide-Default_Portal_Configuration-Configuration">
<title>Configuration</title>
<para>
- The example configuration file below is found at: "<filename>02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>".
+ The following example configuration can be found at: "<filename>02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>".
</para>
<programlisting role="XML"><component>
@@ -33,15 +42,23 @@
<description>The default portal for checking db is empty or not</description>
<value>classic</value>
</value-param>
- ..........
+ ...
</init-params>
</component-plugin>
</component-plugins>
</component>
</programlisting>
<para>
- In this example the <emphasis role="bold">classic</emphasis> portal has been set as the default. Note that the definition should be as a initial parameter of the NewPortalConfigListener component-plugin.
+ In this example the <emphasis role="bold">classic</emphasis> portal has been set as the default.
</para>
+ <note>
+ <para>
+ Components, component-plugins, and init-params are explained in Foundations chapter. For now just note how
+ <literal>NewPortalConfigListener</literal> component-plugin is used to add configuration to
+ <literal>UserPortalConfigService</literal>, which is designed in this way to allow other components
+ to add configuration to it.
+ </para>
+ </note>
</section>
</section>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/EMailService_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/EMailService_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/EMailService_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -10,18 +10,18 @@
<section id="sect-Reference_Guide-EMail_Service_Configuration-Overview">
<title>Overview</title>
- <para>&PRODUCT; has a service to send e-mails that requires to be configured
- before it can work properly. This service is used to send e-mails to users who forgot
- their username or password for instance.</para>
+ <para>&PRODUCT; includes an e-mail sending service that needs to be configured
+ before it can function properly. This service, for instance, is used to send e-mails to users who forgot
+ their password or username.</para>
</section>
<section id="sect-Reference_Guide-EMail_Service_Configuration-Parameters">
- <title>Configuring the e-mail outgoing account</title>
+ <title>Configuring the outgoing e-mail account</title>
- <para>The e-mail service can use any SMTP account that needs to be configured in
+ <para>The e-mail service can use any SMTP account configured in
$JBOSS_HOME/server/default/conf/gatein/configuration.properties
- (Or $TOMCAT_HOME/gatein/conf/configuration.properties if you are using Tomcat).</para>
+ (or $TOMCAT_HOME/gatein/conf/configuration.properties if you are using Tomcat).</para>
<para>The relevant section looks like:</para>
@@ -35,7 +35,12 @@
gatein.email.smtp.socketFactory.port=465
gatein.email.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory</programlisting>
- <para>It is preconfigured for GMail so that any GMail account can be easily used (Just use a full gmail address
- as username and fill-in the password.</para>
+ <para>It is preconfigured for GMail, so that any GMail account can easily be used (simply use the full GMail address
+ as username, and fill-in the password.</para>
+
+ <para>In corporate environments you will want to use your corporate SMTP gateway. When using it over SSL,
+ like in default configuration, you may need to configure a certificate truststore, containing your SMTP server's
+ public certificate. Depending on the key sizes, you may then also need to install Java Cryptography Extension (JCE)
+ Unlimited Strength Jurisdiction Policy Files for your Java Runtime Environment.</para>
</section>
</section>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -2,16 +2,16 @@
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../../Reference_Guide.ent">
%BOOK_ENTITIES;
-<!ENTITY % BOOK_ENTITIES SYSTEM "../../Reference_Guide.ent">
-%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-PicketLink_IDM_integration">
<title>PicketLink IDM integration</title>
<para>
- &PRODUCT; uses the PicketLink IDM component to retain necessary identity information (user, groups, memberships, etc.). While legacy interfaces are still used (org.exoplatform.services.organization) for identity management, the wrapper implementation delegates to the PicketLink IDM framework.
+ &PRODUCT; uses PicketLink IDM component to keep the necessary identity information (users, groups, memberships, etc.).
+ While legacy interfaces are still used (org.exoplatform.services.organization) for identity management,
+ there is a wrapper implementation that delegates to PicketLink IDM framework.
</para>
<para>
- This section doesn't provide information about PicketLink IDM and its configuration. Please refer to the appropriate project documentation (<ulink url="http://jboss.org/picketlink/IDM.html" />) for further information.
+ This section doesn't provide information about PicketLink IDM and its configuration. Please, refer to the appropriate project documentation (<ulink url="http://jboss.org/picketlink/IDM.html" />) for further information.
</para>
<note>
<para>
@@ -21,16 +21,18 @@
<para>
The identity model represented in '<emphasis role="bold">org.exoplatform.services.organization</emphasis>' interfaces and the one used in <emphasis role="bold">PicketLink IDM</emphasis> have some major differences.
</para>
+ <para>TODO: tell more about org.exoplatform.services.organization</para>
<para>
- For example: the <emphasis role="bold">PicketLink IDM</emphasis> provides greater abstraction. It is possible for groups in the <emphasis role="bold">IDM</emphasis> framework to form memberships with many parents (which requires recursive ID translation) while the GateIn model allows only pure tree like membership structures.
+ For example: <emphasis role="bold">PicketLink IDM</emphasis> provides greater abstraction. It is possible for groups in <emphasis role="bold">IDM</emphasis> framework to form memberships with many parents (which requires recursive ID translation),
+ while GateIn model allows only pure tree-like membership structures.
</para>
<para>
- Additionally the GateIn <emphasis>membership</emphasis> concept needs to be translated into the IDM <emphasis>Role</emphasis> concept. Therefore <emphasis role="bold">PicketLink IDM</emphasis> model is used in a limited way. All these translations are applied by the integration layer.
+ Additionally, GateIn <emphasis>membership</emphasis> concept needs to be translated into the IDM <emphasis>Role</emphasis> concept. Therefore <emphasis role="bold">PicketLink IDM</emphasis> model is used in a limited way. All these translations are applied by the integration layer.
</para>
<section id="sect-Reference_Guide-PicketLink_IDM_integration-Configuration_files">
<title>Configuration files</title>
<para>
- The main configuration file is <emphasis role="bold">idm-configuration</emphasis>:
+ The main configuration file is <emphasis role="bold">idm-configuration.xml</emphasis>:
</para>
<programlistingco>
<areaspec>
@@ -121,7 +123,7 @@
<calloutlist>
<callout arearefs="area-Reference_Guide-PicketLink_IDM_integration-Configuration_files-JBossIDMServiceImpl">
<para>
- The <emphasis role="bold">org.exoplatform.services.organization.idm.PicketLinkIDMServiceImpl</emphasis> service has following options:
+ The <emphasis role="bold">org.exoplatform.services.organization.idm.PicketLinkIDMServiceImpl</emphasis> service has the following options:
</para>
<variablelist>
<varlistentry>
@@ -150,7 +152,7 @@
<term>hibernate.annotations</term>
<listitem>
<para>
- A list of annotated classes that will be added to hibernate configuration.
+ A list of annotated classes that will be added to Hibernate configuration.
</para>
</listitem>
</varlistentry>
@@ -169,7 +171,7 @@
(value-param)
</para>
<para>
- If the 'config' parameter is not provided this parameter will be used to perform JNDI lookup for IdentitySessionFactory
+ If the 'config' parameter is not provided, this parameter will be used to perform JNDI lookup for IdentitySessionFactory
</para>
</listitem>
</varlistentry>
@@ -180,7 +182,7 @@
(value-param)
</para>
<para>
- The name of a realm that should be used to obtain proper IdentitySession. The default is 'PortalRealm'.
+ The realm name that should be used to obtain proper IdentitySession. The default is 'PortalRealm'.
</para>
</listitem>
</varlistentry>
@@ -194,7 +196,7 @@
</para>
<para>
<emphasis role="bold">org.exoplatform.services.organization.idm.PicketLinkIDMOrganizationServiceImpl</emphasis>
- service has following options defined as fields of object-param type
+ service has the following options defined as fields of object-param of type
<emphasis role="bold">org.exoplatform.services.organization.idm.Config</emphasis>:
</para>
<variablelist>
@@ -226,7 +228,8 @@
<term>useParentIdAsGroupType</term>
<listitem>
<para>
- This parameter stores the parent ID path as a group type in PicketLink IDM for any IDs not mapped with a specific type in 'groupTypeMappings'. If this option is set to false and no mappings are provided under 'groupTypeMappings' only one group with a given name can exist in the &PRODUCT; group tree.
+ This parameter stores the parent ID path as a group type in PicketLink IDM for any IDs not mapped with a specific type in 'groupTypeMappings'.
+ If this option is set to false, and no mappings are provided under 'groupTypeMappings', then only one group with the given name can exist in the &PRODUCT; group tree.
</para>
</listitem>
</varlistentry>
@@ -242,7 +245,7 @@
<term>associationMembershipType</term>
<listitem>
<para>
- If this option is used then each Membership created with MembrshipType that is equal to the value specified here will be stored in PicketLink IDM as simple Group-User association.
+ If this option is used, then each Membership, created with MembrshipType that is equal to the value specified here, will be stored in PicketLink IDM as simple Group-User association.
</para>
</listitem>
</varlistentry>
@@ -250,13 +253,13 @@
<term>groupTypeMappings</term>
<listitem>
<para>
- This parameter maps groups added with the &PRODUCT; API as a child of a given group ID and stores them with a given group type name in PicketLink IDM.
+ This parameter maps groups added with &PRODUCT; API as children of a given group ID, and stores them with a given group type name in PicketLink IDM.
</para>
<para>
- If the parent ID ends with "/*" then all child groups will have the mapped group type. Otherwise only direct (first level) children will use this type.
+ If the parent ID ends with "/*", then all child groups will have the mapped group type. Otherwise, only direct (first level) children will use this type.
</para>
<para>
- This can be leveraged by LDAP if LDAP DN is configured in PicketLink IDM to only store a specific group type. This will then store the given branch in the &PRODUCT; group tree while all other groups will remain in the database.
+ This can be leveraged by LDAP if LDAP DN is configured in PicketLink IDM to only store a specific group type. This will then store the given branch in &PRODUCT; group tree, while all other groups will remain in the database.
</para>
</listitem>
</varlistentry>
@@ -264,10 +267,10 @@
<term>forceMembershipOfMappedTypes</term>
<listitem>
<para>
- Groups stored in PicketLink IDM with a type mapped in 'groupTypeMappings' will automatically be a member under the mapped parent. Group relationships linked by PicketLink IDM group association will not be necessary.
+ 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.
</para>
<para>
- This parameter can be set to false if all groups are added via &PRODUCT; APIs. This may be useful with LDAP configuration as, when set to true, it will make every entry added to LDAP appear in &PRODUCT;. This is not true for entries added via the &PRODUCT; management UI, however.
+ This parameter can be set to false if all groups are added via &PRODUCT; APIs. This may be useful with LDAP configuration as, when set to true, it will make every entry added to LDAP appear in &PRODUCT;. This, however, is not true for entries added via &PRODUCT; management UI.
</para>
</listitem>
</varlistentry>
@@ -275,13 +278,13 @@
<term>ignoreMappedMembershipType</term>
<listitem>
<para>
- If "associationMembershipType" option is used and this option is set to true then Membership with MembershipType configured to be stored as PicketLink IDM association will not be stored as PicketLink IDM Role.
+ If "associationMembershipType" option is used, and this option is set to true, then Membership with MembershipType configured to be stored as PicketLink IDM association will not be stored as PicketLink IDM Role.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
- Additionally <emphasis role="bold">JBossIDMOrganizationServiceImpl</emphasis> uses those defaults to perform identity management operations
+ Additionally, <emphasis role="bold">JBossIDMOrganizationServiceImpl</emphasis> uses those defaults to perform identity management operations
</para>
<itemizedlist>
<listitem>
@@ -306,10 +309,10 @@
<para>
- A sample <emphasis role="bold">PicketLink IDM</emphasis> configuration file is shown below. To understand all the options present in it please refer to the PicketLink IDM Reference Guide
+ A sample <emphasis role="bold">PicketLink IDM</emphasis> configuration file is shown below. To understand all the options it contains, please refer to the PicketLink IDM Reference Guide
</para>
-<programlisting><jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_beta"
+<programlisting role="XML"><jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_beta"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
<realms>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml 2010-03-23 10:52:21 UTC (rev 2347)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Portal_Navigation_Configuration.xml 2010-03-23 11:50:41 UTC (rev 2348)
@@ -8,7 +8,7 @@
<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Overview">
<title>Overview</title>
<para>
- Three types of navigation are available to portal users:
+ There are three types of navigation available to portal users:
</para>
<itemizedlist>
<listitem>
@@ -28,7 +28,7 @@
</listitem>
</itemizedlist>
<para>
- These navigations are configured with standard XML syntax in the file; "<filename>02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>".
+ These navigations are configured using standard XML syntax in the file; "<filename>02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>".
</para>
<programlisting role="XML"><component>
@@ -97,24 +97,29 @@
</component-plugins>
</programlisting>
<para>
- This XML file defines, for the three navigations, which sets of portals, groups or users will have XML files inside the apprpriate <literal>war</literal>. Those files will be used to create an initial navigation the first time the portal is launched. That information will then be stored in the JCR and is then modifiable from the portal UI.
- </para>
+ This XML configuration defines where in the portal's war to look for configuration, and what portals, groups, and user specific views
+ to include in portal/group/user navigation. Those files will be used to create an initial navigation, the first time the portal is launched.
+ That information will then be stored in JCR content repository, and can then be modified, and managed from the portal UI.
+ </para>
</section>
<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Portal_Navigation">
<title>Portal Navigation</title>
<para>
- The portal navigation incorporates the pages that can be accessed when the user is not logged in (if the applicable permissions allow public access). For example; several portal navigations are used when a company has multiple trademarks and each trade has its own website.
+ The portal navigation incorporates the pages that can be accessed even when a user is not logged in
+ (assuming the applicable permissions allow public access). For example; several portal navigations are used
+ when a company owns multiple trademarks, and sets up a web site for each of them.
</para>
<para>
- The <emphasis role="bold">classic</emphasis> portal is configured by four XML files in the <filename>02portal.war:/WEB-INF/conf/portal/portal/classic</filename> directory:
+ The <emphasis role="bold">classic</emphasis> portal is configured by four XML files in <filename>02portal.war:/WEB-INF/conf/portal/portal/classic</filename> directory:
</para>
<variablelist>
<varlistentry>
- <term>Portal.xml</term>
+ <term>portal.xml</term>
<listitem>
<para>
- This file describes the layout and portlets that will be shown on all pages. Usually the layout contains the banner, footer, menu and breadcrumbs portlets. &PRODUCT; is extremely configurable as every area (even the banner and footer) is a portlet.
+ This file describes the layout and portlets that will be shown on all pages. Usually the layout contains the banner, footer, menu and breadcrumbs portlets.
+ &PRODUCT; is extremely configurable as every view element (even the banner and footer) is a portlet.
</para>
<programlisting role="XML"><?xml version="1.0" encoding="ISO-8859-1"?>
@@ -153,7 +158,7 @@
</portal-config>
</programlisting>
<para>
- It is also possible to apply a nested container that can also contain portlets. Row, column or tab containers are then responsible of the layout of their child portlets.
+ It is also possible to apply a nested container that can also contain portlets. Row, column or tab containers are then responsible for the layout of their child portlets.
</para>
<para>
Each application references a portlet using the id <literal>portal#{portalName}:/{portletWarName}/{portletName}/{uniqueId}</literal>
@@ -167,13 +172,14 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>Navigation.xml</term>
+ <term>navigation.xml</term>
<listitem>
<para>
- This file defines all the navigation nodes the portal will have. The syntax is simple, using nested node tags. Each node references a page that is defined in the next XML file.
+ This file defines all the navigation nodes the portal will have. The syntax is simple, using nested node tags. Each node references a page defined in pages.xml file (explained next).
</para>
<para>
- If the label <literal>#{}</literal> node label is used, the internationalization mechanism is activated and the actual label to render is taken from an associated properties file for the current locale.
+ When <literal>#{...}</literal> syntax is used, the enclosed property name serves as a key that is automatically passed to internationalization mechanism
+ so the literal property name is replaced by a localized value taken from the associated properties file matching the current locale.
</para>
<programlisting role="XML"><?xml version="1.0" encoding="UTF-8"?>
@@ -202,16 +208,18 @@
</para>
<warning>
<para>
- For top nodes, the <emphasis role="bold">uri</emphasis> and the <emphasis role="bold">name</emphasis> of your navigation nodes must have the <emphasis>same</emphasis> value. For the other nodes the <emphasis role="bold">uri</emphasis> is composed like <emphasis><uri>contentmanagement/fileexplorer</uri></emphasis> where '<literal>contentmanagement</literal> ' is the name of the parent node and '<literal>fileexplorer</literal>' is the name of the node ( <emphasis><name>fileexplorer</name> </emphasis> ).
+ For top nodes, the <emphasis role="bold">uri</emphasis> and the <emphasis role="bold">name</emphasis> of your navigation nodes must have the <emphasis>same</emphasis> value.
+ For other nodes the <emphasis role="bold">uri</emphasis> is a relative path. For example, <emphasis><uri>contentmanagement/fileexplorer</uri></emphasis> where '<literal>contentmanagement</literal> ' is the name of the parent node and '<literal>fileexplorer</literal>' is the name of the node ( <emphasis><name>fileexplorer</name> </emphasis> ).
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
- <term>Pages.xml</term>
+ <term>pages.xml</term>
<listitem>
<para>
- This XML file structure is very similar to <filename>portal.xml</filename> and it can also contain container tags. Each application can decide whether to render the portlet border, the window state icons or the mode.
+ This configuration file structure is very similar to <filename>portal.xml</filename> and it can also contain container tags.
+ Each application can decide whether to render the portlet border, the window state, the icons or portlet's mode.
</para>
<programlisting role="XML"><?xml version="1.0" encoding="ISO-8859-1"?>
@@ -252,10 +260,10 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>Portlet-preferences.xml</term>
+ <term>portlet-preferences.xml</term>
<listitem>
<para>
- Porlet instances can be associated with <literal>portlet-preferences</literal> that override the one defined in <filename>portlet.xml </filename>file of the portlet application <literal>war</literal> .
+ Porlet instances can be associated with <literal>portlet-preferences</literal> that override the ones defined in <filename>portlet.xml</filename> of the portlet application <literal>war</literal> (TODO: clarify which file in which war).
</para>
<programlisting role="XML"><?xml version="1.0" encoding="ISO-8859-1"?>
@@ -503,29 +511,29 @@
<section id="sect-Reference_Guide-Portal_Navigation_Configuration-Group_Navigation">
<title>Group Navigation</title>
<para>
- Group navigations are dynamically added to the user navigation at login. This allows users to see all the pages assigned to any groups they belong to in the menu.
+ Group navigations are dynamically added to the user navigation at login. This allows users to see in the menu all the pages assigned to any groups they belong to.
</para>
<para>
The group navigation menu is configured by three XML files (<filename>navigation.xml</filename>, <filename>pages.xml</filename> and <filename>portlet-preferences.xml</filename>). The syntax used in these files is the same as those covered in <xref linkend="sect-Reference_Guide-Portal_Navigation_Configuration-Portal_Navigation" />.
</para>
<para>
- They are located in the <filename>portal/WEB-INF/conf/portal/group<replaceable>/group-name-path/</replaceable></filename> directory (For example; <filename>portal/WEB-INF/conf/portal/group/platform/administrators/</filename>).
+ They are located in <filename>portal.war/WEB-INF/conf/portal/group<replaceable>/group-name-path/</replaceable></filename> directory (For example; <filename>portal.war/WEB-INF/conf/portal/group/platform/administrators/</filename>).
</para>
</section>
<section id="sect-Reference_Guide-Portal_Navigation_Configuration-User_Navigation">
<title>User Navigation</title>
<para>
- The user navigation is the set of nodes and pages that are owned by a user. They are part of the user dashboard.
+ User navigation is the set of nodes and pages that are owned by a user. They are part of the user's dashboard.
</para>
<para>
- Three files configure the user navigation (<filename>navigation.xml</filename>, <filename>pages.xml</filename> and <filename>portlet-preferences.xml</filename>). They are located in the directory "<filename>portal/WEB-INF/conf/portal/users/{userName}</filename>".
+ Three files configure the user navigation (<filename>navigation.xml</filename>, <filename>pages.xml</filename> and <filename>portlet-preferences.xml</filename>). They are located in the directory "<filename>portal.war/WEB-INF/conf/portal/users/{userName}</filename>".
</para>
<para>
- This directory also contains a <filename>gadgets.xml</filename> file (which was formerly called <filename>widgets.xml</filename>). This file defines the gadgets located in the user workspace.
+ This directory also contains a <filename>gadgets.xml</filename> file (formerly called <filename>widgets.xml</filename>). This file defines the gadgets located in the user's workspace.
</para>
<para>
- The user workspace is located at the left hand side of the page and access is restricted to some privileged users, see <xref linkend="sect-Reference_Guide-Predefined_User_Configuration" />
+ The user's workspace is located at the left hand side of the page and access is restricted to some privileged users, see <xref linkend="sect-Reference_Guide-Predefined_User_Configuration" />
</para>
<programlisting role="XML"><?xml version="1.0" encoding="ISO-8859-1"?>
@@ -573,7 +581,8 @@
<section id="sect-Reference_Guide-Tips-Direct_External_Links">
<title>Direct External Links</title>
<para>
- If you wish to add a link to a URL outside the portal you you first have to define a "page" which will not be used. Then add the URL to the navigation.
+ If you wish to add a link to a URL outside the portal you first have to define a "page" that will only serve as a navigation placeholder for external redirect - it will not be used for any portlets.
+ Then add the URL to the navigation. (TODO: check for correctness)
</para>
<variablelist>
<varlistentry>
14 years, 9 months
gatein SVN: r2347 - in portal/trunk: server/tomcat/patch/src/main/tomcat/conf and 1 other directories.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-03-23 06:52:21 -0400 (Tue, 23 Mar 2010)
New Revision: 2347
Added:
portal/trunk/server/tomcat/patch/src/main/tomcat/bin/commons-logging.properties
Modified:
portal/trunk/server/tomcat/patch/src/main/tomcat/conf/logging.properties
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalController.java
Log:
GTNPORTAL-943: Improve logging configuration in Tomcat
Added: portal/trunk/server/tomcat/patch/src/main/tomcat/bin/commons-logging.properties
===================================================================
--- portal/trunk/server/tomcat/patch/src/main/tomcat/bin/commons-logging.properties (rev 0)
+++ portal/trunk/server/tomcat/patch/src/main/tomcat/bin/commons-logging.properties 2010-03-23 10:52:21 UTC (rev 2347)
@@ -0,0 +1,3 @@
+# Configure commons logging to use JDK logger
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
Modified: portal/trunk/server/tomcat/patch/src/main/tomcat/conf/logging.properties
===================================================================
--- portal/trunk/server/tomcat/patch/src/main/tomcat/conf/logging.properties 2010-03-22 21:57:56 UTC (rev 2346)
+++ portal/trunk/server/tomcat/patch/src/main/tomcat/conf/logging.properties 2010-03-23 10:52:21 UTC (rev 2347)
@@ -78,11 +78,34 @@
############################################################
org.exoplatform.level = INFO
-org.exoplatform.handlers = 6gatein.org.apache.juli.FileHandler
+org.exoplatform.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
org.gatein.level = INFO
-org.gatein.handlers = 6gatein.org.apache.juli.FileHandler
+org.gatein.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
org.chromattic.level = INFO
-org.chromattic.handlers = 6gatein.org.apache.juli.FileHandler
+org.chromattic.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+jcr.level = INFO
+jcr.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+ws.level = INFO
+ws.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+XMLResolvingServiceImpl.level = INFO
+XMLResolvingServiceImpl.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+TRAXTemplatesServiceImpl.level = INFO
+TRAXTemplatesServiceImpl.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+org.hibernate.level = INFO
+org.hibernate.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+com.arjuna.level = INFO
+com.arjuna.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+org.jboss.level = INFO
+org.jboss.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
+
+org.apache.shindig.level = INFO
+org.apache.shindig.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalController.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalController.java 2010-03-22 21:57:56 UTC (rev 2346)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalController.java 2010-03-23 10:52:21 UTC (rev 2347)
@@ -24,9 +24,9 @@
import org.exoplatform.container.RootContainer;
import org.exoplatform.container.RootContainer.PortalContainerPostCreateTask;
import org.exoplatform.container.web.AbstractHttpServlet;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
import org.exoplatform.web.WebAppController;
+import org.gatein.common.logging.Logger;
+import org.gatein.common.logging.LoggerFactory;
import java.io.IOException;
import java.util.Enumeration;
@@ -50,7 +50,7 @@
public class PortalController extends AbstractHttpServlet
{
- protected static Log log = ExoLogger.getLogger("portal:PortalController");
+ protected static Logger log = LoggerFactory.getLogger("org.gatein.portal.application.PortalController");
/**
* The onInit() method is used to prepare the portal to receive requests.
@@ -82,7 +82,7 @@
}
catch (Throwable t)
{
- log.fatal("The WebAppController could not be initialized for the portal '" + portalContainer.getName() + "'",
+ log.error("The WebAppController could not be initialized for the portal '" + portalContainer.getName() + "'",
t);
}
finally
14 years, 9 months
gatein SVN: r2346 - portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-03-22 17:57:56 -0400 (Mon, 22 Mar 2010)
New Revision: 2346
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
Log:
GTNPORTAL-942: Incorrect exception handling thrown by a portlet during invocation
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2010-03-22 19:23:02 UTC (rev 2345)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2010-03-22 21:57:56 UTC (rev 2346)
@@ -287,11 +287,16 @@
+ "]. Expected a FragmentResponse or an ErrorResponse");
}
- PortletExceptionHandleService portletExceptionService =
- (PortletExceptionHandleService)container
- .getComponentInstanceOfType(PortletExceptionHandleService.class);
- portletExceptionService.handle(pcException);
+ //
+ PortletExceptionHandleService portletExceptionService = uicomponent.getApplicationComponent(PortletExceptionHandleService.class);
+ if (portletExceptionService != null)
+ {
+ portletExceptionService.handle(pcException);
+ }
+ // Log the error
+ log.error("Portlet render threw an exception", pcException);
+
markup = Text.create(context.getApplicationResourceBundle().getString("UIPortlet.message.RuntimeError"));
}
}
@@ -301,17 +306,16 @@
catch (Exception e)
{
PortletContainerException pcException = new PortletContainerException(e);
- PortletExceptionHandleService portletExceptionService =
- (PortletExceptionHandleService)container.getComponentInstanceOfType(PortletExceptionHandleService.class);
+ PortletExceptionHandleService portletExceptionService = uicomponent.getApplicationComponent(PortletExceptionHandleService.class);
if (portletExceptionService != null)
{
- portletExceptionService.handle(pcException);
+ portletExceptionService.handle(pcException);
}
- else
- {
- log.warn("Could not find the PortletExceptionHandleService in the exo container");
- }
+ // Log the error
+ log.error("Portlet render threw an exception", pcException);
+
+ //
markup = Text.create(context.getApplicationResourceBundle().getString("UIPortlet.message.RuntimeError"));
}
14 years, 9 months
gatein SVN: r2345 - in portal/trunk/docs/reference-guide/en: modules and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-03-22 15:23:02 -0400 (Mon, 22 Mar 2010)
New Revision: 2345
Modified:
portal/trunk/docs/reference-guide/en/Reference_Guide.ent
portal/trunk/docs/reference-guide/en/modules/WSRP.xml
Log:
- Added PRODUCT_NAME and PRODUCT_VERSION entities as it offers more flexibility.
- Started updating WSRP documentation.
Modified: portal/trunk/docs/reference-guide/en/Reference_Guide.ent
===================================================================
--- portal/trunk/docs/reference-guide/en/Reference_Guide.ent 2010-03-22 17:16:02 UTC (rev 2344)
+++ portal/trunk/docs/reference-guide/en/Reference_Guide.ent 2010-03-22 19:23:02 UTC (rev 2345)
@@ -1,4 +1,6 @@
<!ENTITY PRODUCT "GateIn 3.0">
+<!ENTITY PRODUCT_NAME "GateIn">
+<!ENTITY PRODUCT_VERSION "3.0">
<!ENTITY BOOKID "Reference Guide">
<!ENTITY YEAR "2010">
<!ENTITY HOLDER "Red Hat, Inc">
Modified: portal/trunk/docs/reference-guide/en/modules/WSRP.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-03-22 17:16:02 UTC (rev 2344)
+++ portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-03-22 19:23:02 UTC (rev 2345)
@@ -1,8 +1,8 @@
<?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" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "../Reference_Guide.ent">
-%BOOK_ENTITIES;
-]>
+ <!ENTITY % BOOK_ENTITIES SYSTEM "../Reference_Guide.ent">
+ %BOOK_ENTITIES;
+ ]>
<chapter id="wsrp">
<title>Web Services for Remote Portlets (WSRP)</title>
@@ -16,11 +16,11 @@
<para>Scenarios that motivate WSRP functionality include:
<itemizedlist>
- <listitem><para>Content hosts, such as portal servers, providing Portlets as presentation-oriented web services
- that can be used by aggregation engines.</para>
+ <listitem>Content hosts, such as portal servers, providing Portlets as presentation-oriented web services
+ that can be used by aggregation engines.
</listitem>
- <listitem><para>Aggregating frameworks, including portal servers, consuming presentation-oriented web services
- offered by content providers and integrating them into the framework.</para>
+ <listitem>Aggregating frameworks, including portal servers, consuming presentation-oriented web services
+ offered by content providers and integrating them into the framework.
</listitem>
</itemizedlist>
</para>
@@ -28,8 +28,7 @@
<para>More information on WSRP can be found on the
<ulink url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">official website for WSRP</ulink>.
We suggest reading the
- <ulink url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">primer
- </ulink>
+ <ulink url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp">primer</ulink>
for a good, albeit technical, overview of WSRP.
</para>
</sect1>
@@ -42,13 +41,14 @@
this section.
</para>
- <para>&PRODUCT; provides a Simple level of support for our WSRP Producer except that out-of-band registration
+ <para>&PRODUCT_NAME; provides a Simple level of support for our WSRP Producer except that out-of-band registration
is not currently handled. We support in-band registration and persistent local state (which are
defined at the Complex level).
</para>
- <para>On the Consumer side, &PRODUCT; provides a Medium level of support for WSRP, except that we only handle
- HTML markup (as &PRODUCT; itself doesn't handle other markup types). We do support explicit portlet cloning and
+ <para>On the Consumer side, &PRODUCT_NAME; provides a Medium level of support for WSRP, except that we only handle
+ HTML markup (as &PRODUCT_NAME; itself doesn't handle other markup types). We do support explicit portlet
+ cloning and
we fully support the PortletManagement interface.
</para>
@@ -64,168 +64,202 @@
and perform more interoperability testing (an area that needs to be better supported by the WSRP Technical
Committee and Community at large).
</para>
+
+ <note>At of version &PRODUCT_VERSION; of &PRODUCT_NAME;, WSRP is only activated and supported when GateIn is
+ deployed on JBoss Application Server.
+ </note>
</sect1>
<sect1>
- <title>Deploying &PRODUCT;'s WSRP services</title>
+ <title>Deploying &PRODUCT_NAME;'s WSRP services</title>
<para>
- &PRODUCT; provides a complete support of WSRP 1.0 standard interfaces and offers both consumer and producer
- services. WSRP support is provided by the
- <filename>portal-wsrp.sar</filename>
- service archive, included in
- the main
- <filename>jboss-portal.sar</filename>
- service archive, if you've obtained &PRODUCT; from a binary
- distribution. If you don't intend on using WSRP, we recommend that you remove
- <filename>portal-wspr.sar</filename>
- from the main
- <filename>jboss-portal.sar</filename>
- service archive.
+ &PRODUCT_NAME; provides a complete support of WSRP 1.0 standard interfaces and offers both consumer and
+ producer
+ services. WSRP support is provided by the following files, assuming
+ <code>$GATEIN_HOME</code>
+ is
+ where &PRODUCT_NAME; has been installed,
+ <code>$WSRP_VERSION</code>
+ is the version of the WSRP component and
+ <code>$PORTAL_VERSION</code>
+ is the current &PRODUCT_NAME; version
+ <itemizedlist>
+ <listitem>
+ <filename>$GATEIN_HOME/wsrp-admin-gui.war</filename>, which contains the WSRP Configuration portlet with
+ which you can configure consumers to access remote servers and how the WSRP producer is configured.
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/wsrp-producer.war</filename>, which contains the WSRP producer web application.
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/lib/wsrp-common-$WSRP_VERSION.jar</filename>, which contains common classes needed
+ by the different WSRP libraries.
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar</filename>, which contains the WSRP consumer.
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar</filename>, which contains the API
+ classes needed to integrate the WSRP component into portals,
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/lib/wsrp-wsrp1-ws-$WSRP_VERSION.jar</filename>, which contains the generated
+ JAX-WS classes for WSRP version 1.
+ </listitem>
+ <listitem>
+ <filename>$GATEIN_HOME/lib/gatein.portal.component.wsrp-$PORTAL_VERSION.jar</filename>, which contains
+ the code to integrate the WSRP service into &PRODUCT_NAME;.
+ </listitem>
+ </itemizedlist>
+ If you're not going to use WSRP in &PRODUCT_NAME;, you can remove
+ <filename>$GATEIN_HOME/lib/gatein.portal.component.wsrp-$PORTAL_VERSION.jar</filename>
+ from your &PRODUCT_NAME; distribution to easily deactivate WSRP support. Of course, if you want to trim your
+ installation, you can also remove all the files mentioned above.
</para>
- <para>If you've obtained the source distribution of &PRODUCT;, you need to build and deploy the WSRP service
- separately. Please follow the instructions on how to install
- <ulink url="http://docs.jboss.com/jbportal/v2.6/reference-guide/en/html/installation....">JBoss
- Portal from the sources</ulink>. Once this is done, navigate to
- <filename>JBOSS_PORTAL_HOME_DIRECTORY/wsrp</filename>
- and type:
- <command>build deploy</command>
- At the end of the build process,
- <filename>portal-wsrp.sar</filename>
- is copied to
- <filename>JBOSS_HOME/server/default/deploy</filename>.
- </para>
<sect2 id="wsrp-ports">
<title>Considerations to use WSRP when running Portal on a non-default port or hostname</title>
- <para>If you have modified the port number on which Portal runs or bound your Application Server to a specific
- host name, you will also need
- <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=WSRPChangePorts">update the port and/or hostname
- information for WSRP
+ <para>
+ JBoss WS (the web service stack that &PRODUCT_NAME; uses) should take care of the details of updating the
+ port and host name used in WSDL. See the
+ <ulink url="http://community.jboss.org/wiki/JBossWS-UserGuide#Configuration">JBoss WS user guide on that
+ subject
</ulink>
- as found on
- <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossPortal">&PRODUCT;'s wiki</ulink>.
+ for more details.
</para>
+ <para>
+ Of course, if you have modified you have modified the host name and port on which your server runs, you will
+ need to
+ update the configuration for the consumer used to consume GateIn's 'self' producer. Please refer to the
+ <xref linkend="consumer_configuration"/>
+ to learn how to do so.
+ </para>
</sect2>
<sect2>
<title>Considerations to use WSRP with SSL</title>
<para>It is possible to use WSRP over SSL for secure exchange of data. Please refer to the
- <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=WSRPUseSSL">instructions</ulink>
+ <ulink url="http://community.jboss.org/wiki/ConfiguringWSRPforuseoverSSL">instructions</ulink>
on how to do so from
- <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossPortal">&PRODUCT;'s wiki</ulink>.
+ <ulink url="http://community.jboss.org/wiki/GateIn">&PRODUCT_NAME;'s wiki</ulink>.
</para>
</sect2>
</sect1>
<sect1>
<title>Making a portlet remotable</title>
- <para>&PRODUCT; does<emphasis role="bold">NOT</emphasis>, by default, expose local portlets for consumption by
- remote WSRP consumers. In order to make a portlet remotely available, it must be made "remotable" by adding a
- <literal>remotable</literal>
- element to the
- <filename>jboss-portlet.xml</filename>
- deployment descriptor for
- that portlet. If a
- <filename>jboss-portlet.xml</filename>
- file does not exist, one must be added to the
- <filename>WEB-INF</filename>
- folder of the web application containing the portlet.
+ <para>&PRODUCT_NAME; does<emphasis role="bold">NOT</emphasis>, by default, expose local portlets for consumption
+ by
+ remote WSRP consumers. In order to make a portlet remotely available, it must be made "remotable" by marking it
+ as such in the associated<filename>portlet.xml</filename>. This is accomplished by using a specific
+ <code>org.gatein.pc.remotable container-runtime-option</code>. Setting its value to
+ <code>true</code>
+ makes the portlet available for remote consumption, while setting its value to
+ <code>false</code>
+ will not publish it remotely. As specifying the remotable status for a portlet is optional, you do not need to
+ do anything if you don't need your portlet to be available remotely.
</para>
- <para>In the following example, the "BasicPortlet" portlet is specified as being remotable. The
- <literal>remotable</literal>
- element is optional.
+ <para>In the following example, the "BasicPortlet" portlet is specified as being remotable.
</para>
<example>
- <title>BasicPortlet</title>
<programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
-<!DOCTYPE portlet-app PUBLIC "-//&PRODUCT;//DTD JBoss Portlet 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ 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"
+ version="2.0">
<portlet-app>
<portlet>
<portlet-name>BasicPortlet</portlet-name>
- <remotable>true</remotable>
+
+ ...
+
+ <container-runtime-option>
+ <name>org.gatein.pc.remotable</name>
+ <value>true</value>
+ </container-runtime-option>
</portlet>
</portlet-app>]]></programlisting>
</example>
<para>
- It is also possible to specify that all the portlets declared within a given
- <filename>jboss-portlet.xml</filename>
- file have a specific "remotable" status by default. This is done by adding a single
- <literal>remotable</literal>
- element to the root
- <literal>portlet-app</literal>
- element. Usually, this feature will be used to remotely expose
- several portlets without having to specify the status for all the declared portlets. Let's look at an example:
+ It is also possible to specify that all the portlets declared within a given portlet application to be
+ remotable by default. This is done by specifying the
+ <code>
+ container-runtime-option
+ </code>
+ at the
+ <code>portlet-app</code>
+ element level. Individual portlets can override that value to not be remotely exposed. Let's look at an
+ example:
</para>
<example>
- <title>All portlets set remotable</title>
<programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
-<!DOCTYPE portlet-app PUBLIC
- "-//&PRODUCT;//DTD JBoss Portlet 2.6//EN"
- "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ 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"
+ version="2.0">
<portlet-app>
- <remotable>true</remotable>
+
<portlet>
<portlet-name>RemotelyExposedPortlet</portlet-name>
...
</portlet>
<portlet>
<portlet-name>NotRemotelyExposedPortlet</portlet-name>
- <remotable>false</remotable>
...
+ <container-runtime-option>
+ <name>org.gatein.pc.remotable</name>
+ <value>false</value>
+ </container-runtime-option>
</portlet>
+
+ <container-runtime-option>
+ <name>org.gatein.pc.remotable</name>
+ <value>true</value>
+ </container-runtime-option>
</portlet-app>]]>
</programlisting>
</example>
<para>
- In the example above, we defined two portlets with a default "remotable" status set to true. This means that
- all portlets defined in this descriptor are, by default, exposed remotely by &PRODUCT;'s WSRP producer.
- Note, however, that it is possible to override the default behavior by adding a
- <literal>remotable</literal>
- element to a portlet description. In that case, the "remotable" status defined by the portlet takes precedence
- over the default. In the example above, the
+ In the example above, we defined two portlets. The
+ <code>org.gatein.pc.remotable container-runtime-option</code>
+ being set to
+ <code>true</code>
+ at the
+ <code>portlet-app</code>
+ level, all portlets defined in this particular portlet application are exposed remotely by &PRODUCT_NAME;'s
+ WSRP
+ producer.
+ Note, however, that it is possible to override the default behavior: specifying a value for the
+ <code>org.gatein.pc.remotable container-runtime-option</code>
+ at the
+ <code>portlet</code>
+ level will take precedence over the default. In the example above, the
<varname>RemotelyExposedPortlet</varname>
- inherits the "remotable"
- status defined by default since it does not specify a
- <literal>remotable</literal>
- element in its description.
+ inherits the remotable status defined at the
+ <code>portlet-app</code>
+ level since it does not specify a value for the<code>org.gatein.pc.remotable container-runtime-option</code>.
The<varname>NotRemotelyExposedPortlet</varname>, however, overrides the default behavior and is not remotely
exposed. Note that in the absence of a top-level
- <literal>remotable</literal>
- element, portlets are NOT
- remotely exposed.
+ <code>org.gatein.pc.remotable container-runtime-option</code>
+ value set to<code>true</code>, portlets are NOT remotely exposed.
</para>
</sect1>
<sect1>
- <title>Consuming &PRODUCT;'s WSRP portlets from a remote Consumer</title>
- <para>WSRP Consumers vary a lot as far as how they are configured. Most of them require that you either specify
- the URL for the Producer's WSDL definition or the URLs for the individual endpoints. Please refer to your
- Consumer's documentation for specific instructions. For instructions on how to do so in &PRODUCT;, please
- refer to<xref linkend="consumer_configuration"/>.
+ <title>Consuming &PRODUCT_NAME;'s WSRP portlets from a remote Consumer</title>
+ <para>WSRP Consumers vary a lot as far as how they are configured. Most of them require that you specify
+ the URL for the Producer's WSDL definition. Please refer to your Consumer's documentation for specific
+ instructions. For instructions on how to do so in &PRODUCT_NAME;, please
+ refer to
+ <xref linkend="consumer_configuration"/>.
</para>
<para>
- &PRODUCT;'s Producer is automatically set up when you deploy a portal instance with the WSRP service.
+ &PRODUCT_NAME;'s Producer is automatically set up when you deploy a portal instance with the WSRP service.
You can access the WSDL file at
- <filename>http://{hostname}:{port}/portal-wsrp/MarkupService?wsdl</filename>. You can access the endpoint URLs
- at:
- <itemizedlist>
- <listitem>
- <para><filename>http://{hostname}:{port}/portal-wsrp/ServiceDescriptionService</filename></para>
- </listitem>
- <listitem>
- <para><filename>http://{hostname}:{port}/portal-wsrp/MarkupService</filename></para>
- </listitem>
- <listitem>
- <para><filename>http://{hostname}:{port}/portal-wsrp/RegistrationService</filename></para>
- </listitem>
- <listitem>
- <para><filename>http://{hostname}:{port}/portal-wsrp/PortletManagementService</filename></para>
- </listitem>
- </itemizedlist>
+ <filename>http://{hostname}:{port}/portal-wsrp/MarkupService?wsdl</filename>.
The default hostname is
<literal>localhost</literal>
and the default port is 8080.
@@ -233,33 +267,24 @@
</sect1>
<sect1 id="consumer_configuration">
- <title>Consuming remote WSRP portlets in &PRODUCT;</title>
+ <title>Consuming remote WSRP portlets in &PRODUCT_NAME;</title>
<sect2>
<title>Overview</title>
<para>
- To be able to consume WSRP portlets exposed by a remote producer, &PRODUCT;'s WSRP consumer needs to know
- how to access that remote producer. One can configure access to a remote producer using WSRP Producer
+ To be able to consume WSRP portlets exposed by a remote producer, &PRODUCT_NAME;'s WSRP consumer needs to
+ know how to access that remote producer. One can configure access to a remote producer using WSRP Producer
descriptors. Alternatively, a portlet is provided to configure remote producers.
</para>
<para>
- Once a remote producer has been configured, it can be made available
- in the list of portlet providers in the Management portlet on the Admin page of &PRODUCT;. You can then
- examine the list of portlets that are exposed by this producer and configure the portlets just like you
- would for local portlets.
+ Once a remote producer has been configured, it can be made available in the list of portlet providers in the
+ Management portlet on the Admin page of &PRODUCT_NAME;. You can then examine the list of portlets that are
+ exposed by this producer and configure the portlets just like you would for local portlets.
</para>
<para>
- &PRODUCT;'s default configuration exposes some of the sample portlets for remote consumption. As a way to
- test the WSRP service, a default consumer has been configured to consume these portlets. To make sure that
- the service indeed works, check that there is a portlet provider with the
+ As a way to test the WSRP producer service and to check that the portlets that you want to expose remotely
+ are correctly published via WSRP, a default consumer named
<literal>self</literal>
- identifier in the portlet providers list in the Management portlet of the Admin page. All local portlets
- marked as remotable are exposed as remote portlets via the
- <literal>self</literal>
- portlet
- provider so that you can check that they work as expected with WSRP. The
- <filename>portal-wsrp.sar</filename>
- file contains a WSRP Producer descriptor (<filename>default-wsrp.xml</filename>) that configures this
- default producer. This file can be edited or removed if needed.
+ has been configured.
</para>
</sect2>
@@ -267,16 +292,20 @@
<title>Configuring a remote producer walk-through</title>
<para>
Let's work through the steps of defining access to a remote producer so that its portlets can be
- consumed within &PRODUCT;. We will configure access to BEA's public WSRP producer. We will first examine
- how to do so using the configuration portlet. We will then show how the same result can be accomplish with
- a producer descriptor.
+ consumed within &PRODUCT_NAME;. We will configure access to Oracle's public WSRP producer. We will first
+ examine how to do so using the configuration portlet. We will then show how the same result can be
+ accomplished with a producer descriptor, though it is far easier to do so via the configuration portlet.
</para>
<sect3 id="consumer_gui">
<title>Using the configuration portlet</title>
<para>
- As of Portal 2.6, a configuration portlet is provided to configure access to remote WSRP Producers
- grahically. You can access it at
+ &PRODUCT_NAME; provides a portlet to configure access (among other functions) to remote WSRP Producers
+ grahically.
+
+ == TODO ==
+
+ You can access it at
<filename>http://{hostname}:{port}/portal/auth/portal/admin/WSRP</filename>
or by logging in as a Portal administrator and clicking on the WSRP tab in the Admin portal. If all went
well, you should see something similar to this:
@@ -324,10 +353,10 @@
scalefit="1"/>
</imageobject>
</mediaobject>
- <note><para>At this point, there is no automated way to learn about which possible values (if any) are
+ <note>At this point, there is no automated way to learn about which possible values (if any) are
expected by the remote Producer. In the case of BEA's public producer, the possible values are
indicated in the registration property description. This is not always the case... Please refer to
- the specific Producer's documentation.</para>
+ the specific Producer's documentation.
</note>
Enter "<literal>public</literal>" as the value for the registration property and press "Save &
Refresh" once more. You should now
@@ -368,7 +397,7 @@
</para>
<programlisting role="XML"><![CDATA[
<?xml version='1.0' encoding='UTF-8' ?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
"http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
<deployments>
<deployment>
@@ -389,13 +418,13 @@
different elements later. Note for now the
<literal>producer-id</literal>
element with a "<literal>bea</literal>" value. Put this file in the deploy directory and start the server
- (with &PRODUCT; and its WSRP service deployed).
+ (with &PRODUCT_NAME; and its WSRP service deployed).
</para>
<para>
- <note><para>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
+ <note>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>
and
- <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename></para>
+ <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>
</note>
</para>
</sect3>
@@ -460,7 +489,7 @@
<filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>, while a (legacy) DTD
can be found at<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>.
- <note><para>It is important to note how WSRP Producer descriptors are processed. They are read the first time the
+ <note>It is important to note how WSRP Producer descriptors are processed. They are read the first time the
WSRP service starts and the associated information is then put in the Portal database. Subsequent launch
of the WSRP service will use the database-stored information for all producers which identifier is
already known to Portal. More specifically, all the descriptors are scanned for producer identifiers.
@@ -472,7 +501,7 @@
<emphasis>AND</emphasis>
remove the associated information in any WSRP Producer descriptor (if such
information exists) as the producer will be re-created the next time the WSRP is launched if that
- information is not removed.</para>
+ information is not removed.
</note>
</para>
@@ -490,14 +519,14 @@
element.
</para>
- <para>&PRODUCT; also needs to learn about the remote producer's endpoints to be able to connect to the
+ <para>&PRODUCT_NAME; also needs to learn about the remote producer's endpoints to be able to connect to the
remote web services and perform WSRP invocations. Two options are currently supported to provide this
information:
</para>
<para>
<itemizedlist>
- <listitem><para>You can provide the URLs for each of the different WSRP interfaces offered by the remote
+ <listitem>You can provide the URLs for each of the different WSRP interfaces offered by the remote
producer via the
<literal><endpoint-config></literal>
element and its
@@ -509,19 +538,19 @@
children. These URLs are
producer-specific so you will need to refer to your producer documentation or WSDL file to
determine
- the appropriate values.</para>
+ the appropriate values.
</listitem>
- <listitem><para>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
+ <listitem>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
pointing to the WSDL description of the producer's WSRP services. This is accomplished via the
<literal><endpoint-wsdl-url></literal>
- element. &PRODUCT; will then
+ element. &PRODUCT_NAME; will then
heuristically determine, from the information contained in the WSDL file, how to connect
appropriately
- to the remote WSRP services.</para>
- <note><para>It is important to note that, when using this method, &PRODUCT; will try to match a port
+ to the remote WSRP services.
+ <note>It is important to note that, when using this method, &PRODUCT_NAME; will try to match a port
name to an interface based solely on the provided name. There are no standard names for these
ports so it is possible (though rare) that this matching process fails. In this case, you should
- look at the WSDL file and provide the endpoint URLs manually, as per the previous method.</para>
+ look at the WSDL file and provide the endpoint URLs manually, as per the previous method.
</note>
</listitem>
</itemizedlist>
@@ -555,7 +584,7 @@
element which specifies the
refreshing period in seconds. For example, providing a value of 120 for expiration-cache means that the
producer information will not be refreshed for 2 minutes after it has been somehow accessed. If no value
- is provided, &PRODUCT; will always access the remote producer regardless of whether the remote
+ is provided, &PRODUCT_NAME; will always access the remote producer regardless of whether the remote
information has changed or not. Since, in most instances, the information provided by the producer does
not
change often, we recommend that you use this caching facility to minimize bandwidth usage.
@@ -566,15 +595,14 @@
registration
information in the producer configuration so that the Portal consumer can register with the remote
producer when required.
- <note>
- <para>At this time, though, only simple String properties are supported and it is not possible to
- configure complex registration data. This should however be sufficient for most cases.</para>
+ <note>At this time, though, only simple String properties are supported and it is not possible to
+ configure complex registration data. This should however be sufficient for most cases.
</note>
</para>
<para>Registration configuration is done via the
<literal><registration-data></literal>
- element. Since &PRODUCT; can generate the mandatory information for you, if the remote producer does
+ element. Since &PRODUCT_NAME; can generate the mandatory information for you, if the remote producer does
not
require any registration properties, you only need to provide an empty
<literal><registration-data></literal>
@@ -583,7 +611,7 @@
<literal><property></literal>
elements. See the example below for more details. Additionally, you can override the default consumer
name
- automatically provided by &PRODUCT; via the
+ automatically provided by &PRODUCT_NAME; via the
<literal><consumer-name></literal>
element. If you choose to provide a consumer name, please remember that this should uniquely identify
your
@@ -604,10 +632,9 @@
</para>
<example>
- <title>self producer configuration</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
"http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
<deployments>
@@ -637,15 +664,14 @@
</programlisting>
</example>
- <para>Here is an example of a WSRP descriptor with a 2 minutes caching time and manual definition of the
+ <para>Here is an example of a WSRP descriptor with a 2 minute caching time and manual definition of the
endpoint URLs:
</para>
<example>
- <title>WSRP descriptor with 2 minutes caching time</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
"http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
<deployments>
@@ -675,10 +701,9 @@
</para>
<example>
- <title>WSRP descriptor</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
+<!DOCTYPE deployments PUBLIC "-//&PRODUCT_NAME;//DTD WSRP Remote Producer Configuration 2.6//EN"
"http://www.jboss.org/portal/dtd/jboss-wsrp-consumer_2_6.dtd">
<deployments>
@@ -787,7 +812,7 @@
<para>
It can also happen that a producer administrator decided to require more information from registered
consumers. In this case, invoking operations on the producer will fail with an
- <exceptionname>OperationFailedFault</exceptionname>. &PRODUCT; will attempt to help you in this
+ <exceptionname>OperationFailedFault</exceptionname>. &PRODUCT_NAME; will attempt to help you in this
situation. Let's walk through an example using the
<literal>self</literal>
producer. Let's assume that
@@ -803,7 +828,7 @@
Now suppose that the administrator of the producer now requires a value to be provided for an
<literal>email</literal>
registration property. We will actually see how to do perform this operation
- in &PRODUCT; when we examine how to configure Portal's producer in<xref linkend="producer_config"/>.
+ in &PRODUCT_NAME; when we examine how to configure Portal's producer in<xref linkend="producer_config"/>.
Operations with this producer will now fail. If you suspect that a registration modification is required,
you should go to the configuration screen for this remote producer and refresh the information held by
the consumer by pressing "Refresh & Save":
@@ -827,7 +852,7 @@
</imageobject>
</mediaobject>
- <note><para>As of WSRP 1, it is rather difficult to ascertain for sure what caused an
+ <note>As of WSRP 1, it is rather difficult to ascertain for sure what caused an
<exceptionname>OperationFailedFault</exceptionname>
as it is the generic exception returned by
producers if something didn't quite happen as expected during a method invocation. This means that
@@ -835,7 +860,7 @@
can be caused by several different reasons, one
of them being a request to modify the registration data. Please take a look at the log files to see
if you can gather more information as to what happened. WSRP 2 introduces an exception that is
- specific to a request to modify registrations thus reducing the ambiguity that currently exists.</para>
+ specific to a request to modify registrations thus reducing the ambiguity that currently exists.
</note>
</para>
</sect3>
@@ -855,20 +880,20 @@
<para>
The available operations are:
<itemizedlist>
- <listitem><para>Configure: displays the consumer details and allows user to edit them</para></listitem>
+ <listitem>Configure: displays the consumer details and allows user to edit them</listitem>
<listitem>
- <para>Refresh: forces the consumer to retrieve the service description from the remote producer to refresh
- the local information (offered portlets, registration information, etc.)</para>
+ Refresh: forces the consumer to retrieve the service description from the remote producer to refresh
+ the local information (offered portlets, registration information, etc.)
</listitem>
<listitem>
- <para>Activate/Deactivate: activates/deactivates a consumer, governing whether it will be available to
- provide portlets and receive portlet invocations</para>
+ Activate/Deactivate: activates/deactivates a consumer, governing whether it will be available to
+ provide portlets and receive portlet invocations
</listitem>
<listitem>
- <para>Register/Deregister: registers/deregisters a consumer based on whether registration is required
- and/or acquired</para>
+ Register/Deregister: registers/deregisters a consumer based on whether registration is required
+ and/or acquired
</listitem>
- <listitem><para>Delete: destroys the consumer, after deregisterting it if it was registered</para></listitem>
+ <listitem>Delete: destroys the consumer, after deregisterting it if it was registered</listitem>
</itemizedlist>
</para>
</sect2>
@@ -903,7 +928,7 @@
</sect1>
<sect1 id="producer_config">
- <title>Configuring &PRODUCT;'s WSRP Producer</title>
+ <title>Configuring &PRODUCT_NAME;'s WSRP Producer</title>
<sect2>
<title>Overview</title>
<para>
@@ -935,7 +960,7 @@
is valid or not.
</para>
<para>
- &PRODUCT; 2.6.3 introduces a web interface to configure the producer's behavior. You can access it
+ &PRODUCT_NAME; 2.6.3 introduces a web interface to configure the producer's behavior. You can access it
by clicking on the "Producer Configuration" tab of the "WSRP" page of the "admin" portal. Here's what you
should see with the default configuration:
<mediaobject>
@@ -998,16 +1023,16 @@
Press "Save" to record your modifications.
<note>
- <para>At this time, only String (xsd:string) properties are supported. If your application requires more
- complex properties, please let us know.</para>
+ At this time, only String (xsd:string) properties are supported. If your application requires more
+ complex properties, please let us know.
</note>
<note>
- <para>If consumers are already registered with the producer, modifying the configuration of required
+ If consumers are already registered with the producer, modifying the configuration of required
registration
information will trigger the invalidation of held registrations, requiring consumers to modify their
registration before being able to access the producer again. We saw the consumer side of that process
- in<xref linkend="reg_mod_error"/>.</para>
+ in<xref linkend="reg_mod_error"/>.
</note>
</para>
@@ -1044,11 +1069,11 @@
name of your custom property validator instead to customize the default registration policy behavior.
Note that property validators are only used by the default policy.
- <note><para>Since the policy or the validator are defined via their class name and dynamically loaded, it is
+ <note>Since the policy or the validator are defined via their class name and dynamically loaded, it is
important that you make sure that the identified class is available to the application server. One way
to accomplish that is to deploy your policy implementation as JAR file in your AS instance deploy
directory. Note also that, since both policies and validators are dynamically instantiated, they must
- provide a default, no-argument constructor.</para>
+ provide a default, no-argument constructor.
</note>
</para>
</sect3>
14 years, 9 months
gatein SVN: r2344 - in portal/tags/EPP_5_0_0_ER04_Docs: Enterprise_Portal_Platform_Reference_Guide/en-US/images and 3 other directories.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-22 13:16:02 -0400 (Mon, 22 Mar 2010)
New Revision: 2344
Added:
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/images/foundations/
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/images/foundations/PortalContainers.png
Modified:
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Author_Group.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Book_Info.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Reference_Guide.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Revision_History.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Foundations.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Introduction.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Book_Info.xml
portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Revision_History.xml
Log:
Fixing issues, adding Foundation chapter
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Author_Group.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Author_Group.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Author_Group.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -14,11 +14,20 @@
<email>smumford(a)redhat.com</email>
</editor>
<editor>
+ <firstname>Luc</firstname>
+ <surname>Texier</surname>
+ <affiliation>
+ <shortaffil>Red Hat</shortaffil>
+ <orgdiv>JBoss Engineering</orgdiv>
+ </affiliation>
+ <email>theute(a)redhat.com</email>
+ </editor>
+ <editor>
<firstname>Thomas</firstname>
<surname>Heute</surname>
<affiliation>
<shortaffil>Red Hat</shortaffil>
- <orgdiv>JBoss Services R&D</orgdiv>
+ <orgdiv>JBoss Engineering</orgdiv>
</affiliation>
<email>theute(a)redhat.com</email>
</editor>
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Book_Info.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Book_Info.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Book_Info.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -9,7 +9,7 @@
<productname>Enterprise Portal Platform</productname>
<productnumber>5.0</productnumber>
<edition>1</edition>
- <pubsnumber>0.2</pubsnumber>
+ <pubsnumber>1.0</pubsnumber>
<abstract>
<para>
This Reference Guide is a high-level usage document. It deals with
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Reference_Guide.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Reference_Guide.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Reference_Guide.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -9,6 +9,7 @@
<xi:include href="modules/Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="modules/Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- <xi:include href="modules/Integration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="modules/Foundations.xml"/>
<xi:include href="modules/SSO.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="modules/Development.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="modules/Portlets.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Revision_History.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Revision_History.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/Revision_History.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -8,6 +8,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>1.1</revnumber>
+ <date>Sat Mar 20 2010</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email>smumford(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Update for Staging</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>1</revnumber>
<date>Mon Feb 15 2010</date>
<author>
Added: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/images/foundations/PortalContainers.png
===================================================================
(Binary files differ)
Property changes on: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/images/foundations/PortalContainers.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Foundations.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Foundations.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Foundations.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -3,27 +3,31 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "../Reference_Guide.ent">
%BOOK_ENTITIES;
]>
-<chapter id="chap-Reference_Guide-Foundations" xmlns:x="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="chap-Reference_Guide-Foundations">
<title>Foundations</title>
<section id="sect-Reference_Guide-Foundations-Kernel">
<title>GateIn Kernel</title>
<para>
&PRODUCT; is built on top of a kernel, and a set of services that exist in two scopes.
- First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be accessed by all portals.
+ First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal container, and can be accessed by all portals.
</para>
<para>
- Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. For each configured portal, an instance of PortalContainer is created.
- This scope contains services that have portal specific configuration, and services which should not be shared by
- multiple portals.
+ Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. Each portal live in an instance of PortalContainer.
+ This scope contains services that are common for a set of portals, and services which should not be shared by all portals.
</para>
-
<para>
- RootContainer and PortalContainer classes are part of the same class hierarchy - they both inherit from <emphasis role="bold">ExoContainer</emphasis>,
- and they also inherit methods for looking up registered services.
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/foundations/PortalContainers.png" format="PNG" align="center" scale="100" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/foundations/PortalContainers.png" format="PNG" align="center" contentwidth="150mm" />
+ </imageobject>
+ </mediaobject>
</para>
<para>
- Whenever a specific service is looked up through PortalContainer, and service is not available, the lookup is
+ Whenever a specific service is looked up through PortalContainer, and the service is not available, the lookup is
delegated further up to RootContainer. We can therefore have default instance of a certain component in
RootContainer, and portal specific instances in some or all PortalContainers, that override the default
instance.
@@ -47,7 +51,7 @@
Additionally, <emphasis role="bold">portal extensions</emphasis> can contain configuration in <emphasis role="bold">WEB-INF/conf/configuration.xml</emphasis>, and will also have their services configured at PortalContainer scope.
</para>
<note>
- Portal extensions are described later on.
+ <para>Portal extensions are described later on.</para>
</note>
</section>
@@ -63,8 +67,8 @@
If key can be loaded as a class, a Class object is used as a key, otherwise a String is used.</para>
<para>The usual approach is to specify an interface as a key.</para>
- <note>Example of service component configuration:</note>
-
+ <example>
+ <title>Example of service component configuration:</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration
@@ -81,6 +85,7 @@
</component>
</configuration>
]]></programlisting>
+ </example>
</section>
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-External_plugins">
<title>External Plugins</title>
@@ -92,7 +97,8 @@
to use for injection (<emphasis role="bold"><set-method></emphasis>). </para>
<para>A plugin implementation class has to implement <emphasis role="bold">org.exoplatform.container.component. ComponentPlugin</emphasis> interface.</para>
<para>In the following example <emphasis role="bold">PortalContainerDefinitionPlugin</emphasis> implements ComponentPlugin:</para>
-
+ <example>
+ <title>PortalContainerDefinitionPlugin</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<configuration
@@ -120,6 +126,7 @@
</external-component-plugins>
</configuration>
]]></programlisting>
+ </example>
</section>
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-Includes">
@@ -141,7 +148,9 @@
<para>We see a special URL being used to reference another configuration file.
URL schema <emphasis role="bold">'war:'</emphasis> means, that the path that follows is resolved relative to current PortalContainer's servlet context resource path, starting at <emphasis role="bold">WEB-INF</emphasis> as a root.</para>
- <note>Current PortalContainer is really a newly created PortalContainer, as war: URLs only make sense for PortalContainer scoped configuration.</note>
+ <note>
+ <para>Current PortalContainer is really a newly created PortalContainer, as war: URLs only make sense for PortalContainer scoped configuration.</para>
+ </note>
<para>Also, thanks to extension mechanism, the servlet context used for resource loading is a <emphasis role="bold">unified servlet context</emphasis> (as explaned in a later section).</para>
<para>To have include path resolved relative to current classpath (context classloader), use <emphasis role="bold">'jar:'</emphasis> URL schema.</para>
</section>
@@ -153,6 +162,8 @@
(i.e. JNDI names, Database / DataSource names, JCR repository names, etc ...).</para>
<para>This variable is only defined when there is a current PortalContainer available - only for PortalContainer scoped services.</para>
<para>A good example for this is <emphasis role="bold">HibernateService</emphasis>:</para>
+ <example>
+ <title>HibernateService using variables</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration
@@ -187,19 +198,20 @@
</component>
</configuration>
]]></programlisting>
+ </example>
</section>
</section>
<section id="sect-Reference_Guide-Foundations-Configuring_portal">
- <title>Configuring a portal</title>
+ <title>Configuring a portal container</title>
<para>
- A <emphasis role="bold">portal</emphasis> is defined by several attributes.
+ A <emphasis role="bold">portal container</emphasis> is defined by several attributes.
</para>
<para>
- First, there is a <emphasis role="bold">portal name</emphasis>, which is always equal to URL context to which the current portal is bound.
+ First, there is a <emphasis role="bold">portal container name</emphasis>, which is always equal to URL context to which the current portal is bound.
</para>
<para>
@@ -217,6 +229,8 @@
portal (via extension mechanism described later), and are searched in the specified order.
</para>
+ <example>
+ <title>Portal container declaration example</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<configuration
@@ -298,14 +312,15 @@
</configuration>
]]>
</programlisting>
+ </example>
<note>
- Dependencies are part of the extension mechanism.
+ <para>Dependencies are part of the extension mechanism.</para>
</note>
<para>
- Every <emphasis role="bold">portal</emphasis> is represented by <emphasis role="bold">PortalContainer instance</emphasis>, which contains:
+ Every <emphasis role="bold">portal container</emphasis> is represented by a <emphasis role="bold">PortalContainer instance</emphasis>, which contains:
<itemizedlist>
<listitem>
<para>associated <emphasis role="bold">ExoContainerContext</emphasis>, which contains information about the portal</para>
@@ -351,7 +366,7 @@
<para>
First, declare <emphasis role="bold">PortalConfigOwner</emphasis> servlet context listener in web.xml of your web application.
</para>
- <para>An example of a portal extension called sample-ext:</para>
+ <example><title>Example of a portal extension called sample-ext:</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1" ?>
@@ -369,6 +384,7 @@
</web-app>
]]></programlisting>
+ </example>
<para>
Then, add the servlet context name of this web application in proper place in the list of Dependencies of the PortalContainerDefinition
of all the portal containers that you want to have access to its resources.
@@ -379,7 +395,7 @@
</para>
<note>
- See 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.
+ <para>See 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.</para>
</note>
</section>
@@ -436,13 +452,15 @@
HttpServletResponse res) throws ServletException, IOException;
]]></programlisting>
<note>
+ <para>
The reason is that AbstractHttpServlet implements service() to perform its interception, and you don't want to
overwrite (by overriding) this functionality.
+ </para>
</note>
<para>
You may also need to access portal information within your <emphasis role="bold">HttpSessionListener</emphasis>. Again, make sure to extend the
provided abstract class - <emphasis role="bold">org.exoplatform.container.web. AbstractHttpSessionListener</emphasis>.
- Also, modify your method signitures as follows:</para>
+ Also, modify your method signatures as follows:</para>
<programlisting role="JAVA"><![CDATA[
/**
* Use this method instead of HttpSessionListener.sessionCreated()
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Introduction.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Introduction.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_Reference_Guide/en-US/modules/Introduction.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -35,28 +35,28 @@
GateIn homepage:
<ulink url="http://www.gatein.org">www.gatein.org</ulink>
</para>
- <mediaobject>
+<!-- <mediaobject>
<imageobject role="html">
<imagedata fileref="images/GateIn.png" format="PNG" align="center" scale="110"/>
</imageobject>
<imageobject role="fo">
<imagedata fileref="images/GateIn.png" format="PNG" align="center" contentwidth="150mm"/>
</imageobject>
- </mediaobject>
+ </mediaobject> -->
</listitem>
<listitem>
<para>
GateIn videos:
<ulink url="http://www.jboss.org/gatein/videos.html">www.jboss.org/gatein/videos.html</ulink>
</para>
- <mediaobject>
+<!-- <mediaobject>
<imageobject role="html">
<imagedata fileref="images/Videos.png" format="PNG" align="center" scale="110" />
</imageobject>
<imageobject role="fo">
<imagedata fileref="images/Videos.png" format="PNG" align="center" contentwidth="150mm"/>
</imageobject>
- </mediaobject>
+ </mediaobject> -->
</listitem>
<listitem>
@@ -70,14 +70,14 @@
GateIn downloads:
<ulink url="http://www.jboss.org/gatein/downloads.html">www.jboss.org/gatein/downloads.html</ulink>
</para>
- <mediaobject>
+<!-- <mediaobject>
<imageobject role="html">
<imagedata fileref="images/Downloads.png" format="PNG" align="center" scale="110" />
</imageobject>
<imageobject role="fo">
<imagedata fileref="images/Downloads.png" format="PNG" align="center" contentwidth="150mm"/>
</imageobject>
- </mediaobject>
+ </mediaobject> -->
</listitem>
</itemizedlist>
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Book_Info.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Book_Info.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Book_Info.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -9,7 +9,7 @@
<productname>Enterprise Portal Platform</productname>
<productnumber>5.0</productnumber>
<edition>1</edition>
- <pubsnumber>1.5</pubsnumber>
+ <pubsnumber>1.6</pubsnumber>
<abstract>
<para>
This document provides an easy to follow guide to the functions and
Modified: portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Revision_History.xml
===================================================================
--- portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Revision_History.xml 2010-03-22 17:00:57 UTC (rev 2343)
+++ portal/tags/EPP_5_0_0_ER04_Docs/Enterprise_Portal_Platform_User_Guide/en-US/Revision_History.xml 2010-03-22 17:16:02 UTC (rev 2344)
@@ -8,6 +8,20 @@
<simpara>
<revhistory>
<revision>
+ <revnumber>2.0</revnumber>
+ <date>Sat Mar 20 2010</date>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Mumford</surname>
+ <email>smumford(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Finalised all edits and image updating.</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
<revnumber>1.5</revnumber>
<date>Tue Jan 19 2010</date>
<author>
14 years, 9 months
gatein SVN: r2343 - in portal/trunk/docs/reference-guide/en: images/foundations and 2 other directories.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-03-22 13:00:57 -0400 (Mon, 22 Mar 2010)
New Revision: 2343
Added:
portal/trunk/docs/reference-guide/en/images/foundations/
portal/trunk/docs/reference-guide/en/images/foundations/PortalContainers.png
Modified:
portal/trunk/docs/reference-guide/en/modules/Development.xml
portal/trunk/docs/reference-guide/en/modules/Foundations.xml
portal/trunk/docs/reference-guide/en/modules/WSRP.xml
portal/trunk/docs/reference-guide/en/modules/development/Internationalization_Configuration.xml
Log:
- Fixed typos
- Added image to Foundations
Added: portal/trunk/docs/reference-guide/en/images/foundations/PortalContainers.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/docs/reference-guide/en/images/foundations/PortalContainers.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: portal/trunk/docs/reference-guide/en/modules/Development.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Development.xml 2010-03-22 16:25:30 UTC (rev 2342)
+++ portal/trunk/docs/reference-guide/en/modules/Development.xml 2010-03-22 17:00:57 UTC (rev 2343)
@@ -9,7 +9,9 @@
<xi:include href="development/Right_To_Left_Framework.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="development/Internationalization_Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="development/XML_Resource_Bundles.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--
<xi:include href="development/Dynamic_Layouts.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ -->
<xi:include href="development/JavaScript_Inter_Application_Communication.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="development/Upload_Component.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="development/Ajax_Loading_Mask_Layer_Deactivation.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: portal/trunk/docs/reference-guide/en/modules/Foundations.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-22 16:25:30 UTC (rev 2342)
+++ portal/trunk/docs/reference-guide/en/modules/Foundations.xml 2010-03-22 17:00:57 UTC (rev 2343)
@@ -3,27 +3,31 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "../Reference_Guide.ent">
%BOOK_ENTITIES;
]>
-<chapter id="chap-Reference_Guide-Foundations" xmlns:x="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="chap-Reference_Guide-Foundations">
<title>Foundations</title>
<section id="sect-Reference_Guide-Foundations-Kernel">
<title>GateIn Kernel</title>
<para>
&PRODUCT; is built on top of a kernel, and a set of services that exist in two scopes.
- First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal, and can be accessed by all portals.
+ First scope is represented by <emphasis role="bold">RootContainer</emphasis> - it contains services that exist independently of any portal container, and can be accessed by all portals.
</para>
<para>
- Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. For each configured portal, an instance of PortalContainer is created.
- This scope contains services that have portal specific configuration, and services which should not be shared by
- multiple portals.
+ Second scope is portal-private in the form of <emphasis role="bold">PortalContainer</emphasis>. Each portal live in an instance of PortalContainer.
+ This scope contains services that are common for a set of portals, and services which should not be shared by all portals.
</para>
-
<para>
- RootContainer and PortalContainer classes are part of the same class hierarchy - they both inherit from <emphasis role="bold">ExoContainer</emphasis>,
- and they also inherit methods for looking up registered services.
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/foundations/PortalContainers.png" format="PNG" align="center" scale="100" />
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/foundations/PortalContainers.png" format="PNG" align="center" contentwidth="150mm" />
+ </imageobject>
+ </mediaobject>
</para>
<para>
- Whenever a specific service is looked up through PortalContainer, and service is not available, the lookup is
+ Whenever a specific service is looked up through PortalContainer, and the service is not available, the lookup is
delegated further up to RootContainer. We can therefore have default instance of a certain component in
RootContainer, and portal specific instances in some or all PortalContainers, that override the default
instance.
@@ -47,7 +51,7 @@
Additionally, <emphasis role="bold">portal extensions</emphasis> can contain configuration in <emphasis role="bold">WEB-INF/conf/configuration.xml</emphasis>, and will also have their services configured at PortalContainer scope.
</para>
<note>
- Portal extensions are described later on.
+ <para>Portal extensions are described later on.</para>
</note>
</section>
@@ -63,8 +67,8 @@
If key can be loaded as a class, a Class object is used as a key, otherwise a String is used.</para>
<para>The usual approach is to specify an interface as a key.</para>
- <note>Example of service component configuration:</note>
-
+ <example>
+ <title>Example of service component configuration:</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration
@@ -81,6 +85,7 @@
</component>
</configuration>
]]></programlisting>
+ </example>
</section>
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-External_plugins">
<title>External Plugins</title>
@@ -92,7 +97,8 @@
to use for injection (<emphasis role="bold"><set-method></emphasis>). </para>
<para>A plugin implementation class has to implement <emphasis role="bold">org.exoplatform.container.component. ComponentPlugin</emphasis> interface.</para>
<para>In the following example <emphasis role="bold">PortalContainerDefinitionPlugin</emphasis> implements ComponentPlugin:</para>
-
+ <example>
+ <title>PortalContainerDefinitionPlugin</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<configuration
@@ -120,6 +126,7 @@
</external-component-plugins>
</configuration>
]]></programlisting>
+ </example>
</section>
<section id="sect-Reference_Guide-Foundations-Configuration_syntax-Includes">
@@ -141,7 +148,9 @@
<para>We see a special URL being used to reference another configuration file.
URL schema <emphasis role="bold">'war:'</emphasis> means, that the path that follows is resolved relative to current PortalContainer's servlet context resource path, starting at <emphasis role="bold">WEB-INF</emphasis> as a root.</para>
- <note>Current PortalContainer is really a newly created PortalContainer, as war: URLs only make sense for PortalContainer scoped configuration.</note>
+ <note>
+ <para>Current PortalContainer is really a newly created PortalContainer, as war: URLs only make sense for PortalContainer scoped configuration.</para>
+ </note>
<para>Also, thanks to extension mechanism, the servlet context used for resource loading is a <emphasis role="bold">unified servlet context</emphasis> (as explaned in a later section).</para>
<para>To have include path resolved relative to current classpath (context classloader), use <emphasis role="bold">'jar:'</emphasis> URL schema.</para>
</section>
@@ -153,6 +162,8 @@
(i.e. JNDI names, Database / DataSource names, JCR repository names, etc ...).</para>
<para>This variable is only defined when there is a current PortalContainer available - only for PortalContainer scoped services.</para>
<para>A good example for this is <emphasis role="bold">HibernateService</emphasis>:</para>
+ <example>
+ <title>HibernateService using variables</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration
@@ -187,19 +198,20 @@
</component>
</configuration>
]]></programlisting>
+ </example>
</section>
</section>
<section id="sect-Reference_Guide-Foundations-Configuring_portal">
- <title>Configuring a portal</title>
+ <title>Configuring a portal container</title>
<para>
- A <emphasis role="bold">portal</emphasis> is defined by several attributes.
+ A <emphasis role="bold">portal container</emphasis> is defined by several attributes.
</para>
<para>
- First, there is a <emphasis role="bold">portal name</emphasis>, which is always equal to URL context to which the current portal is bound.
+ First, there is a <emphasis role="bold">portal container name</emphasis>, which is always equal to URL context to which the current portal is bound.
</para>
<para>
@@ -217,6 +229,8 @@
portal (via extension mechanism described later), and are searched in the specified order.
</para>
+ <example>
+ <title>Portal container declaration example</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<configuration
@@ -298,14 +312,15 @@
</configuration>
]]>
</programlisting>
+ </example>
<note>
- Dependencies are part of the extension mechanism.
+ <para>Dependencies are part of the extension mechanism.</para>
</note>
<para>
- Every <emphasis role="bold">portal</emphasis> is represented by <emphasis role="bold">PortalContainer instance</emphasis>, which contains:
+ Every <emphasis role="bold">portal container</emphasis> is represented by a <emphasis role="bold">PortalContainer instance</emphasis>, which contains:
<itemizedlist>
<listitem>
<para>associated <emphasis role="bold">ExoContainerContext</emphasis>, which contains information about the portal</para>
@@ -351,7 +366,7 @@
<para>
First, declare <emphasis role="bold">PortalConfigOwner</emphasis> servlet context listener in web.xml of your web application.
</para>
- <para>An example of a portal extension called sample-ext:</para>
+ <example><title>Example of a portal extension called sample-ext:</title>
<programlisting role="XML"><![CDATA[
<?xml version="1.0" encoding="ISO-8859-1" ?>
@@ -369,6 +384,7 @@
</web-app>
]]></programlisting>
+ </example>
<para>
Then, add the servlet context name of this web application in proper place in the list of Dependencies of the PortalContainerDefinition
of all the portal containers that you want to have access to its resources.
@@ -379,7 +395,7 @@
</para>
<note>
- See 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.
+ <para>See 'Configuring a portal' section for example of PortalContainerDefinition, that has sample-ext at the end of its list of Dependencies.</para>
</note>
</section>
@@ -436,13 +452,15 @@
HttpServletResponse res) throws ServletException, IOException;
]]></programlisting>
<note>
+ <para>
The reason is that AbstractHttpServlet implements service() to perform its interception, and you don't want to
overwrite (by overriding) this functionality.
+ </para>
</note>
<para>
You may also need to access portal information within your <emphasis role="bold">HttpSessionListener</emphasis>. Again, make sure to extend the
provided abstract class - <emphasis role="bold">org.exoplatform.container.web. AbstractHttpSessionListener</emphasis>.
- Also, modify your method signitures as follows:</para>
+ Also, modify your method signatures as follows:</para>
<programlisting role="JAVA"><![CDATA[
/**
* Use this method instead of HttpSessionListener.sessionCreated()
Modified: portal/trunk/docs/reference-guide/en/modules/WSRP.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-03-22 16:25:30 UTC (rev 2342)
+++ portal/trunk/docs/reference-guide/en/modules/WSRP.xml 2010-03-22 17:00:57 UTC (rev 2343)
@@ -16,11 +16,11 @@
<para>Scenarios that motivate WSRP functionality include:
<itemizedlist>
- <listitem>Content hosts, such as portal servers, providing Portlets as presentation-oriented web services
- that can be used by aggregation engines.
+ <listitem><para>Content hosts, such as portal servers, providing Portlets as presentation-oriented web services
+ that can be used by aggregation engines.</para>
</listitem>
- <listitem>Aggregating frameworks, including portal servers, consuming presentation-oriented web services
- offered by content providers and integrating them into the framework.
+ <listitem><para>Aggregating frameworks, including portal servers, consuming presentation-oriented web services
+ offered by content providers and integrating them into the framework.</para>
</listitem>
</itemizedlist>
</para>
@@ -136,6 +136,7 @@
element is optional.
</para>
<example>
+ <title>BasicPortlet</title>
<programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE portlet-app PUBLIC "-//&PRODUCT;//DTD JBoss Portlet 2.6//EN"
@@ -158,6 +159,7 @@
several portlets without having to specify the status for all the declared portlets. Let's look at an example:
</para>
<example>
+ <title>All portlets set remotable</title>
<programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE portlet-app PUBLIC
@@ -212,16 +214,16 @@
at:
<itemizedlist>
<listitem>
- <filename>http://{hostname}:{port}/portal-wsrp/ServiceDescriptionService</filename>
+ <para><filename>http://{hostname}:{port}/portal-wsrp/ServiceDescriptionService</filename></para>
</listitem>
<listitem>
- <filename>http://{hostname}:{port}/portal-wsrp/MarkupService</filename>
+ <para><filename>http://{hostname}:{port}/portal-wsrp/MarkupService</filename></para>
</listitem>
<listitem>
- <filename>http://{hostname}:{port}/portal-wsrp/RegistrationService</filename>
+ <para><filename>http://{hostname}:{port}/portal-wsrp/RegistrationService</filename></para>
</listitem>
<listitem>
- <filename>http://{hostname}:{port}/portal-wsrp/PortletManagementService</filename>
+ <para><filename>http://{hostname}:{port}/portal-wsrp/PortletManagementService</filename></para>
</listitem>
</itemizedlist>
The default hostname is
@@ -322,10 +324,10 @@
scalefit="1"/>
</imageobject>
</mediaobject>
- <note>At this point, there is no automated way to learn about which possible values (if any) are
+ <note><para>At this point, there is no automated way to learn about which possible values (if any) are
expected by the remote Producer. In the case of BEA's public producer, the possible values are
indicated in the registration property description. This is not always the case... Please refer to
- the specific Producer's documentation.
+ the specific Producer's documentation.</para>
</note>
Enter "<literal>public</literal>" as the value for the registration property and press "Save &
Refresh" once more. You should now
@@ -390,10 +392,10 @@
(with &PRODUCT; and its WSRP service deployed).
</para>
<para>
- <note>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
+ <note><para>A DTD and an XML Schema for WSRP Producer XML descriptors are available in
<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>
and
- <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>
+ <filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename></para>
</note>
</para>
</sect3>
@@ -458,7 +460,7 @@
<filename>jboss-portal.sar/portal-wsrp.sar/xsd/jboss-wsrp-consumer_2_6.xsd</filename>, while a (legacy) DTD
can be found at<filename>jboss-portal.sar/portal-wsrp.sar/dtd/jboss-wsrp-consumer_2_6.dtd</filename>.
- <note>It is important to note how WSRP Producer descriptors are processed. They are read the first time the
+ <note><para>It is important to note how WSRP Producer descriptors are processed. They are read the first time the
WSRP service starts and the associated information is then put in the Portal database. Subsequent launch
of the WSRP service will use the database-stored information for all producers which identifier is
already known to Portal. More specifically, all the descriptors are scanned for producer identifiers.
@@ -470,7 +472,7 @@
<emphasis>AND</emphasis>
remove the associated information in any WSRP Producer descriptor (if such
information exists) as the producer will be re-created the next time the WSRP is launched if that
- information is not removed.
+ information is not removed.</para>
</note>
</para>
@@ -495,7 +497,7 @@
<para>
<itemizedlist>
- <listitem>You can provide the URLs for each of the different WSRP interfaces offered by the remote
+ <listitem><para>You can provide the URLs for each of the different WSRP interfaces offered by the remote
producer via the
<literal><endpoint-config></literal>
element and its
@@ -507,19 +509,19 @@
children. These URLs are
producer-specific so you will need to refer to your producer documentation or WSDL file to
determine
- the appropriate values.
+ the appropriate values.</para>
</listitem>
- <listitem>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
+ <listitem><para>Alternatively, and this is the easiest way to configure your producer, you can provide a URL
pointing to the WSDL description of the producer's WSRP services. This is accomplished via the
<literal><endpoint-wsdl-url></literal>
element. &PRODUCT; will then
heuristically determine, from the information contained in the WSDL file, how to connect
appropriately
- to the remote WSRP services.
- <note>It is important to note that, when using this method, &PRODUCT; will try to match a port
+ to the remote WSRP services.</para>
+ <note><para>It is important to note that, when using this method, &PRODUCT; will try to match a port
name to an interface based solely on the provided name. There are no standard names for these
ports so it is possible (though rare) that this matching process fails. In this case, you should
- look at the WSDL file and provide the endpoint URLs manually, as per the previous method.
+ look at the WSDL file and provide the endpoint URLs manually, as per the previous method.</para>
</note>
</listitem>
</itemizedlist>
@@ -564,8 +566,9 @@
registration
information in the producer configuration so that the Portal consumer can register with the remote
producer when required.
- <note>At this time, though, only simple String properties are supported and it is not possible to
- configure complex registration data. This should however be sufficient for most cases.
+ <note>
+ <para>At this time, though, only simple String properties are supported and it is not possible to
+ configure complex registration data. This should however be sufficient for most cases.</para>
</note>
</para>
@@ -601,6 +604,7 @@
</para>
<example>
+ <title>self producer configuration</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
@@ -633,11 +637,12 @@
</programlisting>
</example>
- <para>Here is an example of a WSRP descriptor with a 2 minute caching time and manual definition of the
+ <para>Here is an example of a WSRP descriptor with a 2 minutes caching time and manual definition of the
endpoint URLs:
</para>
<example>
+ <title>WSRP descriptor with 2 minutes caching time</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
@@ -670,6 +675,7 @@
</para>
<example>
+ <title>WSRP descriptor</title>
<programlisting><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE deployments PUBLIC "-//&PRODUCT;//DTD WSRP Remote Producer Configuration 2.6//EN"
@@ -821,7 +827,7 @@
</imageobject>
</mediaobject>
- <note>As of WSRP 1, it is rather difficult to ascertain for sure what caused an
+ <note><para>As of WSRP 1, it is rather difficult to ascertain for sure what caused an
<exceptionname>OperationFailedFault</exceptionname>
as it is the generic exception returned by
producers if something didn't quite happen as expected during a method invocation. This means that
@@ -829,7 +835,7 @@
can be caused by several different reasons, one
of them being a request to modify the registration data. Please take a look at the log files to see
if you can gather more information as to what happened. WSRP 2 introduces an exception that is
- specific to a request to modify registrations thus reducing the ambiguity that currently exists.
+ specific to a request to modify registrations thus reducing the ambiguity that currently exists.</para>
</note>
</para>
</sect3>
@@ -849,20 +855,20 @@
<para>
The available operations are:
<itemizedlist>
- <listitem>Configure: displays the consumer details and allows user to edit them</listitem>
+ <listitem><para>Configure: displays the consumer details and allows user to edit them</para></listitem>
<listitem>
- Refresh: forces the consumer to retrieve the service description from the remote producer to refresh
- the local information (offered portlets, registration information, etc.)
+ <para>Refresh: forces the consumer to retrieve the service description from the remote producer to refresh
+ the local information (offered portlets, registration information, etc.)</para>
</listitem>
<listitem>
- Activate/Deactivate: activates/deactivates a consumer, governing whether it will be available to
- provide portlets and receive portlet invocations
+ <para>Activate/Deactivate: activates/deactivates a consumer, governing whether it will be available to
+ provide portlets and receive portlet invocations</para>
</listitem>
<listitem>
- Register/Deregister: registers/deregisters a consumer based on whether registration is required
- and/or acquired
+ <para>Register/Deregister: registers/deregisters a consumer based on whether registration is required
+ and/or acquired</para>
</listitem>
- <listitem>Delete: destroys the consumer, after deregisterting it if it was registered</listitem>
+ <listitem><para>Delete: destroys the consumer, after deregisterting it if it was registered</para></listitem>
</itemizedlist>
</para>
</sect2>
@@ -992,16 +998,16 @@
Press "Save" to record your modifications.
<note>
- At this time, only String (xsd:string) properties are supported. If your application requires more
- complex properties, please let us know.
+ <para>At this time, only String (xsd:string) properties are supported. If your application requires more
+ complex properties, please let us know.</para>
</note>
<note>
- If consumers are already registered with the producer, modifying the configuration of required
+ <para>If consumers are already registered with the producer, modifying the configuration of required
registration
information will trigger the invalidation of held registrations, requiring consumers to modify their
registration before being able to access the producer again. We saw the consumer side of that process
- in<xref linkend="reg_mod_error"/>.
+ in<xref linkend="reg_mod_error"/>.</para>
</note>
</para>
@@ -1038,11 +1044,11 @@
name of your custom property validator instead to customize the default registration policy behavior.
Note that property validators are only used by the default policy.
- <note>Since the policy or the validator are defined via their class name and dynamically loaded, it is
+ <note><para>Since the policy or the validator are defined via their class name and dynamically loaded, it is
important that you make sure that the identified class is available to the application server. One way
to accomplish that is to deploy your policy implementation as JAR file in your AS instance deploy
directory. Note also that, since both policies and validators are dynamically instantiated, they must
- provide a default, no-argument constructor.
+ provide a default, no-argument constructor.</para>
</note>
</para>
</sect3>
Modified: portal/trunk/docs/reference-guide/en/modules/development/Internationalization_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/development/Internationalization_Configuration.xml 2010-03-22 16:25:30 UTC (rev 2342)
+++ portal/trunk/docs/reference-guide/en/modules/development/Internationalization_Configuration.xml 2010-03-22 17:00:57 UTC (rev 2343)
@@ -143,7 +143,7 @@
</callout>
<callout arearefs="area-Reference_Guide-i18n.locales.configuration.orientation">
<para>
- <emphasis>description</emphasis> The default orientation of text and images is Left-To-Right. &PRODUCT; supports <emphasis role="bold">Right-To-Left</emphasis> orientation. Modifying text orientation is explained in <xref linkend="sect-Reference_Guide-RTL_Right_To_Left_Framework" />.
+ <emphasis>orientation</emphasis> The default orientation of text and images is Left-To-Right. &PRODUCT; supports <emphasis role="bold">Right-To-Left</emphasis> orientation. Modifying text orientation is explained in <xref linkend="sect-Reference_Guide-RTL_Right_To_Left_Framework" />.
</para>
</callout>
</calloutlist>
14 years, 9 months