Author: jaredmorgs
Date: 2012-07-09 00:34:49 -0400 (Mon, 09 Jul 2012)
New Revision: 8779
Added:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml
Removed:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml_code
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/default249.java
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Config_Retrieval.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Configuring_Services.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/RTLFramework.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Global_Portlet.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Standard.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cluster-config.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/jdbc-data-container-config.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/multilanguage-support.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/search-configuration.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/jbosscache-configuration-templates.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/searching/searching-repository-content.xml
Log:
BZ#812412 - Normalized the JBOSS_HOME references to EPP_HOME, and rolled in cumulative
feedback from the devs as per the ticket comments.
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml 2012-07-09 00:39:39 UTC (rev
8778)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/Book_Info.xml 2012-07-09 04:34:49 UTC (rev
8779)
@@ -5,7 +5,7 @@
]>
<bookinfo id="book-Reference_Guide-Reference_Guide">
<title>Reference Guide</title>
- <subtitle>An in-depth guide to Enterprise Portal Platform 5.2, and its patch
releases.f</subtitle>
+ <subtitle>An in-depth guide to Enterprise Portal Platform 5.2, and its patch
releases.</subtitle>
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.2</edition>
Copied:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml
(from rev 8778,
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml_code)
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -0,0 +1,83 @@
+ <component>
+ <key>org.exoplatform.services.jcr.RepositoryService</key>
+ <type>org.exoplatform.services.jcr.impl.RepositoryServiceImpl</type>
+ <component-plugins>
+ <component-plugin>
+ <name>add.namespaces</name>
+ <set-method>addPlugin</set-method>
+ <type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
+ <init-params>
+ <properties-param>
+ <name>namespaces</name>
+ <property name="test"
value="http://www.apache.org/jackrabbit/test"/>
+ <property name="exojcrtest"
value="http://www.exoplatform.org/jcr/test/1.0"/>
+ <property name="rma"
value="http://www.rma.com/jcr/"/>
+ <property name="metadata"
value="http://www.exoplatform.com/jcr/metadata/1.1/"/>
+ <property name="dc"
value="http://purl.org/dc/elements/1.1/"/>
+ <property name="publication"
value="http://www.exoplatform.com/jcr/publication/1.1/"/>
+ </properties-param>
+ </init-params>
+ </component-plugin>
+ <component-plugin>
+ <name>add.nodeType</name>
+ <set-method>addPlugin</set-method>
+ <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
+ <init-params>
+ <values-param>
+ <name>autoCreatedInNewRepository</name>
+ <description>Node types configuration file</description>
+ <value>jar:/conf/test/nodetypes-tck.xml</value>
+ <value>jar:/conf/test/nodetypes-impl.xml</value>
+ <value>jar:/conf/test/nodetypes-usecase.xml</value>
+ <value>jar:/conf/test/nodetypes-config.xml</value>
+ <value>jar:/conf/test/nodetypes-config-extended.xml</value>
+ <value>jar:/conf/test/wcm-nodetypes.xml</value>
+ <value>jar:/conf/test/nodetypes-publication-config.xml</value>
+
<value>jar:/conf/test/publication-plugins-nodetypes-config.xml</value>
+ </values-param>
+
+ <values-param>
+ <name>testInitNodeTypesRepository</name>
+ <description>
+ Node types configuration file for repository with name
testInitNodeTypesRepository
+ </description>
+ <value>jar:/conf/test/nodetypes-test.xml</value>
+ </values-param>
+
+ <values-param>
+ <name>testInitNodeTypesRepositoryTest2</name>
+ <description>
+ Node types configuration file for repository with name
testInitNodeTypesRepositoryTest2
+ </description>
+ <value>jar:/conf/test/nodetypes-test2.xml</value>
+ </values-param>
+
+ <!--values-param>
+ <name>testInitNodeTypesRepositoryTest3</name>
+ <description>Node types from ext. Needed bacause core starup earlie than
ext</description>
+ <value>jar:/conf/test/nodetypes-test3_ext.xml</value>
+ </values-param-->
+
+ </init-params>
+ </component-plugin>
+ </component-plugins>
+ </component>
+
+ <component>
+
<key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
+
<type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
+ <init-params>
+ <value-param>
+ <name>conf-path</name>
+ <description>JCR configuration file</description>
+ <value>jar:/conf/standalone/test-jcr-config-jbc.xml</value>
+ </value-param>
+ <properties-param>
+ <name>working-conf</name>
+ <description>working-conf</description>
+ <property name="dialect" value="auto" />
+ <property name="source-name" value="jdbcjcr"/>
+ <property name="persister-class-name"
value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister"/>
+ </properties-param>
+ </init-params>
+ </component>
Deleted:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml_code
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml_code 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml_code 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,83 +0,0 @@
- <component>
- <key>org.exoplatform.services.jcr.RepositoryService</key>
- <type>org.exoplatform.services.jcr.impl.RepositoryServiceImpl</type>
- <component-plugins>
- <component-plugin>
- <name>add.namespaces</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
- <init-params>
- <properties-param>
- <name>namespaces</name>
- <property name="test"
value="http://www.apache.org/jackrabbit/test"/>
- <property name="exojcrtest"
value="http://www.exoplatform.org/jcr/test/1.0"/>
- <property name="rma"
value="http://www.rma.com/jcr/"/>
- <property name="metadata"
value="http://www.exoplatform.com/jcr/metadata/1.1/"/>
- <property name="dc"
value="http://purl.org/dc/elements/1.1/"/>
- <property name="publication"
value="http://www.exoplatform.com/jcr/publication/1.1/"/>
- </properties-param>
- </init-params>
- </component-plugin>
- <component-plugin>
- <name>add.nodeType</name>
- <set-method>addPlugin</set-method>
- <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
- <init-params>
- <values-param>
- <name>autoCreatedInNewRepository</name>
- <description>Node types configuration file</description>
- <value>jar:/conf/test/nodetypes-tck.xml</value>
- <value>jar:/conf/test/nodetypes-impl.xml</value>
- <value>jar:/conf/test/nodetypes-usecase.xml</value>
- <value>jar:/conf/test/nodetypes-config.xml</value>
- <value>jar:/conf/test/nodetypes-config-extended.xml</value>
- <value>jar:/conf/test/wcm-nodetypes.xml</value>
- <value>jar:/conf/test/nodetypes-publication-config.xml</value>
-
<value>jar:/conf/test/publication-plugins-nodetypes-config.xml</value>
- </values-param>
-
- <values-param>
- <name>testInitNodeTypesRepository</name>
- <description>
- Node types configuration file for repository with name
testInitNodeTypesRepository
- </description>
- <value>jar:/conf/test/nodetypes-test.xml</value>
- </values-param>
-
- <values-param>
- <name>testInitNodeTypesRepositoryTest2</name>
- <description>
- Node types configuration file for repository with name
testInitNodeTypesRepositoryTest2
- </description>
- <value>jar:/conf/test/nodetypes-test2.xml</value>
- </values-param>
-
- <!--values-param>
- <name>testInitNodeTypesRepositoryTest3</name>
- <description>Node types from ext. Needed bacause core starup earlie than
ext</description>
- <value>jar:/conf/test/nodetypes-test3_ext.xml</value>
- </values-param-->
-
- </init-params>
- </component-plugin>
- </component-plugins>
- </component>
-
- <component>
-
<key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
-
<type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
- <init-params>
- <value-param>
- <name>conf-path</name>
- <description>JCR configuration file</description>
- <value>jar:/conf/standalone/test-jcr-config-jbc.xml</value>
- </value-param>
- <properties-param>
- <name>working-conf</name>
- <description>working-conf</description>
- <property name="dialect" value="auto" />
- <property name="source-name" value="jdbcjcr"/>
- <property name="persister-class-name"
value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister"/>
- </properties-param>
- </init-params>
- </component>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java 2012-07-09
04:34:49 UTC (rev 8779)
@@ -13,21 +13,26 @@
public class JSPHelloUserPortlet extends GenericPortlet
{
-
+// Comment #1
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException
{
+// Comment #2
String sYourName = (String) request.getParameter("yourname");
if (sYourName != null)
{
request.setAttribute("yourname", sYourName);
+// Comment #3
PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher("/jsp/hello.jsp");
+// Comment #4
prd.include(request, response);
}
else
{
- PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher("/jsp/welcome.jsp");
+//Code split between lines. Direct copy will result in parse errors.
+ PortletRequestDispatcher prd = getPortletContext().
+ getRequestDispatcher("/jsp/welcome.jsp");
prd.include(request, response);
}
}
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/default249.java
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/default249.java 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/extras/PortletDevelopment_Standard/default249.java 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,7 +1,10 @@
...
+// Comment #1
public void processAction(ActionRequest aRequest, ActionResponse aResponse)
throws PortletException, IOException, UnavailableException
{
+// Comment #2
String sYourname = (String) aRequest.getParameter("yourname");
+// Comment #3
aResponse.setRenderParameter("yourname", sYourname);
}
...
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -165,7 +165,7 @@
</row>
<row>
<entry> default.portal.definition </entry>
- <entry> The definition of the default portal container. This field is
optional. The expected type is
<envar>org.exoplatform.container.definition.PortalContainerDefinition</envar>
that is described below. Allow the parameters defined in this default
<envar>PortalContainerDefinition</envar> will be the default values.
</entry>
+ <entry> The definition of the default portal container. This field is
optional. The expected type is <envar>org.exoplatform.container.
definition.PortalContainerDefinition</envar> that is described below. Allow the
parameters defined in this default <envar>PortalContainerDefinition</envar>
will be the default values. </entry>
</row>
</tbody>
</tgroup>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Config_Retrieval.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Config_Retrieval.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Config_Retrieval.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -14,12 +14,12 @@
<procedure>
<step>
<para>
- Services default <envar>RootContainer</envar> configurations from JAR
files
<filename><replaceable><JBOSS_HOME></replaceable>/conf/gatein/configuration.xml</filename>.
+ Services default <envar>RootContainer</envar> configurations from JAR
files
<filename><replaceable>EPP_HOME</replaceable>/conf/gatein/configuration.xml</filename>.
</para>
</step>
<step>
<para>
- External <envar>RootContainer</envar> configuration can be found at
<filename><replaceable><JBOSS_HOME></replaceable>/conf/gatein/configuration.xml</filename>.
+ External <envar>RootContainer</envar> configuration can be found at
<filename><replaceable>EPP_HOME</replaceable>/conf/gatein/configuration.xml</filename>.
</para>
</step>
<step>
@@ -34,7 +34,7 @@
</step>
<step>
<para>
- External configuration for services of named portal can be found at
<filename><replaceable><JBOSS_HOME></replaceable>/conf/gatein/configuration.xml</filename>.
+ External configuration for services of named portal can be found at
<filename><replaceable>EPP_HOME</replaceable>/conf/gatein/configuration.xml</filename>.
</para>
</step>
</procedure>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Configuring_Services.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Configuring_Services.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/Advanced/Foundations/Configuring_Services.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -21,7 +21,7 @@
All <filename>configuration.xml</filename> files located at
<filename>conf/portal/configuration.xml</filename> in the classpath will have
their services configured at the <literal>PortalContainer</literal> scope.
</para>
<para>
- Additionally, <emphasis role="bold">portal
extensions</emphasis> can use configuration information stored in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>,
and will also have their services configured in the
<literal>PortalContainer</literal> scope.
+ Additionally, <emphasis role="bold">portal
extensions</emphasis> can use configuration information stored in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>,
and will also have their services configured in the
<literal>PortalContainer</literal> scope.
</para>
<para>
When eXo kernel reads a configuration, it loads the file from the kernel jar
using the classloader and does not use an internet connection to resolve the file.
@@ -51,8 +51,7 @@
<para>
The configuration found inside the jar file is considered as the default
configuration. If you want to override this default configuration you can do it in
different places outside the jar. When the container finds several configurations for the
same service, the configuration which is found later replaces completely the one found
previously. Let's call this the <emphasis>configuration override
mechanism</emphasis>.
</para>
- <para>
- After deploying you find the configuration.xml file in
webapps/portal/WEB-INF/conf Use component registration tags. Let's look at the
key tag that defines the interface and the type tag that defines the implementation. Note
that the key tag is not mandatory, but it improves performance.
+ <para>All custom configuration is made in the
<filename>webapps/portal/WEB-INF/conf/configuration.xml</filename> file. Use
<component> elements to contain the configuration information. The
<key> element defines the interface, and the <type> tag
defines the implementation. While the <key> tag is not mandatory, it can
lead to a small performance improvement.
</para>
<programlisting language="XML" role="XML"><!--
Portlet container hooks -->
<component>
@@ -151,7 +150,7 @@
</para>
</note>
<para>
- <emphasis role="bold">HashTable</emphasis> The
<classname>RootContainer</classname> creates a java
<classname>HashTable</classname> which contains key-value pairs for the
services. The qualified interface name of each service is used as key for the hashtable.
Hopefully you still remember that the
<parameter><key></parameter> tag of the configuration file
contains the interface name? The value of each hashtable pair is an object that contains
the service configuration (yes, this means the whole structure between the
<parameter><component></parameter> tags of your
<filename>configuration.xml</filename> file).
+ The <classname>RootContainer</classname> creates a java
<classname>HashTable</classname> which contains key-value pairs for the
services. The qualified interface name of each service is used as key for the hashtable.
Hopefully you still remember that the
<parameter><key></parameter> tag of the configuration file
contains the interface name? The value of each hashtable pair is an object that contains
the service configuration (yes, this means the whole structure between the
<parameter><component></parameter> tags of your
<filename>configuration.xml</filename> file).
</para>
<para>
The <classname>RootContainer</classname> runs over all
jar files you find in <emphasis>exo-tomcat/lib</emphasis> and looks if there
is a configuration file at <emphasis>/conf/configuration.xml</emphasis>, the
services configured in this file are added to the hashtable. That way - at the end of this
process - the default configurations for all services are stored in the hashtable.
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationAuthorizationOverview.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -44,7 +44,7 @@
Authentication workflow consists of HTTP requests and redirects which include
handshakes. Source code related to authentication is partially included in the WCI module,
as the authentication process differs on <ulink
url="http://www.jcp.org/en/jsr/detail?id=154" type="http">Servlet
2.5</ulink> containers and <ulink
url="http://www.jcp.org/en/jsr/detail?id=315" type="http">Servlet
3.0</ulink> containers.
</para>
<para>
- First you can see in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
that authentication is triggered by accessing a secured URL:
+ First you can see in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
that authentication is triggered by accessing a secured URL:
</para>
<programlisting language="XML" role="XML">
<![CDATA[
@@ -87,7 +87,7 @@
]]>
</programlisting>
<para>
- <literal>InitiateLoginServlet</literal> simply redirects user to
login page placed in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/login/jsp/login.jsp</filename>.
+ <literal>InitiateLoginServlet</literal> simply redirects user to
login page placed in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/login/jsp/login.jsp</filename>.
<mediaobject>
<imageobject role="html">
<imagedata align="center"
fileref="images/AuthenticationAndIdentity/Overview/loginScreen.png"
format="PNG"/>
@@ -98,7 +98,7 @@
</mediaobject>
</para>
<para>
- Changes to the appearance of this login page can be made in this JSP file.
You can also change image or CSS placed in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/login/skin</filename>
.
+ Changes to the appearance of this login page can be made in this JSP file.
You can also change image or CSS placed in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/login/skin</filename>
.
</para>
<para>
After a user submits the login form, they are redirected to the login URL;
<ulink
url="http://localhost:8080/portal/login?username=root&password=gtn&initialURI=/portal/classic"
type="http">http://localhost:8080/portal/login?username=root&password=gtn&initialURI=/portal/private/classic</ulink>.
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,124 +1,101 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?xml version='1.0' encoding='UTF-8'?>
<!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;
]>
<section id="sect-Reference_Guide-Authentication_Token_Configuration">
- <title>Authentication Token Configuration</title>
- <section
id="sect-Reference_Guide-Authentication_Token_Configuration-The_Token_Service">
- <title>The Token Service</title>
- <para>
+ <title>Authentication Token Configuration</title>
+ <section
id="sect-Reference_Guide-Authentication_Token_Configuration-The_Token_Service">
+ <title>The Token Service</title>
+ <para>
The <emphasis>Token Service</emphasis> is used in
authentication.
</para>
- <para>
+ <para>
The token system prevents user account information being sent in clear text
mode within inbound requests. This increases authentication security.
</para>
- <para>
+ <para>
The 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.
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Authentication_Token_Configuration-Implementing_the_Token_Service_API">
- <title>Implementing the Token Service API</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-Authentication_Token_Configuration-Implementing_the_Token_Service_API">
+ <title>Implementing the Token Service API</title>
+ <para>
All token services used in JBoss Enterprise Portal Platform authentication
must be implemented by subclassing an <emphasis
role="bold">AbstractTokenService</emphasis> abstract class.
</para>
- <para>
+ <para>
The following <emphasis
role="bold">AbstractTokenService</emphasis> methods represent the
contract between authentication runtime, and a token service implementation.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default94.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default94.java"
parse="text"/></programlisting>
+ <para>
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services">
- <title>Configuring Token Services</title>
- <para>
- Token services configuration includes specifying the token validity period.
The token service is configured as a portal component using the
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/autologin-configuration.xml</filename>
file.
+ </section>
+ <section
id="sect-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services">
+ <title>Configuring Token Services</title>
+ <para>
+ Token services configuration includes specifying the token validity period.
The token service is configured as a portal component using the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/autologin-configuration.xml</filename>
file.
</para>
- <para>
+ <para>
In the XML 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>
+ <para>
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>
+ <para>
This property must have three values.
</para>
- <programlistingco>
- <areaspec>
- <area coords="7 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-name"
/>
- <area coords="8 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-time"
/>
- <area coords="9 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-unit"
/>
-
- </areaspec>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default95.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-name">
- <para>
+ <programlistingco>
+ <areaspec>
+ <area coords="7 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-name"/>
+ <area coords="8 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-time"/>
+ <area coords="9 50"
id="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-unit"/>
+ </areaspec>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default95.xml"
parse="text"/></programlisting>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-name">
+ <para>
Service name
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-time">
- <para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-time">
+ <para>
Amount of time
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-unit">
- <para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configuring_Token_Services-unit">
+ <para>
Unit of time
</para>
-
- </callout>
-
- </calloutlist>
-
- </programlistingco>
-
- <para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ <para>
In this case, the service name is <emphasis
role="bold">jcr-token</emphasis> and the token expiration time is one
week.
</para>
- <para>
+ <para>
JBoss Enterprise Portal Platform supports
<emphasis>four</emphasis> time units:
</para>
- <orderedlist numeration="arabic">
- <listitem>
- <para>
+ <orderedlist numeration="arabic">
+ <listitem>
+ <para>
<parameter>SECOND</parameter>
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>MINUTE</parameter>
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>HOUR</parameter>
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>DAY</parameter>
</para>
-
- </listitem>
-
- </orderedlist>
-
- </section>
-
-
+ </listitem>
+ </orderedlist>
+ </section>
</section>
-
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -8,7 +8,7 @@
<note>
<title>Notational Device</title>
<para>
- For ease of readability the following section uses the notational device
<replaceable>ID_HOME</replaceable> to represent the file path
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/organization/</filename>,
as this directory is the root of all JBoss Enterprise Portal Platform's
identity-related configuration.
+ For ease of readability the following section uses the notational device
<replaceable>ID_HOME</replaceable> to represent the file path
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/organization/</filename>,
as this directory is the root of all JBoss Enterprise Portal Platform's
identity-related configuration.
</para>
</note>
<para>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PasswordEncryption.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,77 +1,62 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?xml version='1.0' encoding='UTF-8'?>
<!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 "Book_Name.ent">
%BOOK_ENTITIES;
]>
-
- <section
id="sect-Reference_Guide-Authentication_and_Identity-Password_Encryption">
- <title>Password Encryption</title>
- <!-- The warning and first listitem below were relocated from
sect-Reference_Guide-Authentication_Token_Configuration as security and plain-text
password issues were being expanded on (from JBEPP-610) --> <warning>
- <title>Username and passwords stored in clear text</title>
- <para>
+<section
id="sect-Reference_Guide-Authentication_and_Identity-Password_Encryption">
+ <title>Password Encryption</title>
+<!-- The warning and first listitem below were relocated from
sect-Reference_Guide-Authentication_Token_Configuration as security and plain-text
password issues were being expanded on (from JBEPP-610) --> <warning>
+ <title>Username and passwords stored in clear text</title>
+ <para>
The <emphasis>Remember Me</emphasis> feature of JBoss Enterprise
Portal Platform uses a token mechanism to be able to authenticate returning users without
requiring an explicit login. However, to be able to authenticate these users, the token
needs to store the username and password in clear text in the JCR.
</para>
-
- </warning>
- <para>
+ </warning>
+ <para>
Administrators have two options available to ameliorate this risk:
</para>
- <orderedlist>
- <listitem>
- <para>
- The <emphasis>Remember Me</emphasis> feature can be disabled
by removing the corresponding checkbox in:
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/login/jsp/login.jsp</filename>
and
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</filename>.
+ <orderedlist>
+ <listitem>
+ <para>
+ The <emphasis>Remember Me</emphasis> feature can be disabled
by removing the corresponding checkbox in:
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/login/jsp/login.jsp</filename>
and
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/groovy/portal/webui/UILoginForm.gtmpl</filename>.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Passwords can be encoded prior to being saved to the JCR. This option
requires administrators to provide a custom subclass of
<parameter>org.exoplatform.web.security.security.AbstractCodec</parameter> and
set up a codec implementation with <parameter>CookieTokenService</parameter>:
</para>
- <procedure
id="proc-Reference_Guide-Password_Encryption-Encrypt_Password_in_JCR">
- <title>Encrypt Password in JCR</title>
- <step>
- <para>
+ <procedure
id="proc-Reference_Guide-Password_Encryption-Encrypt_Password_in_JCR">
+ <title>Encrypt Password in JCR</title>
+ <step>
+ <para>
Create a javaclass similar to:
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Authentication_Identity/ExampleCodec.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </step>
- <step>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity/ExampleCodec.java"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
Compile the class and package it into a jar file. For this
example we will call the jar file <filename>codec-example.jar</filename>.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Create a
<filename>conf/portal/configuration.xml</filename> file within the
<filename>codec-example.jar</filename> similar to the example below. This
allows the portal kernel to find and use the new codec implementation.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Authentication_Identity/configuration.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </step>
- <step>
- <para>
- Deploy the <filename>codec-example.jar</filename>
into your
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/lib/</filename>
directory.
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity/configuration.xml"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
+ Deploy the <filename>codec-example.jar</filename>
into your
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/lib/</filename>
directory.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Start (or restart) your JBoss Enterprise Portal Platform.
</para>
- <para>
+ <para>
Any passwords written to the JCR will now be encoded and not
plain text.
</para>
-
- </step>
-
- </procedure>
-
-
- </listitem>
-
- </orderedlist>
-
-</section>
\ No newline at end of file
+ </step>
+ </procedure>
+ </listitem>
+ </orderedlist>
+</section>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -8,7 +8,7 @@
<section
id="sect-Reference_Guide-Predefined_User_Configuration-Overview">
<title>Overview</title>
<para>
- The initial Organization configuration should be specified by editing the content of
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war:/WEB-INF/conf/organization/organization-configuration.xml</filename>.
This file uses the portal XML configuration schema. It lists several configuration
plug-ins.
+ The initial Organization configuration should be specified by editing the content of
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war:/WEB-INF/conf/organization/organization-configuration.xml</filename>.
This file uses the portal XML configuration schema. It lists several configuration
plug-ins.
</para>
</section>
<section
id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_adding_users_groups_and_membership_types">
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -104,7 +104,7 @@
<title>SSO Integration</title>
<step>
<para>
- Open the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/jbossweb.sar/server.xml</filename>
file and uncomment one of the two <parameter>Valve</parameter> entries:
+ Open the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/jbossweb.sar/server.xml</filename>
file and uncomment one of the two <parameter>Valve</parameter> entries:
</para>
<itemizedlist>
<listitem>
@@ -167,7 +167,7 @@
</step>
<step>
<para>
- Open the
<filename><replaceable><JBOSS_HOME></replaceable>/server/all/<replaceable><PROFILE></replaceable>/jbossweb.sar/server.xml</filename>
file.
+ Open the
<filename><replaceable>EPP_HOME</replaceable>/server/all/<replaceable>PROFILE</replaceable>/jbossweb.sar/server.xml</filename>
file.
</para>
</step>
<step>
@@ -236,7 +236,7 @@
<title/>
<step>
<para>
- Open the
<filename><replaceable><JBOSS_HOME></replaceable>/server/node1/deploy/jmx-console.war/WEB-INF/web.xml</filename>
file and edit it as follows:
+ Open the
<filename><replaceable>EPP_HOME</replaceable>/server/node1/deploy/jmx-console.war/WEB-INF/web.xml</filename>
file and edit it as follows:
</para>
<substeps>
<step>
@@ -302,7 +302,7 @@
<title>Redirect to Use SSO Valve Authentication</title>
<step>
<para>
- Open the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file and edit the line:
+ Open the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file and edit the line:
</para>
<programlisting language="Java" role="java"><a
class="Login"
onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
</programlisting>
@@ -314,7 +314,7 @@
</step>
<step>
<para>
- Open the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename>
file and change the line:
+ Open the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename>
file and change the line:
</para>
<programlisting language="Java" role="java"><a
onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
</programlisting>
@@ -452,7 +452,7 @@
<title>Setup the CAS client</title>
<step>
<para>
- Copy all the libraries from the
<filename><replaceable>PORTAL_SSO</replaceable>/cas/gatein.ear/lib</filename>
directory into the
<filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename>)
directory.
+ Copy all the libraries from the
<filename><replaceable>PORTAL_SSO</replaceable>/cas/gatein.ear/lib</filename>
directory into the
<filename>EPP_HOME/server/default/deploy/gatein.ear/lib</filename>)
directory.
</para>
</step>
<step>
@@ -501,13 +501,13 @@
<title>Redirect to CAS</title>
<step>
<para>
- Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file as follows:
+ Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file as follows:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default106.xml"
parse="text"/></programlisting>
</step>
<step>
<para>
- Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename>
file as follows:
+ Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/portal/webui/component/UILogoPortlet.gtmpl</filename>
file as follows:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default107.xml"
parse="text"/></programlisting>
</step>
@@ -631,7 +631,7 @@
</step>
<step>
<para>
- In Tomcat, edit
<filename>JBOSS_HOME/conf/jaas.conf</filename> and uncomment this section:
+ In Tomcat, edit
<filename>EPP_HOME/conf/jaas.conf</filename> and uncomment this section:
</para>
<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
org.exoplatform.services.security.j2ee.TomcatLoginModule requiredtm
@@ -667,7 +667,7 @@
<title>Setup the portal to redirect to JOSSO</title>
<step>
<para>
- In the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file modify the 'Sign In' link as follows:
+ In the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file modify the 'Sign In' link as follows:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default112.xml"
parse="text"/></programlisting>
</step>
@@ -914,15 +914,15 @@
<title>Setup the OpenSSO client</title>
<step>
<para>
- Copy all libraries from the
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/gatein.ear/lib</filename>
directory into the
<filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename>
directory.
+ Copy all libraries from the
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/gatein.ear/lib</filename>
directory into the
<filename>EPP_HOME/server/default/deploy/gatein.ear/lib</filename> directory.
</para>
<para>
- Alternatively, in a Tomcat environment, copy the libraries into the
<filename>JBOSS_HOME/lib</filename> directory.
+ Alternatively, in a Tomcat environment, copy the libraries into the
<filename>EPP_HOMEibib</filename> directory.
</para>
</step>
<step>
<para>
- Edit the
<filename>jboss-as/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename>
and uncomment this section:
+ Edit the
<filename>jboss-as/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename>
and uncomment this section:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default118.xml"
parse="text"/></programlisting>
</step>
@@ -968,7 +968,7 @@
<title>Setup the portal to redirect to OpenSSO</title>
<step>
<para>
- Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file as follows:
+ Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtml</filename>
file as follows:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default119.xml"
parse="text"/></programlisting>
</step>
@@ -1312,10 +1312,10 @@
</step>
<step>
<para>
- Add the SSO module binaries by copying <emphasis
role="bold">PORTAL_SSO/spnego/gatein.ear/lib/sso-agent.jar</emphasis>
to the <emphasis
role="bold">JBOSS_HOME/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/lib/</emphasis>
directory.
+ Add the SSO module binaries by copying
<filename>PORTAL_SSO/spnego/gatein.ear/lib/sso-agent.jar</filename> to the
<filename>EPP_HOME/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/lib/</filename>
directory.
</para>
<para>
- Copy the <emphasis
role="bold">PORTAL_SSO/spnego/gatein.ear/lib/sso-spnego.jar</emphasis>
file to the <emphasis
role="bold">JBOSS_HOME/server/<replaceable><PROFILE></replaceable>/lib</emphasis>
directory.
+ Copy the
<filename>PORTAL_SSO/spnego/gatein.ear/lib/sso-spnego.jar</filename> file to
the
<filename>EPP_HOME/server/<replaceable>PROFILE</replaceable>/lib</filename>
directory.
</para>
</step>
<!-- This step not required as EPP already has the correct version of Negotiation
2.0.4.GA
@@ -1328,7 +1328,7 @@
</step>
--> <step>
<para>
- Modify the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename>
file to match the following:
+ Modify the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml</filename>
file to match the following:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default126.xml"
parse="text"/></programlisting>
<para>
@@ -1337,7 +1337,7 @@
</step>
<step>
<para>
- Modify
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
to match:
+ Modify
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
to match:
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default127.xml"
parse="text"/></programlisting>
<para>
@@ -1371,13 +1371,13 @@
</step>
<step>
<para>
- Integrate the request pre-processing needed for SPNEGO via
filters by adding the following filters to the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
at the top of the Filter chain.
+ Integrate the request pre-processing needed for SPNEGO via
filters by adding the following filters to the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>
at the top of the Filter chain.
</para>
<programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default128.xml"
parse="text"/></programlisting>
</step>
<step>
<para>
- Edit the '<emphasis role="bold">Sign
In</emphasis>' link in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtmpl</filename>
to match the following:
+ Edit the '<emphasis role="bold">Sign
In</emphasis>' link in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/groovy/groovy/webui/component/UIBannerPortlet.gtmpl</filename>
to match the following:
</para>
<programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default129.java"
parse="text"/></programlisting>
</step>
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/Introduction.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -27,30 +27,32 @@
<title>Devices</title>
<varlistentry>
<term>
- <replaceable><JBOSS_HOME></replaceable>
+ <replaceable>EPP_HOME</replaceable>
</term>
<listitem>
<para>
- This device will refer to the <application>JBoss Application
Server</application> (<filename>jboss-as</filename>) directory deployed
in JBoss Enterprise Portal Platform by default.
+ This device refers to the JBoss Enterprise Application Platform
<application>
+ <filename>jboss-as</filename>
+ </application> directory deployed in JBoss Enterprise Portal
Platform by default.
</para>
<para>
- Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a
directory called <filename>jboss-epp-&VY;/</filename>, your
<replaceable><JBOSS_HOME></replaceable> directory would be
<filename>jboss-epp-&VY;/jboss-as/</filename>.
+ Therefore, if your JBoss Enterprise Portal Platform instance is deployed into a
directory called <filename>/opt/jboss/jboss-epp-&VY;/</filename>, your
<replaceable>EPP_HOME</replaceable> directory is
<filename>/opt/jboss/jboss-epp-&VY;/jboss-as/</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- <replaceable><PROFILE></replaceable>
+ <replaceable>PROFILE</replaceable>
</term>
<listitem>
<para>
- This device will usually follow an instance of
<replaceable><JBOSS_HOME></replaceable> in a file path and
refers to the directory that contains the server profile your JBoss Enterprise Portal
Platform instance is configured to use.
+ This device will usually follow an instance of
<replaceable>EPP_HOME</replaceable> in a file path and refers to the directory
that contains the server profile your JBoss Enterprise Portal Platform instance is
configured to use.
</para>
<para>
- JBoss Enterprise Portal Platform comes with six profiles by default; <emphasis
role="bold">all</emphasis>, <emphasis
role="bold">default</emphasis>, <emphasis
role="bold">minimal</emphasis>, <emphasis
role="bold">production</emphasis>, <emphasis
role="bold">standard</emphasis> and <emphasis
role="bold">web</emphasis>. These profiles are found in the
<filename><replaceable><JBOSS_HOME></replaceable>/server/</filename>
directory.
+ JBoss Enterprise Portal Platform comes with six profiles by default; <emphasis
role="bold">all</emphasis>, <emphasis
role="bold">default</emphasis>, <emphasis
role="bold">minimal</emphasis>, <emphasis
role="bold">production</emphasis>, <emphasis
role="bold">standard</emphasis> and <emphasis
role="bold">web</emphasis>. These profiles are found in the
<filename><replaceable>EPP_HOME</replaceable>/server/</filename>
directory.
</para>
<para>
- Therefore, if you are using the <emphasis>default</emphasis> profile,
your <replaceable><PROFILE></replaceable> directory would be
<filename><replaceable><JBOSS_HOME></replaceable>/server/default/</filename>
+ Therefore, if you are using the <emphasis>default</emphasis> profile,
your <replaceable>PROFILE</replaceable> directory would be
<filename><replaceable>EPP_HOME</replaceable>/server/default/</filename>
</para>
</listitem>
</varlistentry>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,116 +1,91 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter
id="chap-Reference_Guide-Portal_Default_Permission_Configuration">
- <title>Portal Default Permission Configuration</title>
- <section
id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overview">
- <title>Overview</title>
- <para>
- The default permission configuration for the portal is defined through the
<literal>org.exoplatform.portal.config.UserACL</literal> component
configuration in the
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>
file.
- </para>
- <para>
- It defines eight permissions types:
- </para>
- <variablelist>
- <varlistentry>
- <term>super.user</term>
- <listitem>
- <para>
- The super user has all the rights on the platform, this user is referred to as
<emphasis>root</emphasis>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>portal.administrator.groups</term>
- <listitem>
- <para>
- Any member of those groups are considered administrators. Default value is
<literal>/platform/administrators</literal>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>portal.administrator.mstype</term>
- <listitem>
- <para>
- Any user with that membership type would be considered administrator or the
associated group. Default value is <literal>manager</literal>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>portal.creator.groups</term>
- <listitem>
- <para>
- This list defines all groups that will be able to manage the different portals.
Members of this group also have the permission to create new portals. The format is
<literal>membership:/group/subgroup</literal>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>navigation.creator.membership.type</term>
- <listitem>
- <para>
- Defines the membership type of group managers. The group managers have the
permission to create and edit group pages and they can modify the group navigation.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>guests.group</term>
- <listitem>
- <para>
- Any anonymous user automatically becomes a member of this group when they enter the
public pages.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>mandatory.groups</term>
- <listitem>
- <para>
- Groups that can't be deleted.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>mandatory.mstypes</term>
- <listitem>
- <para>
- Membership types that can't be deleted.
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/PortalDevelopment_DefaultPortalPermissionConfiguration/default145.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overwrite_Portal_Default_Permissions">
- <title>Overwrite Portal Default Permissions</title>
- <para>
- When creating custom portals and portal extensions it is possible to override the
default configuration by using
<literal>org.exoplatform.portal.config.PortalACLPlugin</literal>, configuring
it as an external-plugin of
<literal>org.exoplatform.portal.config.UserACL</literal> service:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/PortalDevelopment_DefaultPortalPermissionConfiguration/default146.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
+ <title>Portal Default Permission Configuration</title>
+ <section
id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overview">
+ <title>Overview</title>
+ <para>
+ The default permission configuration for the portal is defined through the
<literal>org.exoplatform.portal.config.UserACL</literal> component
configuration in the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war:/WEB-INF/conf/portal/portal-configuration.xml</filename>
file.
+ </para>
+ <para>
+ It defines eight permissions types:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>super.user</term>
+ <listitem>
+ <para>
+ The super user has all the rights on the platform, this user is referred to as
<emphasis>root</emphasis>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>portal.administrator.groups</term>
+ <listitem>
+ <para>
+ Any member of those groups are considered administrators. Default value is
<literal>/platform/administrators</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>portal.administrator.mstype</term>
+ <listitem>
+ <para>
+ Any user with that membership type would be considered administrator or the
associated group. Default value is <literal>manager</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>portal.creator.groups</term>
+ <listitem>
+ <para>
+ This list defines all groups that will be able to manage the different portals.
Members of this group also have the permission to create new portals. The format is
<literal>membership:/group/subgroup</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>navigation.creator.membership.type</term>
+ <listitem>
+ <para>
+ Defines the membership type of group managers. The group managers have the
permission to create and edit group pages and they can modify the group navigation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>guests.group</term>
+ <listitem>
+ <para>
+ Any anonymous user automatically becomes a member of this group when they enter the
public pages.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mandatory.groups</term>
+ <listitem>
+ <para>
+ Groups that can't be deleted.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>mandatory.mstypes</term>
+ <listitem>
+ <para>
+ Membership types that can't be deleted.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_DefaultPortalPermissionConfiguration/default145.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Portal_Default_Permission_Configuration-Overwrite_Portal_Default_Permissions">
+ <title>Overwrite Portal Default Permissions</title>
+ <para>
+ When creating custom portals and portal extensions it is possible to override the
default configuration by using
<literal>org.exoplatform.portal.config.PortalACLPlugin</literal>, configuring
it as an external-plugin of
<literal>org.exoplatform.portal.config.UserACL</literal> service:
+ </para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_DefaultPortalPermissionConfiguration/default146.xml"
parse="text"/></programlisting>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -57,7 +57,7 @@
The returned <literal>Locale</literal> has to be one of the locales
supported by portal, otherwise it will fall back to the portal default
<literal>Locale</literal>.
</para>
<para>
- The supported locales are listed in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/locales-config.xml</filename>
file as described in <xref
linkend="sect-Reference_Guide-Internationalization_Configuration-Locales_Configuration"/>
.
+ The supported locales are listed in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/locales-config.xml</filename>
file as described in <xref
linkend="sect-Reference_Guide-Internationalization_Configuration-Locales_Configuration"/>
.
</para>
<para>
The <literal>determineLocale()</literal> method takes a parameter of type
<literal>LocaleContextInfo</literal>, which represents a compilation of
preferred locales from different sources; user’s profile, portal default, browser language
settings, current session, browser cookie.
@@ -204,7 +204,7 @@
<section
id="sect-Reference_Guide-Pluggable_Locale_Policy-LocalePolicy_Configuration">
<title>LocalePolicy Configuration</title>
<para>
- The <literal>LocalePolicy</literal> framework is enabled for portlets by
configuring <literal>LocalizationLifecycle</literal> class in
portal's webui configuration file:
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/webui-configuration.xml</filename>:
+ The <literal>LocalePolicy</literal> framework is enabled for portlets by
configuring <literal>LocalizationLifecycle</literal> class in
portal's webui configuration file:
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/webui-configuration.xml</filename>:
</para>
<programlisting language="XML"
role="XML"><application-life-cycle-listeners>
...
@@ -212,7 +212,7 @@
</application-life-cycle-listeners>
</programlisting>
<para>
- The default <literal>LocalePolicy</literal> implementation is installed
as an eXo Kernel portal service via
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/portal/web-configuration.xml</filename>.
+ The default <literal>LocalePolicy</literal> implementation is installed
as an eXo Kernel portal service via
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/portal/web-configuration.xml</filename>.
</para>
<para>
The following excerpt is responsible for installing the service:
@@ -244,7 +244,7 @@
That way even localization of servlets, and .jsps accessed in a non-bridged manner
can stay in sync with portlet localization.
</para>
<para>
- <literal>LocalizationFilter</literal> is installed through the
portal's web.xml file:
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>.
+ <literal>LocalizationFilter</literal> is installed through the
portal's web.xml file:
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/web.xml</filename>.
</para>
<programlisting language="XML"
role="XML"><filter>
<filter-name>LocalizationFilter</filter-name>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/RTLFramework.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/RTLFramework.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortalDevelopment/RTLFramework.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,206 +1,167 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Right_To_Left_RTL_Framework">
- <title>Right To Left (RTL) Framework</title>
- <para>
- The text orientation depends on the current locale setting. The orientation is a Java 5
enum that provides a set of functionalities:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default172.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <!-- DOC NOTE: Commented based on feedback from Marek Posolda that section
seemed to have been included without previous explanatory context.
+ <title>Right To Left (RTL) Framework</title>
+ <para>
+ The text orientation depends on the current locale setting. The orientation is a Java 5
enum that provides a set of functionalities:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default172.java"
parse="text"/></programlisting>
+<!-- DOC NOTE: Commented based on feedback from Marek Posolda that section
seemed to have been included without previous explanatory context.
<para>
- The object defining the orientation for the current request is the
<literal>UIPortalApplication</literal>. However it should be accessed at
runtime using the <literal>RequestContext</literal> that delegates to the
<literal>UIPortalApplication</literal>.
- </para>
- <para>
- In the case of a <literal>PortalRequestContext</literal> it is a direct
delegate as the <literal>PortalRequestContext</literal> has a reference to the
current <literal>UIPortalApplication</literal>.
- </para>
- <para>
- In the case of a different context, it delegates to the parent context given the fact
that the root <literal>RequestContext</literal> is always a
<literal>PortalRequestContext</literal>.
- </para> --> <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Groovy_templates">
- <title>Groovy templates</title>
- <para>
- Orientation is defined by implicit variables passed into the groovy binding context:
- </para>
- <variablelist>
- <varlistentry>
- <term>Orientation</term>
- <listitem>
- <para>
- The current orientation as an Orientation.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>isLT</term>
- <listitem>
- <para>
- The value of <literal>orientation.isLT()</literal>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>isRT</term>
- <listitem>
- <para>
- The value of <literal>orientation.isRT()</literal>.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>dir</term>
- <listitem>
- <para>
- The string '<emphasis role="bold">ltr</emphasis>' if
the orientation is LT or the string '<emphasis
role="bold">rtl</emphasis>' if the orientation is RT.
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
- </section>
-
- <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Stylesheet">
- <title>Stylesheet</title>
- <para>
- The skin service handles stylesheet rewriting to accommodate the orientation.
- </para>
- <para>
- It works by appending -lt or -rt to the stylesheet name.
- </para>
- <para>
- For instance:
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet-rt.css</filename>
will return the same stylesheet as
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/web.war/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css</filename>
but processed for the RT orientation. The <parameter>-lt</parameter> suffix is
optional.
- </para>
- <para>
- Stylesheet authors can annotate their stylesheet to create content that depends on the
orientation.
- </para>
- <para>
- In the example below we need to use the orientation to modify the float attribute that
will make the horizontal tabs either float on left or on right:
- </para>
- <example id="exam-Reference_Guide-Stylesheet-Example_1">
- <title>Example 1</title>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default173.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </example>
- <para>
- The LT produced output will be:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default174.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The RT produced output will be:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default175.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- In this example we need to modify the padding according to the orientation:
- </para>
- <example id="exam-Reference_Guide-Stylesheet-Example_2">
- <title>Example 2</title>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default176.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </example>
- <para>
- The LT produced output will be:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default177.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The RT produced output will be:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default178.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Images">
- <title>Images</title>
- <para>
- Sometimes it is necessary to create an RT version of an image that will be used from a
template or from a stylesheet. However symmetric images can be automatically generated,
avoiding the necessity to create a mirrored version of an image and further maintenance
costs.
- </para>
- <para>
- The web resource filter uses the same naming pattern as the skin service. When an
image ends with the -rt suffix the portal will attempt to locate the original image and
create a mirror of it.
- </para>
- <para>
- For instance: requesting the image
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/01eXoResources.war/skin/DefaultSkin/webui/component/UITabSystem/UITabs/background/NormalTabStyle-rt.gif</filename>
returns a mirror of the image
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/01eXoResources.war/skin/DefaultSkin/webui/component/UITabSystem/UITabs/background/NormalTabStyle.gif</filename>.
- </para>
- <note>
- <para>
- It is important to consider whether the image to be mirrored is symmetrical as this
will impact it's final appearance.
- </para>
-
- </note>
- <para>
- Here is an example combining stylesheet and images:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/PortalDevelopment_RTLFramework/default179.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Client_Side_JavaScript">
- <title>Client Side JavaScript</title>
- <para>
- The <literal>eXo.core.I18n</literal> object provides the following
parameters for orientation:
- </para>
- <variablelist>
- <varlistentry>
- <term>getOrientation()</term>
- <listitem>
- <para>
- Returns either the string lt or rt
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>getDir()</term>
- <listitem>
- <para>
- Returns either the string ltr or rtl
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>isLT()</term>
- <listitem>
- <para>
- Returns true for LT
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>isRT()</term>
- <listitem>
- <para>
- Returns true of RT
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
- </section>
-
-
+ The object defining the orientation for the current request is the
<literal>UIPortalApplication</literal>. However it should be accessed at
runtime using the <literal>RequestContext</literal> that delegates to the
<literal>UIPortalApplication</literal>.
+ </para>
+ <para>
+ In the case of a <literal>PortalRequestContext</literal> it is a direct
delegate as the <literal>PortalRequestContext</literal> has a reference to the
current <literal>UIPortalApplication</literal>.
+ </para>
+ <para>
+ In the case of a different context, it delegates to the parent context given the fact
that the root <literal>RequestContext</literal> is always a
<literal>PortalRequestContext</literal>.
+ </para> --> <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Groovy_templates">
+ <title>Groovy templates</title>
+ <para>
+ Orientation is defined by implicit variables passed into the groovy binding context:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Orientation</term>
+ <listitem>
+ <para>
+ The current orientation as an Orientation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>isLT</term>
+ <listitem>
+ <para>
+ The value of <literal>orientation.isLT()</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>isRT</term>
+ <listitem>
+ <para>
+ The value of <literal>orientation.isRT()</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>dir</term>
+ <listitem>
+ <para>
+ The string '<emphasis
role="bold">ltr</emphasis>' if the orientation is LT or the
string '<emphasis role="bold">rtl</emphasis>' if
the orientation is RT.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Stylesheet">
+ <title>Stylesheet</title>
+ <para>
+ The skin service handles stylesheet rewriting to accommodate the orientation.
+ </para>
+ <para>
+ It works by appending -lt or -rt to the stylesheet name.
+ </para>
+ <para>
+ For instance:
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet-rt.css</filename>
will return the same stylesheet as
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/web.war/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.css</filename>
but processed for the RT orientation. The <parameter>-lt</parameter> suffix is
optional.
+ </para>
+ <para>
+ Stylesheet authors can annotate their stylesheet to create content that depends on the
orientation.
+ </para>
+ <para>
+ In the example below we need to use the orientation to modify the float attribute that
will make the horizontal tabs either float on left or on right:
+ </para>
+ <example id="exam-Reference_Guide-Stylesheet-Example_1">
+ <title>Example 1</title>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default173.java"
parse="text"/></programlisting>
+ </example>
+ <para>
+ The LT produced output will be:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default174.java"
parse="text"/></programlisting>
+ <para>
+ The RT produced output will be:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default175.java"
parse="text"/></programlisting>
+ <para>
+ In this example we need to modify the padding according to the orientation:
+ </para>
+ <example id="exam-Reference_Guide-Stylesheet-Example_2">
+ <title>Example 2</title>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default176.java"
parse="text"/></programlisting>
+ </example>
+ <para>
+ The LT produced output will be:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default177.java"
parse="text"/></programlisting>
+ <para>
+ The RT produced output will be:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default178.java"
parse="text"/></programlisting>
+ </section>
+ <section id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Images">
+ <title>Images</title>
+ <para>
+ Sometimes it is necessary to create an RT version of an image that will be used from a
template or from a stylesheet. However symmetric images can be automatically generated,
avoiding the necessity to create a mirrored version of an image and further maintenance
costs.
+ </para>
+ <para>
+ The web resource filter uses the same naming pattern as the skin service. When an
image ends with the -rt suffix the portal will attempt to locate the original image and
create a mirror of it.
+ </para>
+ <para>
+ For instance: requesting the image
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/01eXoResources.war/skin/DefaultSkin/webui/component/UITabSystem/UITabs/background/NormalTabStyle-rt.gif</filename>
returns a mirror of the image
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/01eXoResources.war/skin/DefaultSkin/webui/component/UITabSystem/UITabs/background/NormalTabStyle.gif</filename>.
+ </para>
+ <note>
+ <para>
+ It is important to consider whether the image to be mirrored is symmetrical as this
will impact it's final appearance.
+ </para>
+ </note>
+ <para>
+ Here is an example combining stylesheet and images:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortalDevelopment_RTLFramework/default179.java"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Right_To_Left_RTL_Framework-Client_Side_JavaScript">
+ <title>Client Side JavaScript</title>
+ <para>
+ The <literal>eXo.core.I18n</literal> object provides the following
parameters for orientation:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>getOrientation()</term>
+ <listitem>
+ <para>
+ Returns either the string lt or rt
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>getDir()</term>
+ <listitem>
+ <para>
+ Returns either the string ltr or rtl
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>isLT()</term>
+ <listitem>
+ <para>
+ Returns true for LT
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>isRT()</term>
+ <listitem>
+ <para>
+ Returns true of RT
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Global_Portlet.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Global_Portlet.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Global_Portlet.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,94 +1,82 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Shared_portlet.xml">
- <title>Shared <filename>portlet.xml</filename></title>
- <para>
+ <title>Shared portlet.xml</title>
+ <para>
The Java Portlet Specification introduces
<literal>PortletFilter</literal> as a standard approach to extend the
behaviors of portlet objects. For example, a filter can transform the content of portlet
requests and portlet responses.
</para>
- <para>
+ <para>
According to the Portlet Specification, there are normally three steps in setting
up a portlet filter:
</para>
- <procedure>
- <step>
- <para>
+ <procedure>
+ <step>
+ <para>
Implement a <literal>PortletFilter</literal> object.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Define the filter in portlet application deployment descriptor.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Define the filter mapping in portlet definitions.
</para>
-
- </step>
-
- </procedure>
-
- <para>
+ </step>
+ </procedure>
+ <para>
While the first two steps are quite straightforward, the third requires
developers or administrators to replicate the filter mapping in many portlet definitions.
This can be tedious and opens the potential for input errors. The global portlet feature
is designed to mitigate these concerns.
</para>
- <para>
+ <para>
Global portlet metadata is declared in the
<filename>portlet.xml</filename> file and conforms with the Portlet 2.0 XSD.
</para>
-
-<programlisting language="XML" role="XML"><portlet-app
version="1.0"
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...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+ <programlisting language="XML" role="XML"><portlet-app
version="1.0"
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd&am...
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-a...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
</portlet-app>
</programlisting>
- <para>
- The path to the global <filename>portlet.xml</filename> is the value
of <literal>gatein.portlet.config</literal> in the
<filename>configuration.properties.xml</filename> file. By default The file
path is
<filename>/<replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/conf/gatein/portlet.xml</filename>
+ <para>
+ The path to the global <filename>portlet.xml</filename> is the value
of <literal>gatein.portlet.config</literal> in the
<filename>configuration.properties.xml</filename> file. By default The file
path is
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/conf/gatein/portlet.xml</filename>
</para>
- <para>
- <emphasis role="bold">For JBoss</emphasis>: The file path
is
<filename><replaceable><JBOSS_HOME></replaceable>/server/default/conf/gatein/portlet.xml</filename>.
+ <para>
+ <emphasis role="bold">For JBoss</emphasis>: The file path
is
<filename><replaceable>EPP_HOME</replaceable>/server/default/conf/gatein/portlet.xml</filename>.
</para>
- <section
id="sect-Reference_Guide-Shared_portlet.xml-Global_Metadata_Elements">
- <title>Global Metadata Elements</title>
- <para>
+ <section
id="sect-Reference_Guide-Shared_portlet.xml-Global_Metadata_Elements">
+ <title>Global Metadata Elements</title>
+ <para>
The global <filename>portlet.xml</filename> file conforms, with
some restrictions, to the portlet deployment descriptor schema defined in the Portlet
Specification. In this file, the following elements are supported:
</para>
- <orderedlist>
- <listitem>
- <para>
- <xref
linkend="form-Reference_Guide-Global_Metadata_Elements-Portlet_Filter" />
+ <orderedlist>
+ <listitem>
+ <para>
+ <xref
linkend="form-Reference_Guide-Global_Metadata_Elements-Portlet_Filter"/>
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Portlet Mode
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Window State
</para>
-
- </listitem>
-
- </orderedlist>
- <formalpara
id="form-Reference_Guide-Global_Metadata_Elements-Portlet_Filter">
- <title>Portlet Filter</title>
- <para>
+ </listitem>
+ </orderedlist>
+ <formalpara
id="form-Reference_Guide-Global_Metadata_Elements-Portlet_Filter">
+ <title>Portlet Filter</title>
+ <para>
Portlet filter mappings declared in the global
<filename>portlet.xml</filename> file are applied across portlet
applications.
</para>
-
- </formalpara>
- <para>
+ </formalpara>
+ <para>
With the XML configuration below, the filter
<literal>ApplicationMonitoringFilter</literal> is involved in request handling
on any deployed portlet.
</para>
-
-<programlisting language="XML"
role="XML"><filter>
+ <programlisting language="XML"
role="XML"><filter>
<filter-name>org.exoplatform.portal.application.ApplicationMonitoringFilter</filter-name>
<filter-class>org.exoplatform.portal.application.ApplicationMonitoringFilter</filter-class>
<life-cycle>ACTION_PHASE</life-cycle>
@@ -97,42 +85,33 @@
<life-cycle>RESOURCE_PHASE</life-cycle>
</filter>
</programlisting>
- <para>
+ <para>
<emphasis role="bold">Application Monitoring
Filter</emphasis> supports four life-cycle phases in the order below:
</para>
- <orderedlist>
- <listitem>
- <para>
+ <orderedlist>
+ <listitem>
+ <para>
ACTION_PHASE
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
EVENT_PHASE
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
RENDER_PHASE
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
RESOURCE_PHASE
</para>
-
- </listitem>
-
- </orderedlist>
- <para>
+ </listitem>
+ </orderedlist>
+ <para>
The Application Monitoring Filter records statistic information about
deployed portlets. The filter alternates the actual monitoring mechanism in WebUI
Framework.
</para>
-
- </section>
-
-
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,113 +1,88 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?xml version='1.0' encoding='UTF-8'?>
<!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;
]>
<section id="sect-Reference_Guide-Bridge_Configuration">
- <title>Bridge Configuration</title>
- <para>
- The 329 specification is aimed at making the developer's life as easy as
possible with JSF+Portlet development. You will see below that there are minimal settings
to getting any JSF web application up and running in the Portal environment.
+ <title>Bridge Configuration</title>
+ <para>
+ The 329 specification is aimed at making the developer's life as easy as
possible with JSF+Portlet development. You will see below that there are minimal settings
to getting any JSF web application up and running in the Portal environment.
</para>
- <!-- Commented as Maven Archetypes section removed from
gettingstarted.xml
+<!-- Commented as Maven Archetypes section removed from gettingstarted.xml
<para>
If you are new to these concepts, we highly recommend you refer to <xref
linkend="sect-Reference_Guide-Getting_started_with_JBoss_Portlet_Bridge-Maven_Archetypes"
/>.
- </para> --> <section
id="sect-Reference_Guide-Bridge_Configuration-Core_Setup_and_Configuration">
- <title>Core Setup and Configuration</title>
- <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-portlet.xml">
- <title>portlet.xml</title>
- <para>
+ </para> --> <section
id="sect-Reference_Guide-Bridge_Configuration-Core_Setup_and_Configuration">
+ <title>Core Setup and Configuration</title>
+ <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-portlet.xml">
+ <title>portlet.xml</title>
+ <para>
The basic JSR-329 portlet configuration.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default197.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- When <parameter>preserveActionParams</parameter> is set to
<parameter>TRUE</parameter>, the bridge must maintain any request parameters
assigned during the portlet's action request.
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default197.xml"
parse="text"/></programlisting>
+ <para>
+ When <parameter>preserveActionParams</parameter> is set to
<parameter>TRUE</parameter>, the bridge must maintain any request parameters
assigned during the portlet's action request.
</para>
- <para>
- The request parameters are maintained in the <emphasis>"bridge
request scope"</emphasis>. When this attribute is not present or is
<parameter>FALSE</parameter> the action's request parameters are only
maintained for the duration of the <emphasis>portlet request
scope</emphasis>.
+ <para>
+ The request parameters are maintained in the
<emphasis>"bridge request scope"</emphasis>. When this
attribute is not present or is <parameter>FALSE</parameter> the
action's request parameters are only maintained for the duration of the
<emphasis>portlet request scope</emphasis>.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default198.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-faces_config.xml">
- <title>faces-config.xml</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default198.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-faces_config.xml">
+ <title>faces-config.xml</title>
+ <para>
The <parameter>PortletViewHandler</parameter> ensures that
each JSF portlet instance is properly namespaced.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default199.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-Facelets_Configuration">
- <title>Facelets Configuration</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default199.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-Facelets_Configuration">
+ <title>Facelets Configuration</title>
+ <para>
The following <filename>web.xml</filename> setting is only
for <literal>Facelets</literal> based applications
</para>
- <section
id="sect-Reference_Guide-Facelets_Configuration-web.xml">
- <title>web.xml</title>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default200.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default201.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <variablelist
id="vari-Reference_Guide-web.xml-RenderPolicy_Options">
- <title>RenderPolicy Options</title>
- <varlistentry>
- <term>ALWAYS_DELEGATE</term>
- <listitem>
- <para>
+ <section id="sect-Reference_Guide-Facelets_Configuration-web.xml">
+ <title>web.xml</title>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default200.xml"
parse="text"/></programlisting>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default201.xml"
parse="text"/></programlisting>
+ <variablelist
id="vari-Reference_Guide-web.xml-RenderPolicy_Options">
+ <title>RenderPolicy Options</title>
+ <varlistentry>
+ <term>ALWAYS_DELEGATE</term>
+ <listitem>
+ <para>
Indicates the bridge should not render the view itself
but rather always delegate the rendering.
</para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>NEVER_DELEGATE</term>
- <listitem>
- <para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>NEVER_DELEGATE</term>
+ <listitem>
+ <para>
Indicates the bridge should always render the view itself
and never delegate.
</para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>DEFAULT</term>
- <listitem>
- <para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>DEFAULT</term>
+ <listitem>
+ <para>
Directs the bridge to first delegate the render only if
an Exception is thrown then render the view based on its own logic. If the configuration
parameter is not present or has an invalid value the bridge renders using default behavior
as it would if DEFAULT was set.
</para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-JSP_Only_Configuration">
- <title>JSP Only Configuration</title>
- <para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Core_Setup_and_Configuration-JSP_Only_Configuration">
+ <title>JSP Only Configuration</title>
+ <para>
The following <filename>web.xml</filename> setting is only
for JSP based applications. Download the demonstration application <ulink
url="http://anonsvn.jboss.org/repos/portletbridge/trunk/examples/jsf...;.
</para>
- <section
id="sect-Reference_Guide-JSP_Only_Configuration-web.xml">
- <title>web.xml</title>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default202.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
- </section>
-
- <!-- Section removed as per feedback from Prabhat Jha
+ <section id="sect-Reference_Guide-JSP_Only_Configuration-web.xml">
+ <title>web.xml</title>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default202.xml"
parse="text"/></programlisting>
+ </section>
+ </section>
+<!-- Section removed as per feedback from Prabhat Jha
<section id="sect-Reference_Guide-Core_Setup_and_Configuration-JSR_329">
<title>JSR-329</title>
<para>
@@ -116,50 +91,41 @@
<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default203.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- </section> -->
- </section>
-
- <!-- End 301 core setup --> <section
id="sect-Reference_Guide-Bridge_Configuration-RichFaces_Setup_and_Configuration_Options">
- <title>RichFaces Setup and Configuration Options</title>
- <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-web.xml">
- <title>web.xml</title>
- <para>
+ </section> --> </section>
+<!-- End 301 core setup --> <section
id="sect-Reference_Guide-Bridge_Configuration-RichFaces_Setup_and_Configuration_Options">
+ <title>RichFaces Setup and Configuration Options</title>
+ <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-web.xml">
+ <title>web.xml</title>
+ <para>
The following configuration is designated for portlets using the
<application>RichFaces</application> library. These settings will vary based
on your individual needs.
</para>
- <para>
+ <para>
See <ulink
url="http://www.jboss.org/file-access/default/members/jbossrichfaces...
this section</ulink> of the <application>RichFaces</application>
documentation for more details.
</para>
- <para>
- Sometimes it is better to use the
"<parameter>ALL</parameter>" load strategy in portlets so you do not
need to worry about loading the "framework.pack.js" and "ui.pack.js"
files manually in your portlet header.
+ <para>
+ Sometimes it is better to use the
"<parameter>ALL</parameter>" load strategy in portlets so
you do not need to worry about loading the "framework.pack.js" and
"ui.pack.js" files manually in your portlet header.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default204.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <note>
- <para>
- If you use the "<parameter>NONE</parameter>"
strategy, you must include the following scripts in your portlet or portal page header. If
you are using <application>JBoss Portal</application>, you can add this to the
<filename>jboss-portlet.xml</filename> file.
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default204.xml"
parse="text"/></programlisting>
+ <note>
+ <para>
+ If you use the
"<parameter>NONE</parameter>" strategy, you must include the
following scripts in your portlet or portal page header. If you are using
<application>JBoss Portal</application>, you can add this to the
<filename>jboss-portlet.xml</filename> file.
</para>
-
- </note>
- <para>
- The <literal>org.ajax4jsf.RESOURCE_URI_PREFIX</literal>
configuration cross-references the path to your scripts below. These settings are required
for <application>RichFaces</application> using the
"<parameter>NONE</parameter>" strategy.
+ </note>
+ <para>
+ The <literal>org.ajax4jsf.RESOURCE_URI_PREFIX</literal>
configuration cross-references the path to your scripts below. These settings are required
for <application>RichFaces</application> using the
"<parameter>NONE</parameter>" strategy.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default205.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default205.xml"
parse="text"/></programlisting>
+ <para>
<application>Seam</application> automatically configures your
Ajax4JSF Filter, so if you are running a <application>Seam</application>
portlet, you do not need the following Filter configuration (however, you do need the
<literal>RESOURCE_URI_PREFIX</literal> no matter what).
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default206.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge">
- <!-- Content added from JBEPP-708 and JBQA-3999 -->
<title>Configuration needed for Richfaces to work with WSRP and
PortletBridge</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default206.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-RichFaces_Setup_and_Configuration_Options-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge">
+<!-- Content added from JBEPP-708 and JBQA-3999 -->
<title>Configuration needed for Richfaces to work with WSRP and
PortletBridge</title>
+ <para>
Use the following settings in <filename>web.xml</filename>
when running WSRP portlets:
</para>
-
-<programlisting language="XML"
role="XML"><context-param>
+ <programlisting language="XML"
role="XML"><context-param>
<param-name>org.jboss.portletbridge.WRAP_SCRIPTS</param-name>
<param-value>false</param-value>
</context-param>
@@ -173,709 +139,420 @@
<param-value>DEFAULT</param-value>
</context-param>
</programlisting>
- <para>
- The styles below must also be manually added to the facelets template
header in the
<filename><replaceable>JBOSS_HOME</replaceable>/portletbridge/examples/richFacesPortlet-<replaceable><VERSION></replaceable>.war:richFacesPortlet.war/templates/main.xhtml</filename>
file.
+ <para>
+ The styles below must also be manually added to the facelets template
header in the
<filename><replaceable>EPP_HOME</replaceable>/portletbridge/examples/richFacesPortlet-<replaceable><VERSION></replaceable>.war:richFacesPortlet.war/templates/main.xhtml</filename>
file.
</para>
-
-<programlisting language="XML" role="XML"><link
rel="stylesheet" type="text/css"
-
href="/richFacesPortlet/faces/rfResorg/richfaces/renderkit/html/css/basic_both.xcss"/>
- <link rel="stylesheet" type="text/css"
-
href="/richFacesPortlet/faces/rfResorg/richfaces/renderkit/html/css/extended_both.xcss"/>
- <link rel="stylesheet" type="text/css"
- href="/richFacesPortlet/faces/rfRes/org/richfaces/skin.xcss"/>
+ <programlisting language="XML" role="XML"><link
rel="stylesheet" type="text/css"
+
href="/richFacesPortlet/faces/rfResorg/richfaces/renderkit/html/css/basic_both.xcss"/>
+ <link rel="stylesheet" type="text/css"
+
href="/richFacesPortlet/faces/rfResorg/richfaces/renderkit/html/css/extended_both.xcss"/>
+ <link rel="stylesheet" type="text/css"
+
href="/richFacesPortlet/faces/rfRes/org/richfaces/skin.xcss"/>
</programlisting>
- <para>
+ <para>
The table below outlines the current status of RichFaces features when
used in both local and remote portlets.
</para>
- <table
id="tabl-Reference_Guide-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge-RichFaces_Feature_Status">
- <title>RichFaces Feature Status</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- Richfaces Component
- </entry>
- <entry>
- Supported as Local Portlet
- </entry>
- <entry>
- Supported as Remote Portlet using WSRP
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- <literal>a4j:commandButton</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:commandLink</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:jsFunction</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:push</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:poll</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:queue</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:status</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:keepAlive</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:include</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:loadStyle</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:loadScript</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:ajaxValidator</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:beanValidator</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:graphValidator</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:mediaOutput</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:outputPanel</literal>
- </entry>
- <entry>
- Yes (except Firefox 3.5)
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:log</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:dataTable</literal>
- </entry>
- <entry>
- Yes (except Firefox 3.6 and IE8)
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>a4j:dataFilterSlider</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:dataGrid</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:dataList</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:datascroller</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:extendedDataTable</literal>
- </entry>
- <entry>
- Yes (except IE7)
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:repeat</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:scrollableDataTable</literal>
- </entry>
- <entry>
- Yes (except Firefox 3.6)
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>drag-drop support</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:contextMenu</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:dropDownMenu</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:tree</literal>
- </entry>
- <entry>
- Yes (except Firefox 3.5)
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:modalPanel</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:paint2d</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:panel</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:panelBar</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:panelMenu</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:progressBar</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:separator</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:simpleTogglePanel</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:spacer</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:tabPanel</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes (except tab deletion)
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:togglePanel</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:toolBar</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:toolTip</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:calendar</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:colorPicker</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:comboBox</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:editor</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:fileUpload</literal>
- </entry>
- <entry>
- No
- </entry>
- <entry>
- No
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:inplaceSelect</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:inplaceInput</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:inputNumberSpinner</literal>
- </entry>
- <entry>
- Yes (except IE7)
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:inputNumberSlider</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:suggestionBox</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:listShuttle</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:orderingList</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
- <row>
- <entry>
- <literal>rich:pickList</literal>
- </entry>
- <entry>
- Yes
- </entry>
- <entry>
- Yes
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
-
- </section>
-
- <!-- DO NOT UNCOMMENT <section>
+ <table
id="tabl-Reference_Guide-Configuration_needed_for_Richfaces_to_work_with_WSRP_and_PortletBridge-RichFaces_Feature_Status">
+ <title>RichFaces Feature Status</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry> Richfaces Component </entry>
+ <entry> Supported as Local Portlet </entry>
+ <entry> Supported as Remote Portlet using WSRP </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <literal>a4j:commandButton</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:commandLink</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:jsFunction</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:push</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:poll</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:queue</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:status</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:keepAlive</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:include</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:loadStyle</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:loadScript</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:ajaxValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:beanValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:graphValidator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:mediaOutput</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:outputPanel</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.5) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:log</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataTable</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.6 and IE8) </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>a4j:dataFilterSlider</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataGrid</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dataList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:datascroller</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:extendedDataTable</literal>
+ </entry>
+ <entry> Yes (except IE7) </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:repeat</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:scrollableDataTable</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.6) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>drag-drop support</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:contextMenu</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:dropDownMenu</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:tree</literal>
+ </entry>
+ <entry> Yes (except Firefox 3.5) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:modalPanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:paint2d</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panelBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:panelMenu</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:progressBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:separator</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:simpleTogglePanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:spacer</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:tabPanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes (except tab deletion) </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:togglePanel</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:toolBar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:toolTip</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:calendar</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:colorPicker</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:comboBox</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:editor</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:fileUpload</literal>
+ </entry>
+ <entry> No </entry>
+ <entry> No </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inplaceSelect</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inplaceInput</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inputNumberSpinner</literal>
+ </entry>
+ <entry> Yes (except IE7) </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:inputNumberSlider</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:suggestionBox</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:listShuttle</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:orderingList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>rich:pickList</literal>
+ </entry>
+ <entry> Yes </entry>
+ <entry> Yes </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+<!-- DO NOT UNCOMMENT <section>
<title>jboss-portlet.xml</title>
<para>
To avoid scripts loading more than once from different portlet windows you can define
additional scripts in
@@ -890,140 +567,105 @@
</header-content>
</portlet>
]]></programlisting>
-</section> -->
- </section>
-
- <section
id="sect-Reference_Guide-Bridge_Configuration-Seam_Setup_and_Configuration_Options">
- <title>Seam Setup and Configuration Options</title>
- <section
id="sect-Reference_Guide-Seam_Setup_and_Configuration_Options-Configuration">
- <title>Configuration</title>
- <para>
+</section> --> </section>
+ <section
id="sect-Reference_Guide-Bridge_Configuration-Seam_Setup_and_Configuration_Options">
+ <title>Seam Setup and Configuration Options</title>
+ <section
id="sect-Reference_Guide-Seam_Setup_and_Configuration_Options-Configuration">
+ <title>Configuration</title>
+ <para>
The <literal>ExceptionHandler</literal> is used to clean
<application>Seam</application> contexts and transactions after errors.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default207.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <!-- Section removed as per feedback from Prabhat Jha
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default207.xml"
parse="text"/></programlisting>
+<!-- Section removed as per feedback from Prabhat Jha
<para>
If you are using this bridge version from
<literal>2.0.0.BETA</literal> through
<literal>2.0.0.CR1</literal>, you must define the following
<filename>web.xml</filename> parameter to use the JBoss Portlet Bridge
provided Seam Phase Listener. This is done by the bridge automatically (if needed) in
<literal>2.0.0.FINAL</literal>.
</para>
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default208.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting> -->
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Bridge_Configuration-Portlet_2.0_Coordination">
- <title>Portlet 2.0 Coordination</title>
- <note>
- <title>Schema and XSD Definitions</title>
- <para>
+<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default208.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting> --> </section>
+ </section>
+ <section
id="sect-Reference_Guide-Bridge_Configuration-Portlet_2.0_Coordination">
+ <title>Portlet 2.0 Coordination</title>
+ <note>
+ <title>Schema and XSD Definitions</title>
+ <para>
It is important to ensure, before using either of the following
mechanisms, that the proper 2.0 schema and xsd are defined at the top of your
<filename>portlet.xml</filename>.
</para>
-
- </note>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default209.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Sending_and_Receiving_Events">
- <title>Sending and Receiving Events</title>
- <section
id="sect-Reference_Guide-Sending_and_Receiving_Events-Configuration">
- <title>Configuration</title>
- <para>
+ </note>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default209.xml"
parse="text"/></programlisting>
+ <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Sending_and_Receiving_Events">
+ <title>Sending and Receiving Events</title>
+ <section
id="sect-Reference_Guide-Sending_and_Receiving_Events-Configuration">
+ <title>Configuration</title>
+ <para>
Just like with any portlet 2.0 event consumer and receiver, you must
define them in the <filename>portlet.xml</filename>.
</para>
- <!-- Unsure if community reference is appropriate enterprise
doc. As per QE concern (anross
+<!-- Unsure if community reference is appropriate enterprise doc. As per QE
concern (anross
<para>
To see a working example, checkout the Seam Booking Demo portlet. <ulink
url="http://anonsvn.jboss.org/repos/portletbridge/tags/2.0.0.FINAL/e...
/>
-</para> --> <para>
+</para> --> <para>
You must also define the following <emphasis>init
params</emphasis> in your <filename>portlet.xml</filename>.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default210.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default210.xml"
parse="text"/></programlisting>
+ <para>
While future versions of the 2.0 bridge will automate the dispatching
and consuming of events, at the moment you must dispatch the event in the JSF or Seam
backing bean.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../extras/PortletBridge_Configuration/default211.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default211.java"
parse="text"/></programlisting>
+ <para>
You must also create the event handler class by implementing the
<literal>BridgeEventHandler</literal> interface to process the event payload.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../extras/PortletBridge_Configuration/BookingEventHandler.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Public_Render_Parameters">
- <title>Public Render Parameters</title>
- <section
id="sect-Reference_Guide-Public_Render_Parameters-Configuration">
- <title>Configuration</title>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/BookingEventHandler.java"
parse="text"/></programlisting>
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Public_Render_Parameters">
+ <title>Public Render Parameters</title>
+ <section
id="sect-Reference_Guide-Public_Render_Parameters-Configuration">
+ <title>Configuration</title>
+ <para>
Public Render Parameters (or PRPs) are one of the most powerful and
simple Portlet 2.0 features. Several portlets (JSF or otherwise) can share the same render
parameters. This feature can be used to present a cohesive UI to the user across all
portlets on the page. An example would be using an employee ID to display relative data.
</para>
- <para>
+ <para>
The bridge maps a render parameter to a backing bean using settings
in your <filename>faces-config.xml</filename> and
<filename>portlet.xml</filename>.
</para>
- <para>
- A clear and working example can be found in the Seam Booking Demo
portlet. <ulink
url="http://anonsvn.jboss.org/repos/portletbridge/tags/2.2.0.GA.EPP5...
/>
+ <para>
+ A clear and working example can be found in the Seam Booking Demo
portlet. <ulink
url="http://anonsvn.jboss.org/repos/portletbridge/tags/2.2.0.GA.EPP5...
</para>
- <para>
+ <para>
You must define the following <emphasis>init
params</emphasis> in your <filename>portlet.xml</filename>.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default212.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default212.xml"
parse="text"/></programlisting>
+ <para>
Create a managed bean and
<literal>public-parameter-mappings</literal> in your
<filename>faces-config.xml</filename>. This should be a basic bean that you
can bind the passed parameter to a string with <emphasis>getter</emphasis> and
<emphasis>setter</emphasis>.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default213.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default213.xml"
parse="text"/></programlisting>
+ <para>
You must set the parameter in the JSF or Seam backing bean, if you
are providing one from your portlet.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../extras/PortletBridge_Configuration/default214.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default214.java"
parse="text"/></programlisting>
+ <para>
Then you must also implement the
<literal>BridgePublicRenderParameterHandler</literal> interface to process any
updates from the received parameter.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../extras/PortletBridge_Configuration/default215.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Serving_Your_JSF_Resources_in_a_Portlet">
- <title>Serving Your JSF Resources in a Portlet</title>
- <section
id="sect-Reference_Guide-Serving_Your_JSF_Resources_in_a_Portlet-Configuration">
- <title>Configuration</title>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default215.java"
parse="text"/></programlisting>
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Portlet_2.0_Coordination-Serving_Your_JSF_Resources_in_a_Portlet">
+ <title>Serving Your JSF Resources in a Portlet</title>
+ <section
id="sect-Reference_Guide-Serving_Your_JSF_Resources_in_a_Portlet-Configuration">
+ <title>Configuration</title>
+ <para>
We have setup a few examples to show you how to use
<literal>EL</literal> and a simple bean that will allow you to use the portlet
resource serving mechanism within a JSF portlet.
</para>
- <para>
+ <para>
In <ulink
url="http://anonsvn.jboss.org/repos/portletbridge/tags/2.0.0.CR1/exa...;,
you can see a very simple implementation of a Map object that uses the bridge to get and
encode a resource url served from the portlets web application.
</para>
- <para>
- So, when you have the normal
"<filename>/images</filename>",
"<filename>/styles</filename>" and other resource folders in your
web application, you can use the following <literal>EL</literal> expression to
serve them in your JSF application.
+ <para>
+ So, when you have the normal
"<filename>/images</filename>",
"<filename>/styles</filename>" and other resource folders in
your web application, you can use the following <literal>EL</literal>
expression to serve them in your JSF application.
</para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../extras/PortletBridge_Configuration/default216.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default216.java"
parse="text"/></programlisting>
+ <para>
Just copy the <literal>ResourceBean.java</literal> code
above, and add an entry to your <filename>faces-config.xml</filename> for the
bean:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../extras/PortletBridge_Configuration/default217.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
- </section>
-
-
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/PortletBridge_Configuration/default217.xml"
parse="text"/></programlisting>
+ </section>
</section>
-
-
+ </section>
</section>
-
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Standard.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Standard.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/PortletDevelopment/Standard.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -142,7 +142,7 @@
</step>
<step>
<para>
- Copy the package file into
<literal>JBOSS_HOME/server/default/deploy</literal>.
+ Copy the package file into
<literal>EPP_HOME/server/default/deploy</literal>.
</para>
</step>
<step>
@@ -404,19 +404,22 @@
<para>
The code below is from the <filename>
jsphellouser/src/main/java/org/jboss/portal/portlet/samples/JSPHelloUserPortlet.java</filename>
Java source. It is split in different pieces.
</para>
- <programlisting language="Java"
linenumbering="numbered"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java"
parse="text"/></programlisting>
- <para>
+ <example>
+ <title>JSPHelloUserPortlet Explanation</title>
+ <programlisting language="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletDevelopment_Standard/JSPHelloUserPortlet.java"
parse="text"/></programlisting>
+ <para>Comment #1:
Override the <emphasis>doView</emphasis>
method (as in the first tutorial).
</para>
- <para>
+ <para>Comment #2:
This entry attempts to obtain the value of the render
parameter named <literal>yourname</literal>. If defined it should redirect to
the <filename>hello.jsp</filename> JSP page, otherwise to the
<filename>welcome.jsp</filename> JSP page.
</para>
- <para>
+ <para>Comment #3:
Get a request dispatcher on a file located within the web
archive.
</para>
- <para>
+ <para>Comment #4:
Perform the inclusion of the markup obtained from the
JSP.
</para>
+ </example>
<para>
As well as the <literal>VIEW</literal> portlet mode, the
specification defines two other modes; <literal>EDIT</literal> and
<literal>HELP</literal>.
</para>
@@ -436,31 +439,18 @@
<para>
The code to be executed during an action has to be implemented in the
<emphasis>processAction</emphasis> method of the portlet.
</para>
- <programlistingco>
- <areaspec>
- <area coords="2 80"
id="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-processAction"/>
- <area coords="5 80"
id="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-getActionParameter"/>
- <area coords="6 80"
id="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-setRenderParameter"/>
- </areaspec>
+ <example>
+ <title>processAction Explanation</title>
<programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/PortletDevelopment_Standard/default249.java"
parse="text"/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-processAction">
- <para>
+ <para>Comment #1:
<literal>processAction</literal> is the
method from <literal>GenericPortlet</literal> to override for the
<emphasis>action</emphasis> phase.
</para>
- </callout>
- <callout
arearefs="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-getActionParameter">
- <para>
- Here the parameter is retrieved through an
<emphasis>action URL</emphasis>.
+ <para>Comment #2: Here the parameter is
retrieved through an <emphasis>action URL</emphasis>.
</para>
- </callout>
- <callout
arearefs="area-Reference_Guide-JavaServer_Pages_Portlet_Example-Portlet_Class-setRenderParameter">
- <para>
+ <para>Comment #3:
The value of <literal>yourname</literal> is
kept to make it available in the rendering phase. The previous line simply copies an
action parameter to a render parameter for this example.
</para>
- </callout>
- </calloutlist>
- </programlistingco>
+ </example>
</section>
<section
id="sect-Reference_Guide-JavaServer_Pages_Portlet_Example-JSP_files_and_the_Portlet_Tag_Library">
<title>JSP files and the Portlet Tag Library</title>
@@ -533,7 +523,7 @@
In order to write a portlet using JSF a 'bridge' is
needed. This software allows developers to write a portlet application as if it was a JSF
application. The bridge then negotiates the interactions between the two layers.
</para>
<para>
- An example using the JBoss Portlet Bridge is available in the
<filename>/jboss-epp-<VERSION>-src/portal/examples/portlets/</filename>
directory of the JBoss Enterprise Portal Platform sources package or the
<filename>/jboss-epp-<VERSION>-docs/epp-doc/examples/portlets</filename>
directory of the documentation package. The configuration is slightly different from a JSP
application. This example can be used as a base to configure instead of creating a new
application.
+ An example using the JBoss Portlet Bridge is available in the
<filename>/jboss-epp-<VERSION>-src/portal/examples/portlets/</filename>
directory of the JBoss Enterprise Portal Platform sources package. The configuration is
slightly different from a JSP application. This example can be used as a base to configure
instead of creating a new application.
</para>
<para>
As in any JSF application, the file
<literal>faces-config.xml</literal> is required. It must contain the following
information:
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cluster-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cluster-config.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cluster-config.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,55 +1,49 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Cluster_Configuration">
- <title>Cluster Configuration</title>
- <section
id="sect-Reference_Guide-Cluster_Configuration-Launching_Cluster">
- <title>Launching Cluster</title>
- <section
id="sect-Reference_Guide-Launching_Cluster-Deploying_eXo_JCR_to_JBoss_Application_Server">
- <title>Deploying eXo JCR to JBoss Application Server</title>
- <para>
+ <title>Cluster Configuration</title>
+ <section
id="sect-Reference_Guide-Cluster_Configuration-Launching_Cluster">
+ <title>Launching Cluster</title>
+ <section
id="sect-Reference_Guide-Launching_Cluster-Deploying_eXo_JCR_to_JBoss_Application_Server">
+ <title>Deploying eXo JCR to JBoss Application Server</title>
+ <para>
To deploy eXo JCR to the JBoss AS, do the following:
</para>
- <procedure>
- <title></title>
- <step>
- <para>
+ <procedure>
+ <title/>
+ <step>
+ <para>
Download the latest version of eXo JCR
<filename>.ear</filename> file distribution.
</para>
-
- </step>
- <step>
- <para>
- Copy the file into
<filename><%jboss_home%/server/<replaceable><PROFILE></replaceable>/deploy></filename>
directory.
+ </step>
+ <step>
+ <para>
+ Copy the file into
<filename>EPP_HOME/server/<replaceable>PROFILE</replaceable>/deploy</filename>
directory.
</para>
-
- </step>
- <step>
- <para>
- Drop <filename>exo-configuration.xml</filename> into
your root <replaceable><JBOSS_HOME></replaceable> directory.
+ </step>
+ <step>
+ <para>
+ Drop <filename>exo-configuration.xml</filename> into
your root <replaceable>EPP_HOME</replaceable> directory.
</para>
-
- </step>
- <step>
- <para>
- Configure JAAS by inserting the XML fragment shown below into
<filename><JBOSS_HOME>/server/<replaceable><PROFILE></replaceable>/conf/login-config.xml</filename>
+ </step>
+ <step>
+ <para>
+ Configure JAAS by inserting the XML fragment shown below into
<filename>EPP_HOME/server/<replaceable>PROFILE</replaceable>/conf/login-config.xml</filename>
</para>
-
-<programlisting language="XML"
role="XML"><application-policy name="exo-domain">
+ <programlisting language="XML"
role="XML"><application-policy
name="exo-domain">
<authentication>
- <login-module
code="org.exoplatform.services.security.j2ee.JbossLoginModule"
flag="required"></login-module>
+ <login-module
code="org.exoplatform.services.security.j2ee.JbossLoginModule"
flag="required"></login-module>
</authentication>
</application-policy></programlisting>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
To ensure that <emphasis>JBossTS</emphasis> and
<emphasis>JBossCache</emphasis> are used, your
<filename>configuration.xml</filename> file must contain:
</para>
-
-<programlisting language="XML"
role="XML"><component>
+ <programlisting language="XML"
role="XML"><component>
<key>org.jboss.cache.transaction.TransactionManagerLookup</key>
<type>org.jboss.cache.GenericTransactionManagerLookup</type>^
</component>
@@ -64,139 +58,119 @@
</value-param>
</init-params>
</component></programlisting>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Start server:
</para>
- <para>
+ <para>
In Linux systems:
</para>
-
-<programlisting><command>sh
bin/run.sh</command></programlisting>
- <para>
+ <programlisting><command>sh
bin/run.sh</command></programlisting>
+ <para>
In Windows systems:
</para>
-
-<programlisting><command>bin/run.bat</command></programlisting>
-
- </step>
- <step>
- <para>
- Navigate to <ulink type="http"
url="http://localhostu:8080/browser" /> ans use the credentials <emphasis
role="bold">root</emphasis>/<emphasis
role="bold">exo</emphasis> (login/password).
+
<programlisting><command>bin/run.bat</command></programlisting>
+ </step>
+ <step>
+ <para>
+ Navigate to <ulink
url="http://localhostu:8080/browser" type="http"/> ans use the
credentials <emphasis role="bold">root</emphasis>/<emphasis
role="bold">exo</emphasis> (login/password).
</para>
-
- </step>
-
- </procedure>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration">
- <title>Configuring JCR to use external configuration</title>
- <itemizedlist>
- <listitem>
- <para>
- To manually configure a repository, create a new configuration
file (<filename>exo-jcr-configuration.xml</filename> for example). For
details, see <xref linkend="chap-Reference_Guide-JCR_configuration" />.
+ </step>
+ </procedure>
+ </section>
+ <section
id="sect-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration">
+ <title>Configuring JCR to use external configuration</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ To manually configure a repository, create a new configuration
file (<filename>exo-jcr-configuration.xml</filename> for example). For
details, see <xref linkend="chap-Reference_Guide-JCR_configuration"/>.
</para>
- <para>
+ <para>
The configuration file must be formatted as follows:
</para>
- <programlistingco>
- <areaspec>
- <area coords="20 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-value_storages"
/>
- <area coords="26 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_cache"
/>
- <area coords="31 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_indexer"
/>
- <area coords="34 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_lock_manager"
/>
-
- </areaspec>
-
-<programlisting language="XML"
role="XML"><repository-service
default-repository="repository1">
+ <programlistingco>
+ <areaspec>
+ <area coords="20 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-value_storages"/>
+ <area coords="26 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_cache"/>
+ <area coords="31 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_indexer"/>
+ <area coords="34 80"
id="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_lock_manager"/>
+ </areaspec>
+ <programlisting language="XML"
role="XML"><repository-service
default-repository="repository1">
<repositories>
- <repository name="repository1" system-workspace="ws1"
default-workspace="ws1">
+ <repository name="repository1"
system-workspace="ws1"
default-workspace="ws1">
<security-domain>exo-domain</security-domain>
<access-control>optional</access-control>
<authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
<workspaces>
- <workspace name="ws1">
- <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+ <workspace name="ws1">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
<properties>
- <property name="source-name"
value="jdbcjcr" />
- <property name="dialect" value="oracle"
/>
- <property name="multi-db" value="false"
/>
- <property name="update-storage"
value="false" />
- <property name="max-buffer-size"
value="200k" />
- <property name="swap-directory"
value="../temp/swap/production" />
+ <property name="source-name"
value="jdbcjcr" />
+ <property name="dialect"
value="oracle" />
+ <property name="multi-db"
value="false" />
+ <property name="update-storage"
value="false" />
+ <property name="max-buffer-size"
value="200k" />
+ <property name="swap-directory"
value="../temp/swap/production" />
</properties>
<value-storages>
</value-storages>
</container>
- <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+ <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
<properties>
- <property name="root-nodetype"
value="nt:unstructured" />
+ <property name="root-nodetype"
value="nt:unstructured" />
</properties>
</initializer>
- <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+ <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
</cache>
- <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
</query-handler>
- <lock-manager
class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+ <lock-manager
class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
</lock-manager>
</workspace>
- <workspace name="ws2">
+ <workspace name="ws2">
...
</workspace>
- <workspace name="wsN">
+ <workspace name="wsN">
...
</workspace>
</workspaces>
</repository>
</repositories>
</repository-service></programlisting>
- <calloutlist>
- <!-- # --> <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-value_storages">
- <para>
- Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Value_Storage_configuration"
/>.
+ <calloutlist>
+<!-- # --> <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-value_storages">
+ <para>
+ Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Value_Storage_configuration"/>.
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_cache">
- <para>
- Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Cache_configuration"
/>.
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_cache">
+ <para>
+ Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Cache_configuration"/>.
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_indexer">
- <para>
- Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Indexer_configuration"
/>.
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_indexer">
+ <para>
+ Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Indexer_configuration"/>.
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_lock_manager">
- <para>
- Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Lock_Manager_configuration"
/>.
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration-conf_lock_manager">
+ <para>
+ Refer to <xref
linkend="exam-Reference_Guide-Configuration_requirements-Lock_Manager_configuration"/>.
</para>
-
- </callout>
-
- </calloutlist>
-
- </programlistingco>
-
-
- </listitem>
- <listitem>
- <para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </listitem>
+ <listitem>
+ <para>
Then, update
<parameter>RepositoryServiceConfiguration</parameter> configuration in the
<filename>exo-configuration.xml</filename> to reference your file:
</para>
-
-<programlisting language="XML"
role="XML"><component>
+ <programlisting language="XML"
role="XML"><component>
<key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
<type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
<init-params>
@@ -207,128 +181,101 @@
</value-param>
</init-params>
</component></programlisting>
-
- </listitem>
-
- </itemizedlist>
-
- </section>
-
-
+ </listitem>
+ </itemizedlist>
</section>
-
- <section
id="sect-Reference_Guide-Cluster_Configuration-Requirements">
- <title>Requirements</title>
- <section
id="sect-Reference_Guide-Requirements-Environment_requirements">
- <title>Environment requirements</title>
- <itemizedlist>
- <listitem>
- <para>
+ </section>
+ <section id="sect-Reference_Guide-Cluster_Configuration-Requirements">
+ <title>Requirements</title>
+ <section
id="sect-Reference_Guide-Requirements-Environment_requirements">
+ <title>Environment requirements</title>
+ <itemizedlist>
+ <listitem>
+ <para>
Every node of the cluster <emphasis
role="bold">must</emphasis> have the same mounted Network File System
(<abbrev>NFS</abbrev>) with the read and write permissions on it.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Every node of cluster <emphasis
role="bold">must</emphasis> use the same database.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
The same Clusters on different nodes <emphasis
role="bold">must</emphasis> have the same names.
</para>
- <example
id="exam-Reference_Guide-Environment_requirements-Example">
- <title>Example</title>
- <para>
+ <example
id="exam-Reference_Guide-Environment_requirements-Example">
+ <title>Example</title>
+ <para>
If the <emphasis>Indexer</emphasis> cluster in
the <emphasis>production</emphasis> workspace on the first node is named
<literal>production_indexer_cluster</literal>, then
<emphasis>indexer</emphasis> clusters in the
<emphasis>production</emphasis> workspace on all other nodes <emphasis
role="bold">must</emphasis> also be named
<literal>production_indexer_cluster</literal>.
</para>
-
- </example>
-
- </listitem>
-
- </itemizedlist>
-
- </section>
-
- <section
id="sect-Reference_Guide-Requirements-Configuration_requirements">
- <title>Configuration requirements</title>
- <para>
+ </example>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section
id="sect-Reference_Guide-Requirements-Configuration_requirements">
+ <title>Configuration requirements</title>
+ <para>
The configuration of every workspace in the repository must contain the
following elements:
</para>
- <example
id="exam-Reference_Guide-Configuration_requirements-Value_Storage_configuration">
- <title>Value Storage configuration</title>
-
-<programlisting language="XML"
role="XML"><value-storages>
- <value-storage id="system"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+ <example
id="exam-Reference_Guide-Configuration_requirements-Value_Storage_configuration">
+ <title>Value Storage configuration</title>
+ <programlisting language="XML"
role="XML"><value-storages>
+ <value-storage id="system"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
<properties>
- <property name="path"
value="/mnt/tornado/temp/values/production" /> <!--path within
NFS where ValueStorage will hold it's data-->
+ <property name="path"
value="/mnt/tornado/temp/values/production" /> <!--path
within NFS where ValueStorage will hold it's data-->
</properties>
<filters>
- <filter property-type="Binary" />
+ <filter property-type="Binary" />
</filters>
</value-storage>
</value-storages></programlisting>
-
- </example>
- <example
id="exam-Reference_Guide-Configuration_requirements-Cache_configuration">
- <title>Cache configuration</title>
-
-<programlisting language="XML" role="XML"><cache
enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+ </example>
+ <example
id="exam-Reference_Guide-Configuration_requirements-Cache_configuration">
+ <title>Cache configuration</title>
+ <programlisting language="XML" role="XML"><cache
enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
<properties>
- <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-data.xml" /> <!--
path to JBoss Cache configuration for data storage -->
- <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" /> <!--
path to JGroups configuration -->
- <property name="jbosscache-cluster-name"
value="JCR_Cluster_cache_production" /> <!--
JBoss Cache data storage cluster name -->
- <property name="jgroups-multiplexer-stack" value="true"
/>
+ <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-data.xml" />
<!-- path to JBoss Cache configuration for data storage -->
+ <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" />
<!-- path to JGroups configuration -->
+ <property name="jbosscache-cluster-name"
value="JCR_Cluster_cache_production" />
<!-- JBoss Cache data storage cluster name -->
+ <property name="jgroups-multiplexer-stack"
value="true" />
</properties>
</cache></programlisting>
-
- </example>
- <example
id="exam-Reference_Guide-Configuration_requirements-Indexer_configuration">
- <title>Indexer configuration</title>
-
-<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ </example>
+ <example
id="exam-Reference_Guide-Configuration_requirements-Indexer_configuration">
+ <title>Indexer configuration</title>
+ <programlisting language="XML"
role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
<properties>
- <property name="changesfilter-class"
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
- <property name="index-dir"
value="/mnt/tornado/temp/jcrlucenedb/production" />
<!-- path within NFS where ValueStorage will hold it's data -->
- <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-indexer.xml" /> <!--
path to JBoss Cache configuration for indexer -->
- <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" /> <!--
path to JGroups configuration -->
- <property name="jbosscache-cluster-name"
value="JCR_Cluster_indexer_production" /> <!--
JBoss Cache indexer cluster name -->
- <property name="jgroups-multiplexer-stack" value="true"
/>
+ <property name="changesfilter-class"
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
+ <property name="index-dir"
value="/mnt/tornado/temp/jcrlucenedb/production" />
<!-- path within NFS where ValueStorage will hold it's data
-->
+ <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-indexer.xml" />
<!-- path to JBoss Cache configuration for indexer -->
+ <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" />
<!-- path to JGroups configuration -->
+ <property name="jbosscache-cluster-name"
value="JCR_Cluster_indexer_production" />
<!-- JBoss Cache indexer cluster name -->
+ <property name="jgroups-multiplexer-stack"
value="true" />
</properties>
</query-handler></programlisting>
-
- </example>
- <example
id="exam-Reference_Guide-Configuration_requirements-Lock_Manager_configuration">
- <title>Lock Manager configuration</title>
-
-<programlisting language="XML" role="XML"><lock-manager
class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+ </example>
+ <example
id="exam-Reference_Guide-Configuration_requirements-Lock_Manager_configuration">
+ <title>Lock Manager configuration</title>
+ <programlisting language="XML"
role="XML"><lock-manager
class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
<properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-lock.xml" /> <!--
path to JBoss Cache configuration for lock manager -->
- <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" /> <!--
path to JGroups configuration -->
- <property name="jgroups-multiplexer-stack" value="true"
/>
- <property name="jbosscache-cluster-name"
value="JCR_Cluster_lock_production" /> <!--
JBoss Cache locks cluster name -->
+ <property name="time-out" value="15m"
/>
+ <property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-lock.xml" />
<!-- path to JBoss Cache configuration for lock manager -->
+ <property name="jgroups-configuration"
value="jar:/conf/portal/udp-mux.xml" />
<!-- path to JGroups configuration -->
+ <property name="jgroups-multiplexer-stack"
value="true" />
+ <property name="jbosscache-cluster-name"
value="JCR_Cluster_lock_production" />
<!-- JBoss Cache locks cluster name -->
- <property name="jbosscache-cl-cache.jdbc.table.name"
value="jcrlocks_production"/> <!-- the name
of the DB table where lock's data will be stored -->
- <property name="jbosscache-cl-cache.jdbc.table.create"
value="true"/>
- <property name="jbosscache-cl-cache.jdbc.table.drop"
value="false"/>
- <property name="jbosscache-cl-cache.jdbc.table.primarykey"
value="jcrlocks_production_pk"/>
- <property name="jbosscache-cl-cache.jdbc.fqn.column"
value="fqn"/>
- <property name="jbosscache-cl-cache.jdbc.node.column"
value="node"/>
- <property name="jbosscache-cl-cache.jdbc.parent.column"
value="parent"/>
- <property name="jbosscache-cl-cache.jdbc.datasource"
value="jdbcjcr"/>
+ <property name="jbosscache-cl-cache.jdbc.table.name"
value="jcrlocks_production"/> <!--
the name of the DB table where lock's data will be stored -->
+ <property name="jbosscache-cl-cache.jdbc.table.create"
value="true"/>
+ <property name="jbosscache-cl-cache.jdbc.table.drop"
value="false"/>
+ <property name="jbosscache-cl-cache.jdbc.table.primarykey"
value="jcrlocks_production_pk"/>
+ <property name="jbosscache-cl-cache.jdbc.fqn.column"
value="fqn"/>
+ <property name="jbosscache-cl-cache.jdbc.node.column"
value="node"/>
+ <property name="jbosscache-cl-cache.jdbc.parent.column"
value="parent"/>
+ <property name="jbosscache-cl-cache.jdbc.datasource"
value="jdbcjcr"/>
</properties>
</lock-manager></programlisting>
-
- </example>
-
- </section>
-
-
+ </example>
</section>
-
-
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -54,7 +54,7 @@
JCR services are registered in the Portal container.
</para>
<para>
- Below is an example configuration from the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration.xml</filename>
file.
+ Below is an example configuration from the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration.xml</filename>
file.
</para>
<programlisting linenumbering="numbered"
language="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_Configuration/jcr-configuration.xml"
parse="text"/></programlisting>
<section
id="sect-Reference_Guide-Portal_configuration-JCR_Configuration">
@@ -63,7 +63,7 @@
The JCR Service can use multiple
<emphasis>Repositories</emphasis> and each repository can have multiple
<emphasis>Workspaces</emphasis>.
</para>
<para>
- Configure the workspaces by locating the workspace you need to modify in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ Configure the workspaces by locating the workspace you need to modify in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
</para>
<para>
The repository configuration supports human-readable values. They are not
case-sensitive.
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/jdbc-data-container-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/jdbc-data-container-config.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/jdbc-data-container-config.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,704 +1,552 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-JDBC_Data_Container_Config">
- <title>JDBC Data Container Config</title>
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Introduction">
- <title>Introduction</title>
- <para>
+ <title>JDBC Data Container Config</title>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Introduction">
+ <title>Introduction</title>
+ <para>
eXo JCR persistent data container can work in two configuration modes:
</para>
- <itemizedlist>
- <listitem>
- <para>
+ <itemizedlist>
+ <listitem>
+ <para>
<phrase>Multi-database</phrase>: One database for each
workspace (used in standalone eXo JCR service mode)
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<phrase>Single-database</phrase>: All workspaces
persisted in one database (used in embedded eXo JCR service mode, e.g. in eXo portal)
</para>
-
- </listitem>
-
- </itemizedlist>
- <para>
+ </listitem>
+ </itemizedlist>
+ <para>
The data container uses the JDBC driver to communicate with the actual
database software, i.e. any JDBC-enabled data storage can be used with eXo JCR
implementation.
</para>
- <para>
+ <para>
Currently the data container is tested with the following RDBMS:
</para>
- <!-- Source Metadata
+<!-- Source Metadata
URL: NA (email from Nicholas Filetto to jbossexoD(a)googlegroups.com on 10/18/2011
Author [w/email]: Nicholas Filetto: nicolas.filotto(a)exoplatform.com
License: NA
- --> <itemizedlist>
- <listitem>
- <para>
+ --> <itemizedlist>
+ <listitem>
+ <para>
MySQL 5.0.81 Driver: MySQL Connector/J 5.0.8
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
MySQL 5.1.36 Driver: MYSQL Connector/J 5.1.14
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Oracle DB 10g R2 (10.2.0.4) Driver: Oracle 10g R2 (10.2.0.4)
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Oracle DB 11g R1 (11.1.0.6.0) Driver: Oracle 11g R1 (11.2.0.1.0)
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Oracle DB 11g R2 (11.2.0.1.0) Driver: Oracle JDBC Driver v11.2.0.1.0
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
MS SQL Server 2005 SP1 Driver: JDBC Driver 3.0
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
MS SQL Server 2008 Driver: JDBC Driver 3.0
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
PostgresSQL 8.2.4 Driver: JDBC3 Driver, Version 8.2-507
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
PostgresSQL 8.3.7 Driver: JDBC3 Driver, Version 8.3-606
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
IBM DB2 9.7.4 Driver: IBM Data Server Driver for JDBC and SQLJ V9.7
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Sybase 15.0.3 ASE Driver: Sybase jConnect JDBC driver v6.05
</para>
-
- </listitem>
-
- </itemizedlist>
- <note>
- <title>Isolation Levels</title>
- <para>
+ </listitem>
+ </itemizedlist>
+ <note>
+ <title>Isolation Levels</title>
+ <para>
The JCR requires at least the
<parameter>READ_COMMITED</parameter> isolation level and other RDBMS
configurations can cause some side-effects and issues. So, please, make sure proper
isolation level is configured on database server side.
</para>
-
- </note>
- <note>
- <para>
- One more mandatory JCR requirement for underlying databases is a case
sensitive collation. Microsoft SQL Server both 2005 and 2008 customers must configure
their server with collation corresponding to personal needs and requirements, but
obligatorily case sensitive. For more information please refer to Microsoft SQL Server
documentation page "Selecting a SQL Server Collation" <ulink
url="http://msdn.microsoft.com/en-us/library/ms144250.aspx">...
+ </note>
+ <note>
+ <para>
+ One more mandatory JCR requirement for underlying databases is a case
sensitive collation. Microsoft SQL Server both 2005 and 2008 customers must configure
their server with collation corresponding to personal needs and requirements, but
obligatorily case sensitive. For more information please refer to Microsoft SQL Server
documentation page "Selecting a SQL Server Collation" <ulink
url="http://msdn.microsoft.com/en-us/library/ms144250.aspx">...
</para>
-
- </note>
- <note>
- <para>
+ </note>
+ <note>
+ <para>
Be aware that JCR does not support MyISAM storage engine for the MySQL
relational database management system.
</para>
-
- </note>
- <para>
+ </note>
+ <para>
Each database software supports ANSI SQL standards but also has its own
specifics. Therefore each database has its own configuration setting in the eXo JCR as a
database dialect parameter. More detailed configuration of the database can be set by
editing the metadata SQL-script files.
</para>
- <para>
- You can find SQL-scripts in <filename>conf/storage/</filename>
directory of the
<filename><replaceable><JBOSS_HOME></replaceable>jboss-as/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/lib/exo.jcr.component.core-XXX.XXX.jar</filename>
file .
+ <para>
+ You can find SQL-scripts in <filename>conf/storage/</filename>
directory of the
<filename><replaceable>EPP_HOME</replaceable>jboss-as/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/lib/exo.jcr.component.core-XXX.XXX.jar</filename>
file .
</para>
- <para>
+ <para>
The following tables show the correspondence between the scripts and
databases:
</para>
- <table id="tabl-Reference_Guide-Introduction-Single_database">
- <title>Single-database</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- Database
- </entry>
- <entry>
- Script
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- MySQL DB
- </entry>
- <entry>
- <filename>jcr-sjdbc.mysql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- MySQL DB with utf-8
- </entry>
- <entry>
- <filename>jcr-sjdbc.mysql-utf8.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- PostgresSQL
- </entry>
- <entry>
- <filename>jcr-sjdbc.pqsql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- Oracle DB
- </entry>
- <entry>
- <filename>jcr-sjdbc.ora.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- DB2 9.7
- </entry>
- <entry>
- <filename>jcr-sjdbc.db2.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- MS SQL Server
- </entry>
- <entry>
- <filename>jcr-sjdbc.mssql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- Sybase
- </entry>
- <entry>
- <filename>jcr-sjdbc.sybase.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- HSQLDB
- </entry>
- <entry>
- <filename>jcr-sjdbc.sql</filename>
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <table id="tabl-Reference_Guide-Introduction-Multi_database">
- <title>Multi-database</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- Database
- </entry>
- <entry>
- Script
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- MySQL DB
- </entry>
- <entry>
- <filename>jcr-mjdbc.mysql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- MySQL DB with utf-8
- </entry>
- <entry>
- <filename>jcr-mjdbc.mysql-utf8.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- PostgresSQL
- </entry>
- <entry>
- <filename>jcr-mjdbc.pqsql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- Oracle DB
- </entry>
- <entry>
- <filename>jcr-mjdbc.ora.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- DB2 9.7
- </entry>
- <entry>
- <filename>jcr-mjdbc.db2.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- MS SQL Server
- </entry>
- <entry>
- <filename>jcr-mjdbc.mssql.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- Sybase
- </entry>
- <entry>
- <filename>jcr-mjdbc.sybase.sql</filename>
- </entry>
-
- </row>
- <row>
- <entry>
- HSQLDB
- </entry>
- <entry>
- <filename>jcr-mjdbc.sql</filename>
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <para>
+ <table id="tabl-Reference_Guide-Introduction-Single_database">
+ <title>Single-database</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry> Database </entry>
+ <entry> Script </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry> MySQL DB </entry>
+ <entry>
+ <filename>jcr-sjdbc.mysql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> MySQL DB with utf-8 </entry>
+ <entry>
+ <filename>jcr-sjdbc.mysql-utf8.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> PostgresSQL </entry>
+ <entry>
+ <filename>jcr-sjdbc.pqsql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> Oracle DB </entry>
+ <entry>
+ <filename>jcr-sjdbc.ora.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> DB2 9.7 </entry>
+ <entry>
+ <filename>jcr-sjdbc.db2.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> MS SQL Server </entry>
+ <entry>
+ <filename>jcr-sjdbc.mssql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> Sybase </entry>
+ <entry>
+ <filename>jcr-sjdbc.sybase.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> HSQLDB </entry>
+ <entry>
+ <filename>jcr-sjdbc.sql</filename>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table id="tabl-Reference_Guide-Introduction-Multi_database">
+ <title>Multi-database</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry> Database </entry>
+ <entry> Script </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry> MySQL DB </entry>
+ <entry>
+ <filename>jcr-mjdbc.mysql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> MySQL DB with utf-8 </entry>
+ <entry>
+ <filename>jcr-mjdbc.mysql-utf8.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> PostgresSQL </entry>
+ <entry>
+ <filename>jcr-mjdbc.pqsql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> Oracle DB </entry>
+ <entry>
+ <filename>jcr-mjdbc.ora.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> DB2 9.7 </entry>
+ <entry>
+ <filename>jcr-mjdbc.db2.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> MS SQL Server </entry>
+ <entry>
+ <filename>jcr-mjdbc.mssql.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> Sybase </entry>
+ <entry>
+ <filename>jcr-mjdbc.sybase.sql</filename>
+ </entry>
+ </row>
+ <row>
+ <entry> HSQLDB </entry>
+ <entry>
+ <filename>jcr-mjdbc.sql</filename>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
If a non-ANSI node name is used, you must use a database with MultiLanguage
support. Some JDBC drivers need additional parameters for establishing a Unicode friendly
connection. For example under mysql it is necessary to add an additional parameter for the
JDBC driver at the end of JDBC URL:
</para>
- <para>
+ <para>
There are preconfigured configuration files for HSQLDB. Look for these files
in /conf/portal and /conf/standalone folders of the jar-file
<package>exo.jcr.component.core-XXX.XXX.jar</package> or source-distribution
of eXo JCR implementation.
</para>
- <example
id="exam-Reference_Guide-Introduction-Example_Parameter">
- <title>Example Parameter</title>
-
-<programlisting><code>jdbc:mysql://exoua.dnsalias.net/portal?characterEncoding=utf8</code></programlisting>
-
- </example>
- <para>
+ <example id="exam-Reference_Guide-Introduction-Example_Parameter">
+ <title>Example Parameter</title>
+
<
programlisting><code>jdbc:mysql://exoua.dnsalias.net/portal?char...
+ </example>
+ <para>
The configuration files are located in service jars
<filename>/conf/portal/configuration.xml</filename> (eXo services including
JCR Repository Service) and <filename>exo-jcr-config.xml</filename>
(repositories configuration) by default. In JBoss Enterprise Portal Platform, the JCR is
configured in portal web application
<filename>portal/WEB-INF/conf/jcr/jcr-configuration.xml</filename> (JCR
Repository Service and related services) and
<filename>repository-configuration.xml</filename> (repositories
configuration).
</para>
- <para>
- Read more about <xref
linkend="chap-Reference_Guide-JCR_configuration" />.
+ <para>
+ Read more about <xref
linkend="chap-Reference_Guide-JCR_configuration"/>.
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Multi_database_Configuration">
- <title>Multi-database Configuration</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Multi_database_Configuration">
+ <title>Multi-database Configuration</title>
+ <para>
You need to configure each workspace in a repository as part of
multi-database configuration. Databases may reside on remote servers as required.
</para>
- <procedure>
- <title></title>
- <step>
- <para>
- Configure the data containers in the
<literal>org.exoplatform.services.naming.InitialContextInitializer</literal>
service. It's the JNDI context initializer which registers (binds) naming resources
(DataSources) for data containers.
+ <procedure>
+ <title/>
+ <step>
+ <para>
+ Configure the data containers in the
<literal>org.exoplatform.services.naming.InitialContextInitializer</literal>
service. It's the JNDI context initializer which registers (binds) naming
resources (DataSources) for data containers.
</para>
- <para>
+ <para>
For example (two data containers
<parameter>jdbcjcr</parameter> - local HSQLDB,
<parameter>jdbcjcr1</parameter> - remote MySQL):
</para>
-
-<programlisting language="XML" role="XML">
-<xi:include
href="../../../../extras/Advanced_Development_JCR_Configuration/example-1.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <substeps>
- <step>
- <para>
+ <programlisting language="XML" role="XML">
+<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_Configuration/example-1.xml"
parse="text"/></programlisting>
+ <substeps>
+ <step>
+ <para>
Configure the database connection parameters:
</para>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>driverClassName</parameter>,
e.g. "org.hsqldb.jdbcDriver", "com.mysql.jdbc.Driver",
"org.postgresql.Driver"
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>driverClassName</parameter>,
e.g. "org.hsqldb.jdbcDriver", "com.mysql.jdbc.Driver",
"org.postgresql.Driver"
</para>
-
- </listitem>
- <listitem>
- <para>
- <parameter>url</parameter>, e.g.
"jdbc:hsqldb:file:target/temp/data/portal",
"jdbc:mysql://exoua.dnsalias.net/jcr"
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>url</parameter>, e.g.
"jdbc:hsqldb:file:target/temp/data/portal",
"jdbc:mysql://exoua.dnsalias.net/jcr"
</para>
-
- </listitem>
- <listitem>
- <para>
- <parameter>username</parameter>, e.g.
"sa", "exoadmin"
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>username</parameter>, e.g.
"sa", "exoadmin"
</para>
-
- </listitem>
- <listitem>
- <para>
- <parameter>password</parameter>, e.g.
"", "exo12321"
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>password</parameter>, e.g.
"", "exo12321"
</para>
-
- </listitem>
-
- </itemizedlist>
-
- </step>
-
- </substeps>
- <para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ </substeps>
+ <para>
There can be connection pool configuration parameters
(org.apache.commons.dbcp.BasicDataSourceFactory):
</para>
- <itemizedlist>
- <listitem>
- <para>
+ <itemizedlist>
+ <listitem>
+ <para>
<parameter>maxActive</parameter>, e.g. 50
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>maxIdle</parameter>, e.g. 5
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>initialSize</parameter>, e.g. 5
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
and other according to <ulink
url="http://jakarta.apache.org/commons/dbcp/configuration.html"... DBCP
configuration</ulink>
</para>
-
- </listitem>
-
- </itemizedlist>
-
- </step>
- <step>
- <para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
Configure the repository service. Each workspace will be configured
for its own data container.
</para>
- <para>
+ <para>
For example (two workspaces <parameter>ws</parameter> -
jdbcjcr, <parameter>ws1</parameter> - jdbcjcr1):
</para>
-
-<programlisting language="XML" role="XML">
-<xi:include
href="../../../../extras/Advanced_Development_JCR_Configuration/example-2.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <itemizedlist>
- <listitem>
- <para>
+ <programlisting language="XML" role="XML">
+<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_Configuration/example-2.xml"
parse="text"/></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>
<parameter>source-name</parameter>: A
javax.sql.DataSource name configured in InitialContextInitializer component (was
<parameter>sourceName</parameter> prior JCR 1.9);
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>dialect</parameter>: A database
dialect, one of <literal>hsqldb</literal>,
<literal>mysql</literal>, <literal>mysql-utf8</literal>,
<literal>pgsql</literal>, <literal>oracle</literal>,
<literal>oracle-oci</literal>, <literal>mssql</literal>,
<literal>sybase</literal>, <literal>derby</literal>,
<literal>db2</literal>, <literal>db2v8</literal> or
<literal>auto</literal> for dialect autodetection;
</para>
-
- </listitem>
- <listitem>
- <para>
- <parameter>multi-db</parameter>: Enable
multi-database container with this parameter (set value "true");
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>multi-db</parameter>: Enable
multi-database container with this parameter (set value "true");
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>max-buffer-size: A</parameter> a
threshold (in bytes) after which a <literal>javax.jcr.Value</literal> content
will be swapped to a file in a temporary storage. A swap for pending changes, for
example.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
<parameter>swap-directory</parameter>: A path in
the file system used to swap the pending changes.
</para>
-
- </listitem>
-
- </itemizedlist>
-
- </step>
-
- </procedure>
-
- <para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ </procedure>
+ <para>
This procedure configures two workspace which will be persistent in two
different databases (<emphasis>ws</emphasis> in HSQLDB and
<emphasis>ws1</emphasis> in MySQL).
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Single_database_Configuration">
- <title>Single-database Configuration</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Single_database_Configuration">
+ <title>Single-database Configuration</title>
+ <para>
Configuring a single-database data container is easier than configuring a
multi-database data container as only one naming resource must be configured.
</para>
- <example
id="exam-Reference_Guide-Single_database_Configuration-jdbcjcr_Data_Container">
- <title><parameter>jdbcjcr</parameter> Data
Container</title>
-
-<programlisting language="XML" role="XML">
-<xi:include
href="../../../../extras/Advanced_Development_JCR_Configuration/example-3.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </example>
- <para>
+ <example
id="exam-Reference_Guide-Single_database_Configuration-jdbcjcr_Data_Container">
+ <title><parameter>jdbcjcr</parameter> Data
Container</title>
+ <programlisting language="XML" role="XML">
+<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_Configuration/example-3.xml"
parse="text"/></programlisting>
+ </example>
+ <para>
Configure repository workspaces with this one database. The
<parameter>multi-db</parameter> parameter must be set as
<literal>false</literal>.
</para>
- <para>
+ <para>
For example (two workspaces <parameter>ws</parameter> -
<literal>jdbcjcr</literal>, <parameter>ws1</parameter> -
<literal>jdbcjcr</literal>):
</para>
- <example
id="exam-Reference_Guide-Single_database_Configuration-Example">
- <title>Example</title>
-
-<programlisting language="XML" role="XML">
-<xi:include
href="../../../../extras/Advanced_Development_JCR_Configuration/example-4.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </example>
- <para>
+ <example
id="exam-Reference_Guide-Single_database_Configuration-Example">
+ <title>Example</title>
+ <programlisting language="XML" role="XML">
+<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_Configuration/example-4.xml"
parse="text"/></programlisting>
+ </example>
+ <para>
This configures two persistent workspaces in one database (PostgreSQL).
</para>
- <section
id="sect-Reference_Guide-Single_database_Configuration-Configuration_without_DataSource">
- <title>Configuration without DataSource</title>
- <para>
+ <section
id="sect-Reference_Guide-Single_database_Configuration-Configuration_without_DataSource">
+ <title>Configuration without DataSource</title>
+ <para>
It is possible to configure the repository without binding
<literal>javax.sql.DataSource</literal> in the JNDI service if you have a
dedicated JDBC driver implementation with special features like XA transactions,
statements/connections pooling etc:
</para>
- <procedure>
- <title></title>
- <step>
- <para>
+ <procedure>
+ <title/>
+ <step>
+ <para>
Remove the configuration in
<literal>InitialContextInitializer</literal> for your database and configure a
new one directly in the workspace container.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Remove parameter <parameter>source-name</parameter>
and add next lines instead. Describe your values for a JDBC driver, database URL and
username.
</para>
-
- </step>
-
- </procedure>
-
- <warning>
- <title>Connection Pooling</title>
- <para>
+ </step>
+ </procedure>
+ <warning>
+ <title>Connection Pooling</title>
+ <para>
Ensure the JDBC driver provides connection pooling. Connection
pooling is strongly recommended for use with the JCR to prevent a database overload.
</para>
-
- </warning>
-
-<programlisting language="XML" role="XML"><workspace
name="ws" auto-init-root-nodetype="nt:unstructured">
- <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ </warning>
+ <programlisting language="XML"
role="XML"><workspace name="ws"
auto-init-root-nodetype="nt:unstructured">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
<properties>
- <property name="dialect" value="hsqldb"/>
- <property name="driverliteral"
value="org.hsqldb.jdbcDriver"/>
- <property name="url"
value="jdbc:hsqldb:file:target/temp/data/portal"/>
- <property name="username" value="su"/>
- <property name="password" value=""/>
+ <property name="dialect"
value="hsqldb"/>
+ <property name="driverliteral"
value="org.hsqldb.jdbcDriver"/>
+ <property name="url"
value="jdbc:hsqldb:file:target/temp/data/portal"/>
+ <property name="username"
value="su"/>
+ <property name="password"
value=""/>
......</programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Single_database_Configuration-Dynamic_Workspace_Creation">
- <title>Dynamic Workspace Creation</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-Single_database_Configuration-Dynamic_Workspace_Creation">
+ <title>Dynamic Workspace Creation</title>
+ <para>
Workspaces can be added dynamically during runtime.
</para>
- <para>
+ <para>
This can be performed in two steps:
</para>
- <procedure>
- <title></title>
- <step>
- <para>
+ <procedure>
+ <title/>
+ <step>
+ <para>
<literal>ManageableRepository.configWorkspace(WorkspaceEntry
wsConfig)</literal>: Register a new configuration in RepositoryContainer and create
a WorkspaceContainer.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
<literal>ManageableRepository.createWorkspace(String
workspaceName)</literal>: Creation a new workspace.
</para>
-
- </step>
-
- </procedure>
-
-
- </section>
-
-
+ </step>
+ </procedure>
</section>
-
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Simple_and_Complex_queries">
- <title>Simple and Complex queries</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Simple_and_Complex_queries">
+ <title>Simple and Complex queries</title>
+ <para>
eXo JCR provides two ways to interact with the database;
</para>
- <variablelist>
- <title></title>
- <varlistentry>
-
<term><literal>JDBCStorageConnection</literal></term>
- <listitem>
- <para>
+ <variablelist>
+ <title/>
+ <varlistentry>
+ <term>
+ <literal>JDBCStorageConnection</literal>
+ </term>
+ <listitem>
+ <para>
Which uses simple queries. Simple queries do not use sub queries,
left or right joins. They are implemented in such a way as to support as many database
dialects as possible.
</para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
-
<term><literal>CQJDBCStorageConection</literal></term>
- <listitem>
- <para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <literal>CQJDBCStorageConection</literal>
+ </term>
+ <listitem>
+ <para>
Which uses complex queries. Complex queries are optimized to
reduce the number of database calls.
</para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
- <para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
Simple queries will be used if you chose
<literal>org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer</literal>:
</para>
-
-<programlisting language="XML"
role="XML"><workspaces>
- <workspace name="ws"
auto-init-root-nodetype="nt:unstructured">
- <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ <programlisting language="XML"
role="XML"><workspaces>
+ <workspace name="ws"
auto-init-root-nodetype="nt:unstructured">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
...
</workspace>
</worksapces>
</programlisting>
- <para>
+ <para>
Complex queries will be used if you chose
<literal>org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer</literal>:
</para>
-
-<programlisting language="XML"
role="XML"><workspaces>
- <workspace name="ws"
auto-init-root-nodetype="nt:unstructured">
- <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+ <programlisting language="XML"
role="XML"><workspaces>
+ <workspace name="ws"
auto-init-root-nodetype="nt:unstructured">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
...
</workspace>
</worksapces></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Force_Query_Hints">
- <title>Force Query Hints</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Force_Query_Hints">
+ <title>Force Query Hints</title>
+ <para>
Some databases, such as Oracle and MySQL, support hints to increase query
performance. The eXo JCR has separate Complex Query implementations for the Orcale
database dialect, which uses query hints to increase performance for few important
queries.
</para>
- <para>
+ <para>
To enable this option, use the following configuration property:
</para>
-
-<programlisting language="XML" role="XML"><workspace
name="ws" auto-init-root-nodetype="nt:unstructured">
- <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ <programlisting language="XML" role="XML"><workspace
name="ws"
auto-init-root-nodetype="nt:unstructured">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
<properties>
- <property name="dialect" value="oracle"/>
- <property name="force.query.hints" value="true"
/>
+ <property name="dialect"
value="oracle"/>
+ <property name="force.query.hints"
value="true" />
......</programlisting>
- <para>
+ <para>
Query hints are only used for Complex Queries with the Oracle dialect. For
all other dialects this parameter is ignored.
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Notes_for_Microsoft_Windows_users">
- <title>Notes for Microsoft Windows users</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-JDBC_Data_Container_Config-Notes_for_Microsoft_Windows_users">
+ <title>Notes for Microsoft Windows users</title>
+ <para>
The current configuration of eXo JCR uses <ulink
url="http://commons.apache.org/dbcp/">Apache DBCP</ulink> connection
pool (<literal>org.apache.commons.dbcp.BasicDataSourceFactory</literal>).
</para>
- <para>
- It is possible to set a high value for the
<parameter>maxActive</parameter> parameter in the
<filename>configuration.xml</filename> file. This creates a high use of TCP/IP
ports from a client machine inside the pool (the JDBC driver, for example). As a result,
the data container can throw exceptions like "<emphasis>Address already in
use</emphasis>".
+ <para>
+ It is possible to set a high value for the
<parameter>maxActive</parameter> parameter in the
<filename>configuration.xml</filename> file. This creates a high use of TCP/IP
ports from a client machine inside the pool (the JDBC driver, for example). As a result,
the data container can throw exceptions like "<emphasis>Address already in
use</emphasis>".
</para>
- <para>
- To solve this problem, you must configure the client's machine networking
software to use shorter timeouts for open TCP/IP ports.
+ <para>
+ To solve this problem, you must configure the client's machine
networking software to use shorter timeouts for open TCP/IP ports.
</para>
- <para>
+ <para>
This is done by editing two registry keys within the
<parameter>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</parameter>
node. Both of these keys are unset by default. To set the keys as required:
</para>
- <procedure>
- <title></title>
- <step>
- <para>
+ <procedure>
+ <title/>
+ <step>
+ <para>
Set the <parameter>MaxUserPort</parameter> registry key
to <parameter>=dword:00001b58</parameter>. This sets the maximum of open ports
to 7000 or higher (the default is 5000).
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Set <parameter>TcpTimedWaitDelay</parameter> to
<parameter>=dword:0000001e</parameter>. This sets
<parameter>TIME_WAIT</parameter> parameter to 30 seconds (the default is
240).
</para>
+ </step>
+ </procedure>
+ <example
id="exam-Reference_Guide-Notes_for_Microsoft_Windows_users-Sample_Registry_File">
+ <title>Sample Registry File</title>
+ <programlisting>Windows Registry Editor Version 5.00
- </step>
-
- </procedure>
-
- <example
id="exam-Reference_Guide-Notes_for_Microsoft_Windows_users-Sample_Registry_File">
- <title>Sample Registry File</title>
-
-<programlisting>Windows Registry Editor Version 5.00
-
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
-"MaxUserPort"=dword:00001b58
-"TcpTimedWaitDelay"=dword:0000001e</programlisting>
-
- </example>
-
- </section>
-
-
+"MaxUserPort"=dword:00001b58
+"TcpTimedWaitDelay"=dword:0000001e</programlisting>
+ </example>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/multilanguage-support.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/multilanguage-support.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/multilanguage-support.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,74 +1,64 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Multi_language_Support_the_JCR_RDB">
- <title>Multi-language Support</title>
- <para>
+ <title>Multi-language Support</title>
+ <para>
Whenever a relational database is used to store multilingual text data in the eXo
Java Content Repository the configuration must be adapted to support UTF-8 encoding.
Dialect is automatically detected for certified database. You can still enforce it in case
of failure, see below.
</para>
- <para>
+ <para>
The following sections describe enabling UTF-8 support with various databases.
</para>
- <itemizedlist>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-Oracle" />
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-Oracle"/>
</para>
-
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-DB2" />
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-DB2"/>
</para>
-
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-MySQL" />
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-MySQL"/>
</para>
-
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-PostgreSQL"
/>
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-PostgreSQL"/>
</para>
-
- </listitem>
-
- </itemizedlist>
- <note>
- <itemizedlist>
- <listitem>
- <para>
- The configuration file to be modified for these changes is
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ </listitem>
+ </itemizedlist>
+ <note>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The configuration file to be modified for these changes is
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
The datasource <parameter>jdbcjcr</parameter> used in the
following examples can be configured via the
<literal>InitialContextInitializer</literal> component.
</para>
-
- </listitem>
-
- </itemizedlist>
-
- </note>
- <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-Oracle">
- <title>Oracle</title>
- <para>
+ </listitem>
+ </itemizedlist>
+ </note>
+ <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-Oracle">
+ <title>Oracle</title>
+ <para>
In order to run multilanguage JCR on an Oracle backend Unicode encoding for
characters set should be applied to the database. Other Oracle globalization parameters do
not have any effect. The property to modify is
<literal>NLS_CHARACTERSET</literal>.
</para>
- <para>
+ <para>
The <literal>NLS_CHARACTERSET = AL32UTF8</literal> entry has been
successfully tested with many European and Asian languages.
</para>
- <para>
+ <para>
Example of database configuration:
</para>
-
-<programlisting>NLS_LANGUAGE AMERICAN
+ <programlisting>NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
@@ -87,100 +77,81 @@
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16</programlisting>
- <!-- <warning>
+<!-- <warning>
<para>
JCR 1.12.x doesn't use NVARCHAR columns, so that the value of the
parameter NLS_NCHAR_CHARACTERSET does not matter for JCR.
</para>
- </warning> --> <para>
+ </warning> --> <para>
Create database with Unicode encoding and use Oracle dialect for the
Workspace Container:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default54.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-DB2">
- <title>DB2</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default54.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-DB2">
+ <title>DB2</title>
+ <para>
DB2 Universal Database (DB2 UDB) supports <ulink
url="http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?to...
and UTF-16/UCS-2</ulink>. When a Unicode database is created,
<parameter>CHAR</parameter>, <parameter>VARCHAR</parameter> and
<parameter>LONG VARCHAR</parameter> data are stored in UTF-8 form.
</para>
- <para>
+ <para>
This enables JCR multi-lingual support.
</para>
- <para>
+ <para>
Below is an example of creating a UTF-8 database using the
<parameter>db2</parameter> dialect for a workspace container with DB2 version
9 and higher:
</para>
-
-<programlisting>DB2 CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY US
+ <programlisting>DB2 CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY US
</programlisting>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default56.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <note>
- <para>
- For DB2 version 8.<replaceable>x</replaceable> support change
the property "dialect" to db2v8.
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default56.xml"
parse="text"/></programlisting>
+ <note>
+ <para>
+ For DB2 version 8.<replaceable>x</replaceable> support change
the property "dialect" to db2v8.
</para>
-
- </note>
-
- </section>
-
- <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-MySQL">
- <title>MySQL</title>
- <para>
+ </note>
+ </section>
+ <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-MySQL">
+ <title>MySQL</title>
+ <para>
Using JCR with a MySQL-back end requires a special dialect <ulink
url="http://jira.exoplatform.org/browse/JCR-375">MySQL-UTF8&... to
be used for internationalization support.
</para>
- <para>
+ <para>
The database default charset should be
<parameter>latin1</parameter> so as to use limited index space effectively
(1000 bytes for an <literal>MyISAM</literal> engine and 767 for
<literal>InnoDB</literal>).
</para>
- <para>
+ <para>
If the database default charset is multibyte, a JCR database initialization
error is encountered concerning index creation failure.
</para>
- <para>
+ <para>
JCR can work on any single byte default charset of database, with UTF8
supported by MySQL server. However it has only been tested using the
<parameter>latin1</parameter> charset.
</para>
- <para>
+ <para>
An example entry:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default57.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-PostgreSQL">
- <title>PostgreSQL</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default57.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Multi_language_Support_the_JCR_RDB-PostgreSQL">
+ <title>PostgreSQL</title>
+ <para>
Multilingual support can be enabled with a PostgreSQL-back end in <ulink
url="http://www.postgresql.org/docs/8.3/interactive/charset.html&quo...
ways</ulink>:
</para>
- <orderedlist>
- <listitem>
- <para>
+ <orderedlist>
+ <listitem>
+ <para>
Using the locale features of the operating system to provide
locale-specific collation order, number formatting, translated messages, and other
aspects.
</para>
- <para>
+ <para>
UTF-8 is widely used on Linux distributions by default, so it can be
useful in such cases.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Providing a number of different character sets defined in the
PostgreSQL server, including multiple-byte character sets, to support storing text any
language, and providing character set translation between client and server.
</para>
- <para>
+ <para>
Using UTF-8 database charset is recommended as it will allow
any-to-any conversations and make this issue transparent for the JCR.
</para>
-
- </listitem>
-
- </orderedlist>
- <para>
+ </listitem>
+ </orderedlist>
+ <para>
Example of a database with UTF-8 encoding using PgSQL dialect for the
Workspace Container:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default58.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_multilanguage-support/default58.xml"
parse="text"/></programlisting>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/search-configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/search-configuration.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/search-configuration.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,720 +1,550 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Search_Configuration">
- <title>Search Configuration</title>
- <para>
+ <title>Search Configuration</title>
+ <para>
The search function in JCR can be configured to perform in specific ways. This
section will discuss configuring the search function to improve search performance and
results.
</para>
- <para>
- Below is an example of the configuration file that governs search behaviors.
Refer to <xref
linkend="sect-Reference_Guide-Search_Configuration-Global_Search_Index" />
for how searching operates in JCR and information about customized searches.
+ <para>
+ Below is an example of the configuration file that governs search behaviors.
Refer to <xref
linkend="sect-Reference_Guide-Search_Configuration-Global_Search_Index"/> for
how searching operates in JCR and information about customized searches.
</para>
- <para>
- The JCR index configuration file is located at
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ <para>
+ The JCR index configuration file is located at
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
</para>
- <para>
+ <para>
A code example is included below with a list of the configuration parameters
shown below that.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default61.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default61.xml"
parse="text"/></programlisting>
+ <para>
The table below outlines <emphasis
role="bold">some</emphasis> of the Configuration Parameters available,
their default setting, which version of eXo JCR they were implemented in and other useful
information (further parameters are explained in <xref
linkend="sect-Reference_Guide-JBoss_Cache_configuration-Indexer_lock_manager_and_data_container_configuration"/>):
</para>
- <table
id="tabl-Reference_Guide-Search_Configuration-Configuration_parameters">
- <!-- align="left" pgwide="1" -->
<title>Configuration parameters</title>
- <tgroup cols="4">
- <colspec colname="1"
colwidth="90pt"></colspec>
- <colspec colname="2"
colwidth="90pt"></colspec>
- <colspec colname="3"
colwidth="150pt"></colspec>
- <colspec colname="4"
colwidth="50pt"></colspec>
- <thead>
- <row>
- <entry>
- <para>
+ <table
id="tabl-Reference_Guide-Search_Configuration-Configuration_parameters">
+<!-- align="left" pgwide="1" -->
<title>Configuration parameters</title>
+ <tgroup cols="4">
+ <colspec colname="1" colwidth="90pt"/>
+ <colspec colname="2" colwidth="90pt"/>
+ <colspec colname="3" colwidth="150pt"/>
+ <colspec colname="4" colwidth="50pt"/>
+ <thead>
+ <row>
+ <entry>
+ <para>
Parameter
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Default
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Description
</para>
-
- </entry>
- <entry>
- Implemented in Version
- </entry>
-
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> Implemented in Version </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
index-dir
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
none
</para>
-
- </entry>
- <entry>
- <para>
- The location of the index directory. This parameter is
mandatory. It is called "<literal>indexDir</literal>" in versions
prior to eXo JCR version 1.9.
+ </entry>
+ <entry>
+ <para>
+ The location of the index directory. This parameter is
mandatory. It is called "<literal>indexDir</literal>" in
versions prior to eXo JCR version 1.9.
</para>
-
- </entry>
- <entry>
- 1.0
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.0 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
use-compoundfile
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
true
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Advises lucene to use compound files for the index files.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
min-merge-docs
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
100
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The minimum number of nodes in an index until segments are
merged.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
volatile-idle-time
</para>
-
- </entry>
- <entry>
- 3
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry> 3 </entry>
+ <entry>
+ <para>
Idle time in seconds until the volatile index part is moved
to a persistent index even though <literal>minMergeDocs</literal> is not
reached.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
max-merge-docs
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Integer.MAX_VALUE
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The maximum number of nodes in segments that will be merged.
The default value changed to <literal>Integer.MAX_VALUE</literal> in eXo JCR
version 1.9.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
merge-factor
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
10
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Determines how often segment indices are merged.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
max-field-length
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
10000
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The number of words that are full-text indexed at most per
property.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
cache-size
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
1000
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Size of the document number cache. This cache maps UUID to
lucene document numbers
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
force-consistencycheck
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
false
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Runs a consistency check on every start up. If false, a
consistency check is only performed when the search index detects a prior forced
shutdown.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
auto-repair
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
true
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Errors detected by a consistency check are automatically
repaired. If false, errors are only written to the log.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- query-class
- </entry>
- <entry>
- QueryImpl
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry> query-class </entry>
+ <entry> QueryImpl </entry>
+ <entry>
+ <para>
Classname that implements the javax.jcr.query.Query
interface.
</para>
- <para>
+ <para>
This class must also extend from the class:
<literal>org.exoplatform.services.jcr.impl.core.
query.AbstractQueryImpl</literal>.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
document-order
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
true
</para>
-
- </entry>
- <entry>
- <para>
- If true and the query does not contain an 'order by'
clause, result nodes will be in document order. For better performance set to
'false' when queries return many nodes.
+ </entry>
+ <entry>
+ <para>
+ If true and the query does not contain an 'order
by' clause, result nodes will be in document order. For better performance set to
'false' when queries return many nodes.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
result-fetch-size
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Integer.MAX_VALUE
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The number of results when a query is executed. Default
value: <literal>Integer.MAX_VALUE</literal>.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
excerptprovider-class
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
DefaultXMLExcerpt
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.ExcerptProvider</literal>.
</para>
- <para>
+ <para>
This should be used for the
<literal>rep:excerpt()</literal> function in a query.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
support-highlighting
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
false
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
If set to true additional information is stored in the index
to support highlighting using the <literal>rep:excerpt()</literal> function.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
synonymprovider-class
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
none
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SynonymProvider</literal>.
</para>
- <para>
+ <para>
The default value is null.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
synonymprovider-config-path
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
none
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The path to the synonym provider configuration file. This
path is interpreted relative to the path parameter. If there is a path element inside the
<literal>SearchIndex</literal> element, then this path is interpreted relative
to the root path of the path. Whether this parameter is mandatory depends on the synonym
provider implementation. The default value is null.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
indexing-configuration-path
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
none
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The path to the indexing configuration file.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
indexing-configuration-class
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
IndexingConfigurationImpl
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.IndexingConfiguration</literal>.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
force-consistencycheck
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
false
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
If set to true a consistency check is performed depending on
the parameter <literal>forceConsistencyCheck</literal>. If set to false no
consistency check is performed on start up, even if a redo log had been applied.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
spellchecker-class
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
none
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SpellChecker</literal>.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
errorlog-size
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
50(KB)
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
The default size of error log file in KB.
</para>
-
- </entry>
- <entry>
- 1.9
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.9 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
upgrade-index
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
false
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Allows JCR to convert an existing index into the new format.
It is also possible to set this property via system property.
</para>
- <para>
+ <para>
Indexes prior to eXo JCR 1.12 will not run with eXo JCR 1.12.
You must run an automatic migration.
</para>
- <para>
+ <para>
Start eXo JCR with:
</para>
-
-<programlisting><command>
-Dupgrade-index=true</command></programlisting>
- <para>
+ <programlisting><command>
-Dupgrade-index=true</command></programlisting>
+ <para>
The old index format is then converted in the new index
format. After the conversion the new format is used.
</para>
- <para>
+ <para>
On subsequent starts this option is no longer needed. The old
index is replaced and a back conversion is not possible
</para>
- <para>
+ <para>
It is recommended that a backup of the index be made before
conversion. (Only for migrations from JCR 1.9 and later.)
</para>
-
- </entry>
- <entry>
- 1.12
- </entry>
-
- </row>
- <row>
- <entry>
- <para>
+ </entry>
+ <entry> 1.12 </entry>
+ </row>
+ <row>
+ <entry>
+ <para>
analyzer
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
org.apache.lucene.analysis. standard.StandardAnalyzer
</para>
-
- </entry>
- <entry>
- <para>
+ </entry>
+ <entry>
+ <para>
Class name of a lucene analyzer to use for full-text indexing
of text.
</para>
-
- </entry>
- <entry>
- 1.12
- </entry>
-
- </row>
-
- </tbody>
-
- </tgroup>
-
- </table>
- <section
id="sect-Reference_Guide-Search_Configuration-Global_Search_Index">
- <title>Global Search Index</title>
- <para>
+ </entry>
+ <entry> 1.12 </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section
id="sect-Reference_Guide-Search_Configuration-Global_Search_Index">
+ <title>Global Search Index</title>
+ <para>
By default eXo JCR uses the Lucene standard Analyzer to index contents. This
analyzer uses some standard filters in the method that analyzes the content:
</para>
- <programlistingco>
- <areaspec>
- <area coords="4"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter"
/>
- <area coords="5"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter"
/>
- <area coords="6"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter"
/>
-
- </areaspec>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default62.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter">
- <para>
- The first filter (StandardFilter) removes possessive apostrophes
(<emphasis role="bold">'s</emphasis>) from the end of words and
removes periods (<emphasis role="bold">.</emphasis>) from acronyms.
+ <programlistingco>
+ <areaspec>
+ <area coords="4"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter"/>
+ <area coords="5"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter"/>
+ <area coords="6"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter"/>
+ </areaspec>
+ <programlisting language="Java"
role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default62.java"
parse="text"/></programlisting>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter">
+ <para>
+ The first filter (StandardFilter) removes possessive apostrophes
(<emphasis role="bold">'s</emphasis>) from the end of words
and removes periods (<emphasis role="bold">.</emphasis>) from
acronyms.
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter">
- <para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter">
+ <para>
The second filter (LowerCaseFilter) normalizes token text to
lower case.
</para>
-
- </callout>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter">
- <para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter">
+ <para>
The last filter (StopFilter) removes stop words from a token
stream. The stop set is defined in the analyzer.
</para>
-
- </callout>
-
- </calloutlist>
-
- </programlistingco>
-
- <para>
- The global search index is configured in the
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
configuration file within the "query-handler" tag.
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ <para>
+ The global search index is configured in the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
configuration file within the "query-handler" tag.
</para>
-
-<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <programlisting language="XML"
role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
</programlisting>
- <para>
+ <para>
The same analyzer should always be used for indexing and for querying in
lucene otherwise results may be unpredictable. eXo JCR does this automatically. The
StandardAnalyzer (configured by default) can, however, be replaced with another.
</para>
- <para>
+ <para>
A customized QueryHandler can also be easily created.
</para>
- <formalpara
id="form-Reference_Guide-Global_Search_Index-Customized_Search_Indexes_and_Analyzers">
- <title>Customized Search Indexes and Analyzers</title>
- <para>
+ <formalpara
id="form-Reference_Guide-Global_Search_Index-Customized_Search_Indexes_and_Analyzers">
+ <title>Customized Search Indexes and Analyzers</title>
+ <para>
By default Exo JCR uses the Lucene standard Analyzer to index contents.
This analyzer uses some standard filters in the method that analyzes the content:
</para>
-
- </formalpara>
-
-<programlisting language="Java" role="Java">public TokenStream
tokenStream(String fieldName, Reader reader) {
+ </formalpara>
+ <programlisting language="Java" role="Java">public
TokenStream tokenStream(String fieldName, Reader reader) {
StandardTokenizer tokenStream = new StandardTokenizer(reader,
replaceInvalidAcronym);
tokenStream.setMaxTokenLength(maxTokenLength);
TokenStream result = new StandardFilter(tokenStream);
@@ -722,356 +552,299 @@
result = new StopFilter(result, stopSet);
return result;
}</programlisting>
- <itemizedlist>
- <listitem>
- <para>
- The first one (StandardFilter) removes 's (as 's in
"Peter's") from the end of words and removes dots from acronyms.
+ <itemizedlist>
+ <listitem>
+ <para>
+ The first one (StandardFilter) removes 's (as 's in
"Peter's") from the end of words and removes dots from
acronyms.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
The second one (LowerCaseFilter) normalizes token text to lower
case.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
The last one (StopFilter) removes stop words from a token stream. The
stop set is defined in the analyzer.
</para>
-
- </listitem>
-
- </itemizedlist>
- <para>
+ </listitem>
+ </itemizedlist>
+ <para>
Additional filters can be used in specific cases. The
<phrase>ISOLatin1AccentFilter</phrase> filter, for example, which replaces
accented characters in the ISO Latin 1 character set (ISO-8859-1) by their unaccented
equivalents.
</para>
- <para>
+ <para>
The <phrase>ISOLatin1AccentFilter</phrase> is not present in the
current lucene version used by eXo.
</para>
- <para>
+ <para>
In order to use a different filter, a new analyzer must be created, as well
as new search index to use the analyzer. These are packaged into a jar file, which is then
deployed with the application.
</para>
- <procedure
id="proc-Reference_Guide-Global_Search_Index-Create_a_new_filter_analyzer_and_search_index">
- <title>Create a new filter, analyzer and search index</title>
- <step>
- <para>
+ <procedure
id="proc-Reference_Guide-Global_Search_Index-Create_a_new_filter_analyzer_and_search_index">
+ <title>Create a new filter, analyzer and search index</title>
+ <step>
+ <para>
Create a new filter with the method:
</para>
-
-<programlisting language="Java" role="JAVA">public final Token
next(final Token reusableToken) throws java.io.IOException
+ <programlisting language="Java" role="JAVA">public
final Token next(final Token reusableToken) throws java.io.IOException
</programlisting>
- <para>
+ <para>
This defines how characters are read and used by the filter.
</para>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
Create the analyzer.
</para>
- <para>
+ <para>
The analyzer must extend
<literal>org.apache.lucene.analysis.standard.StandardAnalyzer</literal> and
overload the method.
</para>
- <para>
+ <para>
Use the following to use new filters.
</para>
-
-<programlisting language="Java" role="JAVA">public TokenStream
tokenStream(String fieldName, Reader reader)
+ <programlisting language="Java" role="JAVA">public
TokenStream tokenStream(String fieldName, Reader reader)
</programlisting>
-
- </step>
- <step>
- <para>
+ </step>
+ <step>
+ <para>
To create the new search index, extend
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex</literal>
and write the constructor to set the correct analyzer.
</para>
- <para>
+ <para>
Use the method below to return your analyzer:
</para>
-
-<programlisting language="Java" role="JAVA">public Analyzer
getAnalyzer() {
+ <programlisting language="Java" role="JAVA">public
Analyzer getAnalyzer() {
return MyAnalyzer;
}
</programlisting>
-
- </step>
-
- </procedure>
-
- <note>
- <para>
+ </step>
+ </procedure>
+ <note>
+ <para>
In eXo JCR version 1.12 (and later) the analyzer can be directly set in
the configuration. For users with this version the creation of a new SearchIndex for new
analyzers is redundant.
</para>
-
- </note>
- <para>
+ </note>
+ <para>
To configure an application to use a new
<literal>SearchIndex</literal>, replace the following code:
</para>
-
-<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <programlisting language="XML"
role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
</programlisting>
- <para>
- in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
with the new class:
+ <para>
+ in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
with the new class:
</para>
-
-<programlisting language="XML" role="XML"><query-handler
class="mypackage.indexation.MySearchIndex>
+ <programlisting language="XML"
role="XML"><query-handler
class="mypackage.indexation.MySearchIndex>
</programlisting>
- <para>
- To configure an application to use a new analyzer, add the
<parameter>analyzer</parameter> parameter to each query-handler configuration
in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>:
+ <para>
+ To configure an application to use a new analyzer, add the
<parameter>analyzer</parameter> parameter to each query-handler configuration
in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default69.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default69.xml"
parse="text"/></programlisting>
+ <para>
The new <literal>SearchIndex</literal> will start to index
contents with the specified filters when the JCR is next started.
</para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Search_Configuration-IndexingConfiguration">
- <title>IndexingConfiguration</title>
- <para>
+ </section>
+ <section
id="sect-Reference_Guide-Search_Configuration-IndexingConfiguration">
+ <title>IndexingConfiguration</title>
+ <para>
From version 1.9, the default search index implementation in JCR allows user
control over which properties of a node are indexed. Different analyzers can also be set
for different nodes.
</para>
- <para>
+ <para>
The configuration parameter is called
<literal>indexingConfiguration</literal> and is not set by default. This means
all properties of a node are indexed.
</para>
- <para>
+ <para>
To configure the indexing behavior add a parameter to the query-handler
element in your configuration file.
</para>
-
-<programlisting language="XML" role="XML"><param
name="indexing-configuration-path"
value="/indexing_configuration.xml"/>
+ <programlisting language="XML" role="XML"><param
name="indexing-configuration-path"
value="/indexing_configuration.xml"/>
</programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Node_Scope_Limit">
- <title>Node Scope Limit</title>
- <para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Node_Scope_Limit">
+ <title>Node Scope Limit</title>
+ <para>
The node scope can be limited so that only certain properties of a node
type are indexed. This can optimize the index size.
</para>
-
- </formalpara>
- <para>
+ </formalpara>
+ <para>
With the configuration below only properties named
<parameter>Text</parameter> are indexed for
<parameter>nt:unstructured</parameter> node types. This configuration also
applies to all nodes whose type extends from
<parameter>nt:unstructured</parameter>.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default71.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <note>
- <title>Namespace Prefixes</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default71.xml"
parse="text"/></programlisting>
+ <note>
+ <title>Namespace Prefixes</title>
+ <para>
The <phrase>namespace prefixes</phrase> must be declared
throughout the XML file in the configuration element that is being used.
</para>
-
- </note>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Indexing_Boost_Value">
- <title>Indexing Boost Value</title>
- <para>
+ </note>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Indexing_Boost_Value">
+ <title>Indexing Boost Value</title>
+ <para>
It is also possible to configure a <phrase>boost
value</phrase> for the nodes that match the index rule. The default boost value is
1.0. Higher boost values (a reasonable range is 1.0 - 5.0) will yield a higher score value
and appear as more relevant.
</para>
-
- </formalpara>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default72.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ </formalpara>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default72.xml"
parse="text"/></programlisting>
+ <para>
If you do not wish to boost the complete node, but only certain properties,
you can also provide a boost value for the listed properties:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default73.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Conditional_Index_Rules">
- <title>Conditional Index Rules</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default73.xml"
parse="text"/></programlisting>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Conditional_Index_Rules">
+ <title>Conditional Index Rules</title>
+ <para>
You may also add a <phrase>condition</phrase> to the index
rule and have multiple rules with the same nodeType. The first index rule that matches
will apply and all remaining ones are ignored:
</para>
-
- </formalpara>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default74.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ </formalpara>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default74.xml"
parse="text"/></programlisting>
+ <para>
In the above example the first rule only applies if the
<parameter>nt:unstructured</parameter> node has a priority property with a
value <parameter>high</parameter>. The condition syntax only supports the
equals operator and a string literal.
</para>
- <para>
+ <para>
Properties may also be referenced on the condition that are not on the
current node:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default75.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default75.xml"
parse="text"/></programlisting>
+ <para>
The indexing configuration allows the type of a node in the condition to be
specified. Please note however that the type match must be exact. It does not consider sub
types of the specified node type.
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default76.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Exclusion_from_the_Node_Scope_Index">
- <title>Exclusion from the Node Scope Index</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default76.xml"
parse="text"/></programlisting>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Exclusion_from_the_Node_Scope_Index">
+ <title>Exclusion from the Node Scope Index</title>
+ <para>
All configured properties are full-text indexed by default (if they are
of type STRING and included in the node scope index).
</para>
-
- </formalpara>
- <para>
- A node scope search normally finds all nodes of an index. That is to say;
<literal>jcr:contains(., 'foo')</literal> returns all nodes that have
a string property containing the word
'<replaceable>foo</replaceable>'.
+ </formalpara>
+ <para>
+ A node scope search normally finds all nodes of an index. That is to say;
<literal>jcr:contains(., 'foo')</literal> returns all nodes
that have a string property containing the word
'<replaceable>foo</replaceable>'.
</para>
- <para>
+ <para>
Properties can be explicitly excluded from the node scope index with:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default77.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Index_Aggregates">
- <title>Index Aggregates</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default77.xml"
parse="text"/></programlisting>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Index_Aggregates">
+ <title>Index Aggregates</title>
+ <para>
Sometimes it is useful to include the contents of descendant nodes into a
single node to more easily search on content that is scattered across multiple nodes.
</para>
-
- </formalpara>
- <para>
+ </formalpara>
+ <para>
JCR allows the definition of index aggregates based on relative path patterns
and primary node types.
</para>
- <para>
+ <para>
The following example creates an index aggregate on
<literal>nt:file</literal> that includes the content of the jcr:content node:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default78.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default78.xml"
parse="text"/></programlisting>
+ <para>
Included nodes can also be restricted to a certain type:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default79.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default79.xml"
parse="text"/></programlisting>
+ <para>
The <emphasis role="bold">*</emphasis> wild-card can be
used to match all child nodes:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default80.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default80.xml"
parse="text"/></programlisting>
+ <para>
Nodes to a certain depth below the current node can be included by adding
multiple include elements. The <parameter>nt:file</parameter> node may contain
a complete XML document under jcr:content for example:
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default81.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Property_Level_Analyzers">
- <title>Property-Level Analyzers</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default81.xml"
parse="text"/></programlisting>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Property_Level_Analyzers">
+ <title>Property-Level Analyzers</title>
+ <para>
How a property has to be analyzed can be defined in the following
configuration section. If there is an analyzer configuration for a property, this analyzer
is used for indexing and searching of this property. For example:
</para>
-
- </formalpara>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_search-configuration/default82.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The configuration above sets lucene <emphasis
role="bold">KeywordAnalyzer</emphasis> to index and search the property
"<replaceable>mytext</replaceable>" across the entire workspace
while the "<replaceable>mytext2</replaceable>" property is searched
with the <emphasis role="bold">WhitespaceAnalyzer</emphasis>.
+ </formalpara>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_search-configuration/default82.xml"
parse="text"/></programlisting>
+ <para>
+ The configuration above sets lucene <emphasis
role="bold">KeywordAnalyzer</emphasis> to index and search the property
"<replaceable>mytext</replaceable>" across the entire
workspace while the "<replaceable>mytext2</replaceable>"
property is searched with the <emphasis
role="bold">WhitespaceAnalyzer</emphasis>.
</para>
- <para>
+ <para>
The <emphasis role="bold">WhitespaceAnalyzer</emphasis>
tokenizes a property, the <emphasis
role="bold">KeywordAnalyzer</emphasis> takes the property as a whole.
</para>
- <para>
+ <para>
Using different analyzers for different languages can be particularly
useful.
</para>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Characteristics_of_Node_Scope_Searches">
- <title>Characteristics of Node Scope Searches</title>
- <para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Characteristics_of_Node_Scope_Searches">
+ <title>Characteristics of Node Scope Searches</title>
+ <para>
Unexpected behavior may be encountered when using analyzers to search
within a <emphasis>property</emphasis> compared to searching within a
<emphasis>node scope</emphasis>. This is because the node scope always uses
the global analyzer.
</para>
-
- </formalpara>
- <para>
- For example: the property
"<parameter>mytext</parameter>" contains the text;
"<emphasis>testing my analyzers</emphasis>" but no analyzers have
been configured for this property (and the default analyzer in SearchIndex has not been
changed).
+ </formalpara>
+ <para>
+ For example: the property
"<parameter>mytext</parameter>" contains the text;
"<emphasis>testing my analyzers</emphasis>" but no analyzers
have been configured for this property (and the default analyzer in SearchIndex has not
been changed).
</para>
- <para>
+ <para>
If the query is:
</para>
-
-<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
+ <programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
</programlisting>
- <para>
+ <para>
The <literal>xpath</literal> does not return a result in the node
with the property above and default analyzers.
</para>
- <para>
+ <para>
Also, if a search is done on the node scope as follows:
</para>
-
-<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
+ <programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
</programlisting>
- <para>
+ <para>
No result will be returned.
</para>
- <para>
+ <para>
Only specific analyzers can be set on a node property, and the node scope
indexing and analyzing is always done with the globally defined analyzer in the
SearchIndex element.
</para>
- <para>
- If the analyzer used to index the "mytext" property above is
changed to:
+ <para>
+ If the analyzer used to index the "mytext" property above
is changed to:
</para>
-
-<programlisting language="XML" role="XML"><analyzer
class="org.apache.lucene.analysis.Analyzer.GermanAnalyzer">
+ <programlisting language="XML" role="XML"><analyzer
class="org.apache.lucene.analysis.Analyzer.GermanAnalyzer">
<property>mytext</property>
</analyzer>
</programlisting>
- <para>
+ <para>
The search below would return a result because of the word stemming
(analyzers - analyzer).
</para>
-
-<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
+ <programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
</programlisting>
- <para>
+ <para>
The second search in the example:
</para>
-
-<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
+ <programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
</programlisting>
- <para>
+ <para>
Would still not give a result, since the node scope is indexed with the
global analyzer, which in this case does not take into account any word stemming.
</para>
- <para>
+ <para>
Be aware that when using analyzers for specific properties, a result may be
found in a property for certain search text, but the same search text in the node scope of
the property may not find a result.
</para>
- <note>
- <para>
+ <note>
+ <para>
Both index rules and index aggregates influence how content is indexed in
JCR. If the configuration is changed, the existing content is not automatically re-indexed
according to the new rules.
</para>
- <para>
+ <para>
Content must be manually re-indexed when the configuration is changed.
</para>
-
- </note>
-
- </section>
-
- <section
id="sect-Reference_Guide-Search_Configuration-Advanced_features">
- <title>Advanced features</title>
- <para>
+ </note>
+ </section>
+ <section
id="sect-Reference_Guide-Search_Configuration-Advanced_features">
+ <title>Advanced features</title>
+ <para>
eXo JCR supports some advanced features, which are not specified in JSR 170:
</para>
- <itemizedlist>
- <listitem>
- <para>
- Get a text excerpt with <emphasis
role="bold">highlighted words</emphasis> that matches the query:
<xref linkend="sect-Reference_Guide-Highlighting-DefaultXMLExcerpt"
/>>.
+ <itemizedlist>
+ <listitem>
+ <para>
+ Get a text excerpt with <emphasis
role="bold">highlighted words</emphasis> that matches the query:
<xref
linkend="sect-Reference_Guide-Highlighting-DefaultXMLExcerpt"/>>.
</para>
-
- </listitem>
- <listitem>
- <para>
- Search a term and its <emphasis
role="bold">synonyms</emphasis>: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SynonymSearch"
/>.
+ </listitem>
+ <listitem>
+ <para>
+ Search a term and its <emphasis
role="bold">synonyms</emphasis>: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SynonymSearch"/>.
</para>
-
- </listitem>
- <listitem>
- <para>
- Search <emphasis role="bold">similar</emphasis>
nodes: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-Similarity" />.
+ </listitem>
+ <listitem>
+ <para>
+ Search <emphasis role="bold">similar</emphasis>
nodes: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-Similarity"/>.
</para>
-
- </listitem>
- <listitem>
- <para>
- Check <emphasis role="bold">spelling</emphasis>
of a full text query statement: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SpellChecker" />.
+ </listitem>
+ <listitem>
+ <para>
+ Check <emphasis role="bold">spelling</emphasis>
of a full text query statement: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SpellChecker"/>.
</para>
-
- </listitem>
- <listitem>
- <para>
+ </listitem>
+ <listitem>
+ <para>
Define index <emphasis role="bold">aggregates and
rules</emphasis>: IndexingConfiguration.
</para>
-
- </listitem>
-
- </itemizedlist>
-
- </section>
-
-
+ </listitem>
+ </itemizedlist>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/jbosscache-configuration-templates.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/jbosscache-configuration-templates.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/jbosscache-configuration-templates.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -70,7 +70,7 @@
<section
id="sect-Reference_Guide-JBoss_Cache_configuration-Shipped_JBoss_Cache_configuration_templates">
<title>Shipped JBoss Cache configuration templates</title>
<para>
- The eXo JCR implementation is shipped with ready-to-use JBoss Cache
configuration templates for JCR's components. They are located in
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jbosscache</filename>
directory, inside either the <filename>cluster</filename> or
<filename>local</filename> directory.
+ The eXo JCR implementation is shipped with ready-to-use JBoss Cache
configuration templates for JCR's components. They are located in
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/jbosscache</filename>
directory, inside either the <filename>cluster</filename> or
<filename>local</filename> directory.
</para>
<section
id="sect-Reference_Guide-Shipped_JBoss_Cache_configuration_templates-Data_container_template">
<title>Data container template</title>
@@ -112,7 +112,7 @@
<para>
The query handler template is called
<filename>indexer-config.xml</filename>:
</para>
- <programlisting language="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_JCR_cluster-config/indexer-config.xml_code"
parse="text"/></programlisting>
+ <programlisting language="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude" parse="text"
href="../../../extras/Advanced_Development_JCR_cluster-config/indexer-config.xml_code"/></programlisting>
</section>
</section>
</chapter>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/searching/searching-repository-content.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/searching/searching-repository-content.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/searching/searching-repository-content.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -1,52 +1,45 @@
-<?xml version='1.0' encoding='utf-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;
]>
<chapter id="chap-Reference_Guide-Searching_Repository_Content">
- <title>Searching Repository Content</title>
- <section
id="sect-Reference_Guide-Searching_Repository_Content-Introduction">
- <title>Introduction</title>
- <para>
- You can find the JCR configuration file here:
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/portal/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
- </para>
- <para>
- Please refer to <xref linkend="chap-Reference_Guide-Search_Configuration"
/> for more information about index configuration.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-Bi_directional_RangeIterator">
- <title>Bi-directional RangeIterator</title>
- <para>
- <literal>QueryResult.getNodes()</literal> will return bi-directional
<literal>NodeIterator</literal> implementation.
- </para>
- <note>
- <para>
- Bi-directional NodeIterator is <emphasis role="bold">not
supported</emphasis> in two cases:
- </para>
- <orderedlist>
- <listitem>
- <para>
- SQL query: select * from nt:base
- </para>
-
- </listitem>
- <listitem>
- <para>
- XPath query: //* .
- </para>
-
- </listitem>
-
- </orderedlist>
-
- </note>
- <para>
- <literal>TwoWayRangeIterator</literal> interface:
- </para>
-
-<programlisting language="Java" role="Java">/**
+ <title>Searching Repository Content</title>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-Introduction">
+ <title>Introduction</title>
+ <para>
+ You can find the JCR configuration file here:
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/portal/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ </para>
+ <para>
+ Please refer to <xref
linkend="chap-Reference_Guide-Search_Configuration"/> for more information
about index configuration.
+ </para>
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-Bi_directional_RangeIterator">
+ <title>Bi-directional RangeIterator</title>
+ <para>
+ <literal>QueryResult.getNodes()</literal> will return bi-directional
<literal>NodeIterator</literal> implementation.
+ </para>
+ <note>
+ <para>
+ Bi-directional NodeIterator is <emphasis role="bold">not
supported</emphasis> in two cases:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ SQL query: select * from nt:base
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ XPath query: //* .
+ </para>
+ </listitem>
+ </orderedlist>
+ </note>
+ <para>
+ <literal>TwoWayRangeIterator</literal> interface:
+ </para>
+ <programlisting language="Java" role="Java">/**
* Skip a number of elements in the iterator.
*
* @param skipNum the non-negative number of elements to skip
@@ -54,11 +47,10 @@
* in the iterator.
*/
public void skipBack(long skipNum);</programlisting>
- <para>
- Usage:
- </para>
-
-<programlisting language="Java" role="Java">NodeIterator iter =
queryResult.getNodes();
+ <para>
+ Usage:
+ </para>
+ <programlisting language="Java" role="Java">NodeIterator
iter = queryResult.getNodes();
while (iter.hasNext()) {
if (skipForward) {
iter.skip(10); // Skip 10 nodes in forward direction
@@ -68,38 +60,30 @@
}
.......
}</programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-Fuzzy_Searches">
- <title>Fuzzy Searches</title>
- <para>
- The JBoss Enterprise Portal Platform JCR supports features such as Lucene Fuzzy
Searches. To perform a fuzzy search, form your query like the one below:
- </para>
-
-<programlisting language="Java" role="Java">QueryManager qman =
session.getWorkspace().getQueryManager();
-Query q = qman.createQuery("select * from nt:base where contains(field,
'ccccc~')", Query.SQL);
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-Fuzzy_Searches">
+ <title>Fuzzy Searches</title>
+ <para>
+ The JBoss Enterprise Portal Platform JCR supports features such as Lucene Fuzzy
Searches. To perform a fuzzy search, form your query like the one below:
+ </para>
+ <programlisting language="Java" role="Java">QueryManager
qman = session.getWorkspace().getQueryManager();
+Query q = qman.createQuery("select * from nt:base where contains(field,
'ccccc~')", Query.SQL);
QueryResult res = q.execute();</programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-SynonymSearch">
+ <title>SynonymSearch</title>
+ <para>
+ Searching with synonyms is integrated in the
<literal>jcr:contains()</literal> function and uses the same syntax as synonym
searches in web search engines (Google, for example). If a search term is prefixed by a
tilde symbol ( ~ ), synonyms of the search term are taken into consideration. For
example:
+ </para>
+ <programlisting>SQL: select * from nt:resource where contains(.,
'~parameter')
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-SynonymSearch">
- <title>SynonymSearch</title>
- <para>
- Searching with synonyms is integrated in the
<literal>jcr:contains()</literal> function and uses the same syntax as synonym
searches in web search engines (Google, for example). If a search term is prefixed by a
tilde symbol ( ~ ), synonyms of the search term are taken into consideration. For
example:
- </para>
-
-<programlisting>SQL: select * from nt:resource where contains(.,
'~parameter')
-
-XPath: //element(*, nt:resource)[jcr:contains(.,
'~parameter')</programlisting>
- <para>
- This feature is disabled by default and you need to add a configuration parameter to
the query-handler element in your JCR configuration file to enable it.
- </para>
-
-<programlisting language="XML" role="XML"><param
name="synonymprovider-config-path" value="..you path to configuration
file....."/>
-<param name="synonymprovider-class"
value="org.exoplatform.services.jcr.impl.core.query.lucene.PropertiesSynonymProvider"/></programlisting>
-
-<programlisting language="XML" role="XML">/**
+XPath: //element(*, nt:resource)[jcr:contains(.,
'~parameter')</programlisting>
+ <para>
+ This feature is disabled by default and you need to add a configuration parameter to
the query-handler element in your JCR configuration file to enable it.
+ </para>
+ <programlisting language="XML" role="XML"><param
name="synonymprovider-config-path" value="..you path to
configuration file....."/>
+<param name="synonymprovider-class"
value="org.exoplatform.services.jcr.impl.core.query.lucene.PropertiesSynonymProvider"/></programlisting>
+ <programlisting language="XML" role="XML">/**
* <code>SynonymProvider</code> defines an interface for a
component that
* returns synonyms for a given term.
*/
@@ -128,34 +112,29 @@
*/
public String[] getSynonyms(String term);
}</programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-Highlighting">
- <title>Highlighting</title>
- <para>
- An <literal>ExcerptProvider</literal> retrieves text excerpts for a node
in the query result and marks up the words in the text that match the query terms.
- </para>
- <para>
- By default, match highlighting is disabled because as it requires that additional
information is written to the search index.
- </para>
- <para>
- To enable this feature, you need to add a configuration parameter to the
<parameter>query-handler</parameter> element in your JCR configuration file:
- </para>
-
-<programlisting language="XML" role="XML"><param
name="support-highlighting"
value="true"/></programlisting>
- <para>
- Additionally, there is a parameter that controls the format of the excerpt created. In
JCR 1.9, the default is set to
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.DefaultHTMLExcerpt</literal>.
The configuration parameter for this setting is:
- </para>
-
-<programlisting language="XML" role="XML"><param
name="excerptprovider-class"
value="org.exoplatform.services.jcr.impl.core.query.lucene.DefaultXMLExcerpt"/></programlisting>
- <section id="sect-Reference_Guide-Highlighting-DefaultXMLExcerpt">
- <title>DefaultXMLExcerpt</title>
- <para>
- This excerpt provider creates an XML fragment of the following form:
- </para>
-
-<programlisting language="XML"
role="XML"><excerpt>
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-Highlighting">
+ <title>Highlighting</title>
+ <para>
+ An <literal>ExcerptProvider</literal> retrieves text excerpts for a node
in the query result and marks up the words in the text that match the query terms.
+ </para>
+ <para>
+ By default, match highlighting is disabled because as it requires that additional
information is written to the search index.
+ </para>
+ <para>
+ To enable this feature, you need to add a configuration parameter to the
<parameter>query-handler</parameter> element in your JCR configuration file:
+ </para>
+ <programlisting language="XML" role="XML"><param
name="support-highlighting"
value="true"/></programlisting>
+ <para>
+ Additionally, there is a parameter that controls the format of the excerpt created. In
JCR 1.9, the default is set to
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.DefaultHTMLExcerpt</literal>.
The configuration parameter for this setting is:
+ </para>
+ <programlisting language="XML" role="XML"><param
name="excerptprovider-class"
value="org.exoplatform.services.jcr.impl.core.query.lucene.DefaultXMLExcerpt"/></programlisting>
+ <section id="sect-Reference_Guide-Highlighting-DefaultXMLExcerpt">
+ <title>DefaultXMLExcerpt</title>
+ <para>
+ This excerpt provider creates an XML fragment of the following form:
+ </para>
+ <programlisting language="XML"
role="XML"><excerpt>
<fragment>
<highlight>exoplatform</highlight> implements both
the mandatory
XPath and optional SQL <highlight>query</highlight>
syntax.
@@ -165,16 +144,13 @@
<highlight>exoplatform</highlight>, the statement is
surrounded
</fragment>
</excerpt></programlisting>
-
- </section>
-
- <section id="sect-Reference_Guide-Highlighting-DefaultHTMLExcerpt">
- <title>DefaultHTMLExcerpt</title>
- <para>
- This excerpt provider creates an HTML fragment of the following form:
- </para>
-
-<programlisting language="HTML"
role="HTML"><div>
+ </section>
+ <section id="sect-Reference_Guide-Highlighting-DefaultHTMLExcerpt">
+ <title>DefaultHTMLExcerpt</title>
+ <para>
+ This excerpt provider creates an HTML fragment of the following form:
+ </para>
+ <programlisting language="HTML"
role="HTML"><div>
<span>
<strong>exoplatform</strong> implements both the
mandatory XPath
and optional SQL <strong>query</strong> syntax.
@@ -184,246 +160,206 @@
<strong>exoplatform</strong>, the statement is
surrounded
</span>
</div></programlisting>
-
- </section>
-
- <section id="sect-Reference_Guide-Highlighting-Usage">
- <title>Usage</title>
- <para>
- If you are using XPath, you must use the <code>rep:excerpt()</code>
function in the last location step, just like you would select properties:
- </para>
-
-<programlisting language="Java" role="Java">QueryManager qm =
session.getWorkspace().getQueryManager();
-Query q = qm.createQuery("//*[jcr:contains(.,
'exoplatform')]/(@Title|rep:excerpt(.))", Query.XPATH);
+ </section>
+ <section id="sect-Reference_Guide-Highlighting-Usage">
+ <title>Usage</title>
+ <para>
+ If you are using XPath, you must use the <code>rep:excerpt()</code>
function in the last location step, just like you would select properties:
+ </para>
+ <programlisting language="Java" role="Java">QueryManager
qm = session.getWorkspace().getQueryManager();
+Query q = qm.createQuery("//*[jcr:contains(.,
'exoplatform')]/(@Title|rep:excerpt(.))", Query.XPATH);
QueryResult result = q.execute();
for (RowIterator it = result.getRows(); it.hasNext(); ) {
Row r = it.nextRow();
- Value title = r.getValue("Title");
- Value excerpt = r.getValue("rep:excerpt(.)");
+ Value title = r.getValue("Title");
+ Value excerpt = r.getValue("rep:excerpt(.)");
}</programlisting>
- <para>
- The above code searches for nodes that contain the word
<emphasis>exoplatform</emphasis> and then gets the value of the
<parameter>Title</parameter> property and an excerpt for each resultant node.
- </para>
- <para>
- It is also possible to use a relative path in the call
<code>Row.getValue()</code> while the query statement still remains the same.
Also, you may use a relative path to a string property. The returned value will then be an
excerpt based on string value of the property.
- </para>
- <para>
- Both available excerpt providers will create fragments of about 150 characters and up
to three fragments.
- </para>
- <para>
- In SQL, the function is called <code>excerpt()</code> without the rep
prefix, but the column in the <literal>RowIterator</literal> will nonetheless
be labelled <code>rep:excerpt(.)</code>.
- </para>
-
-<programlisting language="Java" role="Java">QueryManager qm =
session.getWorkspace().getQueryManager();
-Query q = qm.createQuery("select excerpt(.) from nt:resource where contains(.,
'exoplatform')", Query.SQL);
+ <para>
+ The above code searches for nodes that contain the word
<emphasis>exoplatform</emphasis> and then gets the value of the
<parameter>Title</parameter> property and an excerpt for each resultant node.
+ </para>
+ <para>
+ It is also possible to use a relative path in the call
<code>Row.getValue()</code> while the query statement still remains the same.
Also, you may use a relative path to a string property. The returned value will then be an
excerpt based on string value of the property.
+ </para>
+ <para>
+ Both available excerpt providers will create fragments of about 150 characters and up
to three fragments.
+ </para>
+ <para>
+ In SQL, the function is called <code>excerpt()</code> without the rep
prefix, but the column in the <literal>RowIterator</literal> will nonetheless
be labelled <code>rep:excerpt(.)</code>.
+ </para>
+ <programlisting language="Java" role="Java">QueryManager
qm = session.getWorkspace().getQueryManager();
+Query q = qm.createQuery("select excerpt(.) from nt:resource where contains(.,
'exoplatform')", Query.SQL);
QueryResult result = q.execute();
for (RowIterator it = result.getRows(); it.hasNext(); ) {
Row r = it.nextRow();
- Value excerpt = r.getValue("rep:excerpt(.)");
+ Value excerpt = r.getValue("rep:excerpt(.)");
}</programlisting>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-SpellChecker">
- <title>SpellChecker</title>
- <para>
- The lucene based query handler implementation supports a pluggable spell-checker
mechanism. By default, spell checking is not available, it must be configured first.
- </para>
- <para>
- Information about the <parameter>spellCheckerClass</parameter> parameter
is available in <xref linkend="chap-Reference_Guide-Search_Configuration"
/>.
- </para>
- <para>
- The JCR currently provides an implementation class which uses the <ulink
url="http://wiki.apache.org/jakarta-lucene/SpellChecker">luc...;.
- </para>
- <para>
- The dictionary is derived from the fulltext, indexed content of the workspace and
updated periodically. You can configure the refresh interval by picking one of the
available inner classes of
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker</literal>:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <literal>OneMinuteRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>FiveMinutesRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>ThirtyMinutesRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>OneHourRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>SixHoursRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>TwelveHoursRefreshInterval</literal>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <literal>OneDayRefreshInterval</literal>
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- For example, if you want a refresh interval of six hours, the class name would be;
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker$SixHoursRefreshInterval</literal>.
- </para>
- <para>
- If you use
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker</literal>,
the refresh interval will be one hour.
- </para>
- <para>
- The spell checker dictionary is stored as a lucene index under
<filename><index-dir>/spellchecker</filename>. If this index
does not exist, a background thread will create it on start up. Similarly, the dictionary
refresh is also done in a background thread so as not to block regular queries.
- </para>
- <section id="sect-Reference_Guide-SpellChecker-Usage">
- <title>Usage</title>
- <para>
- You can spell check a fulltext statement either with an XPath or a SQL query:
- </para>
-
-<programlisting language="Java" role="Java">//
rep:spellcheck('explatform') will always evaluate to true
-Query query =
qm.createQuery("/jcr:root[rep:spellcheck('explatform')]/(rep:spellcheck())",
Query.XPATH);
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-SpellChecker">
+ <title>SpellChecker</title>
+ <para>
+ The lucene based query handler implementation supports a pluggable spell-checker
mechanism. By default, spell checking is not available, it must be configured first.
+ </para>
+ <para>
+ Information about the <parameter>spellCheckerClass</parameter> parameter
is available in <xref
linkend="chap-Reference_Guide-Search_Configuration"/>.
+ </para>
+ <para>
+ The JCR currently provides an implementation class which uses the <ulink
url="http://wiki.apache.org/jakarta-lucene/SpellChecker">luc...;.
+ </para>
+ <para>
+ The dictionary is derived from the fulltext, indexed content of the workspace and
updated periodically. You can configure the refresh interval by picking one of the
available inner classes of
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker</literal>:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>OneMinuteRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>FiveMinutesRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>ThirtyMinutesRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>OneHourRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>SixHoursRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>TwelveHoursRefreshInterval</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>OneDayRefreshInterval</literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ For example, if you want a refresh interval of six hours, the class name would be;
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker$SixHoursRefreshInterval</literal>.
+ </para>
+ <para>
+ If you use
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker</literal>,
the refresh interval will be one hour.
+ </para>
+ <para>
+ The spell checker dictionary is stored as a lucene index under
<filename><index-dir>/spellchecker</filename>. If this index
does not exist, a background thread will create it on start up. Similarly, the dictionary
refresh is also done in a background thread so as not to block regular queries.
+ </para>
+ <section id="sect-Reference_Guide-SpellChecker-Usage">
+ <title>Usage</title>
+ <para>
+ You can spell check a fulltext statement either with an XPath or a SQL query:
+ </para>
+ <programlisting language="Java" role="Java">//
rep:spellcheck('explatform') will always evaluate to true
+Query query =
qm.createQuery("/jcr:root[rep:spellcheck('explatform')]/(rep:spellcheck())",
Query.XPATH);
RowIterator rows = query.execute().getRows();
// the above query will always return the root node no matter what string we check
Row r = rows.nextRow();
// get the result of the spell checking
-Value v = r.getValue("rep:spellcheck()");
+Value v = r.getValue("rep:spellcheck()");
if (v == null) {
// no suggestion returned, the spelling is correct or the spell checker
// does not know how to correct it.
} else {
String suggestion = v.getString();
}</programlisting>
- <para>
- And the same using SQL:
- </para>
-
-<programlisting language="Java" role="Java">//
SPELLCHECK('exoplatform') will always evaluate to true
-Query query = qm.createQuery("SELECT rep:spellcheck() FROM nt:base WHERE jcr:path =
'/' AND SPELLCHECK('explatform')", Query.SQL);
+ <para>
+ And the same using SQL:
+ </para>
+ <programlisting language="Java" role="Java">//
SPELLCHECK('exoplatform') will always evaluate to true
+Query query = qm.createQuery("SELECT rep:spellcheck() FROM nt:base WHERE
jcr:path = '/' AND SPELLCHECK('explatform')",
Query.SQL);
RowIterator rows = query.execute().getRows();
// the above query will always return the root node no matter what string we check
Row r = rows.nextRow();
// get the result of the spell checking
-Value v = r.getValue("rep:spellcheck()");
+Value v = r.getValue("rep:spellcheck()");
if (v == null) {
// no suggestion returned, the spelling is correct or the spell checker
// does not know how to correct it.
} else {
String suggestion = v.getString();
}</programlisting>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Searching_Repository_Content-Similarity">
- <title>Similarity</title>
- <para>
- Starting with version, 1.12 JCR allows you to search for nodes that are similar to an
existing node.
- </para>
- <para>
- Similarity is determined by looking up terms that are common to nodes. There are some
conditions that must be met for a term to be considered. This is required to limit the
number possibly relevant terms.
- </para>
- <para>
- To be considered, terms must:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Be at least four characters long.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Occur at least twice in the source node.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Occur in at least five other nodes.
- </para>
-
- </listitem>
-
- </itemizedlist>
- <note>
- <title>Note</title>
- <para>
- The similarity function requires that the support Hightlighting is enabled. Please
make sure that you have the following parameter set for the query handler in your
<filename>workspace.xml</filename>.
- </para>
-
-<programlisting language="XML" role="XML"><param
name="support-highlighting"
value="true"/></programlisting>
-
- </note>
- <para>
- The functions (<code>rep:similar()</code> in XPath and
<code>similar()</code> in SQL) have two arguments:
- </para>
- <variablelist>
- <title></title>
- <varlistentry>
- <term>relativePath</term>
- <listitem>
- <para>
- A relative path to a descendant node or a period (<literal>.</literal>)
for the current node.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>absoluteStringPath</term>
- <listitem>
- <para>
- A string literal that contains the path to the node for which to find similar
nodes.
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
- <warning>
- <title>Warning</title>
- <para>
- Relative path is not supported yet.
- </para>
-
- </warning>
- <example id="exam-Reference_Guide-Similarity-Example">
- <title>Example</title>
-
-<programlisting>//element(*, nt:resource)[rep:similar(.,
'/parentnode/node.txt/jcr:content')]</programlisting>
- <para>
- Finds <literal>nt:resource</literal> nodes, which are similar to node by
path <filename>/parentnode/node.txt/jcr:content</filename>.
- </para>
-
- </example>
-
- </section>
-
-
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Searching_Repository_Content-Similarity">
+ <title>Similarity</title>
+ <para>
+ Starting with version, 1.12 JCR allows you to search for nodes that are similar to an
existing node.
+ </para>
+ <para>
+ Similarity is determined by looking up terms that are common to nodes. There are some
conditions that must be met for a term to be considered. This is required to limit the
number possibly relevant terms.
+ </para>
+ <para>
+ To be considered, terms must:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Be at least four characters long.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Occur at least twice in the source node.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Occur in at least five other nodes.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <note>
+ <title>Note</title>
+ <para>
+ The similarity function requires that the support Hightlighting is enabled. Please
make sure that you have the following parameter set for the query handler in your
<filename>workspace.xml</filename>.
+ </para>
+ <programlisting language="XML" role="XML"><param
name="support-highlighting"
value="true"/></programlisting>
+ </note>
+ <para>
+ The functions (<code>rep:similar()</code> in XPath and
<code>similar()</code> in SQL) have two arguments:
+ </para>
+ <variablelist>
+ <title/>
+ <varlistentry>
+ <term>relativePath</term>
+ <listitem>
+ <para>
+ A relative path to a descendant node or a period (<literal>.</literal>)
for the current node.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>absoluteStringPath</term>
+ <listitem>
+ <para>
+ A string literal that contains the path to the node for which to find similar
nodes.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <warning>
+ <title>Warning</title>
+ <para>
+ Relative path is not supported yet.
+ </para>
+ </warning>
+ <example id="exam-Reference_Guide-Similarity-Example">
+ <title>Example</title>
+ <programlisting>//element(*, nt:resource)[rep:similar(.,
'/parentnode/node.txt/jcr:content')]</programlisting>
+ <para>
+ Finds <literal>nt:resource</literal> nodes, which are similar to node by
path <filename>/parentnode/node.txt/jcr:content</filename>.
+ </para>
+ </example>
+ </section>
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml 2012-07-09
00:39:39 UTC (rev 8778)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml 2012-07-09
04:34:49 UTC (rev 8779)
@@ -10,7 +10,7 @@
<section
id="sect-Reference_Guide-Configurations_Steps-Declaring_the_datasources_in_the_AS">
<title>Declaring the datasources in the AS</title>
<para>
- To declare the datasources using a JBoss application server, deploy a
<literal>ds</literal> file
(<filename><replaceable>XXX</replaceable>-ds.xml</filename>) into
the <emphasis>deploy</emphasis> directory of the appropriate server profile
(<filename>\server\<replaceable><PROFILE></replaceable>\deploy</filename>,
for example).
+ To declare the datasources using a JBoss application server, deploy a
<literal>ds</literal> file
(<filename><replaceable>XXX</replaceable>-ds.xml</filename>) into
the <emphasis>deploy</emphasis> directory of the appropriate server profile
(<filename>/server/<replaceable>PROFILE</replaceable>/deploy</filename>,
for example).
</para>
<para>
This file configures all datasources which JBoss Enterprise Portal Platform will need
(there should be four specifically named: <emphasis>jdbcjcr_portal</emphasis>,
<emphasis>jdbcjcr_portal-sample</emphasis>,
<emphasis>jdbcidm_portal</emphasis> and
<emphasis>jdbcidm_sample-portal</emphasis>).
@@ -59,7 +59,7 @@
<section
id="sect-Reference_Guide-Configurations_Steps-Do_not_bind_datasources_explicitly">
<title>Do not bind datasources explicitly</title>
<para>
- Do not let the portal explicitly bind datasources. Edit the
<filename><replaceable><JBOSS_HOME></replaceable>/server/<replaceable><PROFILE></replaceable>/conf/gatein/configuration.properties</filename>
and comment out the following rows in the JCR section:
+ Do not let the portal explicitly bind datasources. Edit the
<filename><replaceable>EPP_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/conf/gatein/configuration.properties</filename>
and comment out the following rows in the JCR section:
</para>
<programlisting>#gatein.jcr.datasource.driver=org.hsqldb.jdbcDriver
#gatein.jcr.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcjcr_${name}