Author: jaredmorgs
Date: 2012-11-18 19:47:09 -0500 (Sun, 18 Nov 2012)
New Revision: 8965
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/Reference_Guide.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR.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/external-value-storages.xml
Log:
BZ#877827 - Removed Chapters not required in JCR section, as confirmed in BZ comments from
eXo lead
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/Reference_Guide.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/Reference_Guide.xml 2012-11-15 15:45:31
UTC (rev 8964)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/Reference_Guide.xml 2012-11-19 00:47:09
UTC (rev 8965)
@@ -9,8 +9,7 @@
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/Introduction.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/PortalDevelopment.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/PortletDevelopment.xml"/>
-<!-- <xi:include href="modules/GadgetDevelopment.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/AuthenticationAndIdentity.xml"/>
+<!-- <xi:include href="modules/GadgetDevelopment.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/AuthenticationAndIdentity.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/WSRP.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/Advanced.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="modules/eXoJCR.xml"/>
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-11-15
15:45:31 UTC (rev 8964)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2012-11-19
00:47:09 UTC (rev 8965)
@@ -973,6 +973,300 @@
</para>
</section>
</section>
+<!--BZ#862935 - Added OpenAM section, but needs more work before next GA.-->
<section>
+ <title>OpenAM</title>
+ <para>
+ This section details setting up an OpenAM server to authenticate against the
JBoss Enterprise Portal Platform login module.
+ </para>
+ <procedure id="proc-Reference_Guide-OpenSSO-Obtaining_OpenSSO_1">
+ <title>Obtaining OpenAM</title>
+ <step>
+ <para>
+Visit <ulink
url="http://forgerock.org/openam.html"
type="http">ForgeRock's OpenAM downloads page </ulink> and
download the OpenAM WAR.
+ </para>
+ <para>Download the latest stable version. </para>
+ </step>
+ <step>
+ <para>Copy the WAR to the <remark><SOMEWHERE YET TO BE
DETERMINED></remark>.
+ </para>
+ </step>
+ </procedure>
+ <section
id="sect-Reference_Guide-SSO_Single_Sign_On_-Modifying_the_OpenSSO_server_1">
+ <title>Modifying the OpenAM server</title>
+ <para>
+ To configure the web server as required, it is simpler to directly modify the
source files.
+ </para>
+ <para>
+ The first step is to add the JBoss Enterprise Portal Platform Authentication
Plugin.
+ </para>
+ <para>
+ The plug-in makes secure callbacks to a RESTful service installed on the
remote JBoss Enterprise Portal Platform server to authenticate a user.
+ </para>
+ <para>
+ In order for the plug-in to function correctly, it needs to be properly
configured to connect to this service. This configuration is done via the
<filename>opensso.war/config/auth/default/AuthenticationPlugin.xml</filename>
file.
+ </para>
+ <procedure
id="proc-Reference_Guide-Modifying_the_OpenSSO_server-Modifying_OpenSSO_server_1">
+ <title>Modifying OpenAM server</title>
+ <step>
+ <para>
+ Obtain a copy of Tomcat and extract it into a suitable location. This
location will be referred to as <filename>TOMCAT_HOME</filename> in this
example.
+ </para>
+ </step>
+ <step>
+ <para>
+ Edit <filename>TOMCAT_HOME/conf/server.xml</filename> and
change the 8080 port to 8888 to avoid a conflict with the default JBoss Enterprise Portal
Platform port.
+ <note>
+ <para>
+ If JBoss Enterprise Portal Platform is running on the same
machine as Tomcat, other ports need to be changed in addition to 8080 in order to avoid
port conflicts. They can be changed to any free port. For example, you can change the
admin port from 8005 to 8805 and the AJP port from 8009 to 8809.
+ </para>
+ </note>
+
+ </para>
+ </step>
+ <step>
+ <para>
+ Ensure the
<filename>TOMCAT_HOME/webapps/opensso/config/auth/default/AuthenticationPlugin.xml</filename>
file matches the following:
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default117.xml"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
+ Copy the following files into the Tomcat directory at
<filename>TOMCAT_HOME/webapps/opensso/WEB-INF/lib</filename>:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/sso-opensso-plugin-<replaceable>VERSION</replaceable>.jar</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/commons-httpclient-<replaceable>VERSION</replaceable>.jar</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/commons-logging-<replaceable>VERSION</replaceable>.jar</filename>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
+ Copy the
<filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/classes/gatein.properties</filename>
file into the <filename>TOMCAT_HOME/webapps/opensso/WEB-INF/classes</filename>
directory.
+ </para>
+ </step>
+ <step>
+ <para>
+ Tomcat should start and be able to access <ulink
url="http://localhost:8888/opensso/UI/Login?realm=gatein"
type="http">
http://localhost:8888/opensso/UI/Login?realm=gatein
</ulink> .
+ </para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata width="444" align="center"
scale="110"
fileref="images/AuthenticationAndIdentity/SSO/opensso-shot.png"
format="PNG"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata width="444" contentwidth="150mm"
align="center"
fileref="images/AuthenticationAndIdentity/SSO/opensso-shot.png"
format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ <note>
+ <para>
+ Login will not be available at this point.
+ </para>
+ </note>
+ </step>
+ </procedure>
+ <procedure
id="proc-Reference_Guide-Modifying_the_OpenSSO_server-Configure_the_gatein_realm_1">
+ <title>Configure the "gatein" realm</title>
+ <step>
+ <para>
+ Direct your browser to <ulink
url="http://localhost:8888/opensso" type="http">
http://localhost:8888/opensso </ulink>
+ </para>
+ </step>
+ <step>
+ <para>
+ Create a default configuration.
+ </para>
+ </step>
+ <step>
+ <para>
+ Login as <literal>amadmin</literal>.
+ </para>
+ <important>
+ <para>
+ Go to <menuchoice>
+ <guimenu>Configuration</guimenu>
+ <guimenuitem> Authentication </guimenuitem>
+ </menuchoice> and follow the link to
<guilabel>Core</guilabel>
+ </para>
+ <para>
+ Add a new value with the class name
<literal>org.gatein.sso.opensso.plugin.AuthenticationPlugin</literal>.
+ </para>
+ <para>
+ If this is not done
<literal>AuthenticationPlugin</literal> is not available among other OpenSSO
authentication modules.
+ </para>
+ </important>
+ </step>
+ <step>
+ <para>
+ Go to the <guilabel>Access control</guilabel> tab and
create new realm called <literal>gatein</literal>.
+ </para>
+ </step>
+ <step>
+ <substeps>
+ <step>
+ <para>
+ Go to the new <literal>gatein</literal> realm and
click on the <guilabel>Authentication</guilabel> tab.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on <guilabel>LDAPService</guilabel> (at the
bottom in the <guilabel>Authentication chaining</guilabel> section).
+ </para>
+ </step>
+ <step>
+ <para>
+ Change the selection from
<literal>Datastore</literal>, which is the default module in the
authentication chain, to <literal>AuthenticationPlugin</literal>.
+ </para>
+ </step>
+ </substeps>
+ <para>
+ These changes enable authentication of the
<literal>gatein</literal> realm using the <literal>GateIn
REST</literal> service instead of the OpenSSO LDAP server.
+ </para>
+ </step>
+ <step>
+ <para>
+ Go to <guilabel>Advanced properties</guilabel> and change
<literal>UserProfile</literal> from
<parameter>Required</parameter> to <parameter>Dynamic</parameter>
to ensure all new users are automatically created in the OpenSSO datastore after
successful authentication.
+ </para>
+ </step>
+ <step>
+ <para>
+ Increase the user privileges to allow REST access with the following
procedure:
+ </para>
+ <substeps>
+ <step>
+ <para>
+ Go to <menuchoice>
+ <guimenu>Access control</guimenu>
+ <guimenuitem> Top level realm </guimenuitem>
+ <guimenuitem> Privileges </guimenuitem>
+ <guimenuitem> All authenticated users </guimenuitem>
+ </menuchoice>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Check the last two checkboxes:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Read and write access only for policy properties
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Read and write access to all realm and policy
properties
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ </substeps>
+ </step>
+ <step>
+ <para>
+ Repeat step 7 for the
'<literal>gatein</literal>' realm as well.
+ </para>
+ </step>
+ </procedure>
+ </section>
+ <section
id="sect-Reference_Guide-SSO_Single_Sign_On_-Setup_the_OpenSSO_Client_1">
+ <title>Setup the OpenSSO Client</title>
+ <procedure
id="proc-Reference_Guide-Setup_the_OpenSSO_Client-Setup_the_OpenSSO_client_1">
+ <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><replaceable>EPP_DIST</replaceable>/jboss-as/server/default/deploy/gatein.ear/lib</filename>
directory.
+ </para>
+ <para>
+ Alternatively, in a Tomcat environment, copy the libraries into the
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/ibib</filename>
directory.
+ </para>
+ </step>
+ <step>
+ <para>
+ Edit the
<filename><replaceable>EPP_DIST</replaceable>/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>
+<!-- Removed as per
https://issues.jboss.org/browse/JBEPP-1350
+ <step>
+ <para>
+ If you are running the product in Tomcat, edit
<replaceable><JBOSS_HOME></replaceable>/conf/jaas.conf,
uncomment the following section and comment all other sections:
+ </para>
+<programlisting>org.gatein.sso.agent.login.SSOLoginModule required;
+org.exoplatform.services.security.j2ee.TomcatLoginModule required
+portalContainerName=portal
+realmName=gatein-domain;
+</programlisting>
+ </step>
+ --> <step>
+ <para>
+ Test the installation:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Access JBoss Enterprise Portal Platform by going to <ulink
url="http://localhost:8888/opensso/UI/Login?realm=gatein"
type="http">
http://localhost:8888/opensso/UI/Login?realm=gatein
</ulink> (assuming that the OpenSSO server using Tomcat is still running).
+ </para>
+ </step>
+ <step>
+ <para>
+ Login with the username <literal>root</literal>
and the password <literal>gtn</literal> or any account created through the
portal.
+ </para>
+ </step>
+ </procedure>
+ </step>
+ </procedure>
+ </section>
+ <section
id="sect-Reference_Guide-SSO_Single_Sign_On_-Setup_the_portal_to_redirect_to_OpenSSO_1">
+ <title>Setup the portal to redirect to OpenSSO</title>
+ <para>
+ The next part of the process is to redirect all user authentication to the
OpenSSO server.
+ </para>
+ <para>
+ Information about where the OpenSSO server is hosted must be properly
configured within the Enterprise Portal Platform instance. The required configuration is
done by modifying three files:
+ </para>
+ <procedure
id="proc-Reference_Guide-Setup_the_portal_to_redirect_to_OpenSSO-Setup_the_portal_to_redirect_to_OpenSSO_1">
+ <title>Setup the portal to redirect to OpenSSO</title>
+ <step>
+ <para>
+ Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/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>
+ <step>
+ <para>
+ Modify the '<emphasis role="bold">Sign
In</emphasis>' link in the
<filename>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/default120.xml"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
+ Replace the entire contents of
<filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> with:
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default121.xml"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
+ Add the following Filters to the top of the filter chain in
<filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../extras/Authentication_Identity_SSO/default122.xml"
parse="text"/></programlisting>
+ </step>
+ </procedure>
+ <para>
+ From now on, all links redirecting to the user authentication pages will
redirect to the OpenSSO centralized authentication form.
+ </para>
+ </section>
+ </section>
<section
id="sect-Reference_Guide-SSO_Single_Sign_On_-SPNEGO_Simple_and_Protected_GSSAPI_Negotiation_Mechanism">
<title>Simple and Protected GSSAPI Negotiation Mechanism
(SPNEGO)</title>
<para>
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-11-15
15:45:31 UTC (rev 8964)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cluster-config.xml 2012-11-19
00:47:09 UTC (rev 8965)
@@ -4,89 +4,105 @@
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Cluster_Configuration">
- <title>Configuring Cluster</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/>
- <step>
- <para>
- Download the latest version of eXo JCR
<filename>.ear</filename> file distribution.
+ <title><remark>BZ#841259 </remark>Configuring Cluster</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>
- </step>
- <step>
- <para>
- Copy the file into
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/server/<replaceable>PROFILE</replaceable>/deploy</filename>
directory.
+ </listitem>
+ <listitem>
+ <para>
+ Every node of cluster <emphasis
role="bold">must</emphasis> use the same database.
</para>
- </step>
- <step>
- <para>
- Drop <filename>exo-configuration.xml</filename> into
your root
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/</filename>
directory.
+ </listitem>
+ <listitem>
+ <para>
+ The same Clusters on different nodes <emphasis
role="bold">must</emphasis> have the same names.
</para>
- </step>
- <step>
+ <example
id="exam-Reference_Guide-Environment_requirements-Example">
+ <title>Example</title>
<para>
- Configure JAAS by inserting the XML fragment shown below into
<filename><replaceable>EPP_DIST</replaceable>/jboss-as/server/<replaceable>PROFILE</replaceable>/conf/login-config.xml</filename>
- </para>
- <programlisting language="XML"
role="XML"><application-policy
name="exo-domain">
- <authentication>
- <login-module
code="org.exoplatform.services.security.j2ee.JbossLoginModule"
flag="required"></login-module>
- </authentication>
-</application-policy></programlisting>
- </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>
-
<key>org.jboss.cache.transaction.TransactionManagerLookup</key>
-
<type>org.jboss.cache.GenericTransactionManagerLookup</type>^
-</component>
-
-<component>
-
<key>org.exoplatform.services.transaction.TransactionService</key>
-
<type>org.exoplatform.services.transaction.jbosscache.JBossTransactionsService</type>
- <init-params>
- <value-param>
- <name>timeout</name>
- <value>300</value>
- </value-param>
- </init-params>
-</component></programlisting>
- </step>
- <step>
- <para>
- Start server:
- </para>
- <para>
- In Linux systems:
- </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
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>
+ 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>
+ 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">
+ <properties>
+ <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" />
+ </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">
+ <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" />
+ </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">
+ <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" />
+ </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">
+ <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="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>
+ <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>
<example>
@@ -155,7 +171,7 @@
<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>
@@ -166,101 +182,7 @@
</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>
- 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>
- Every node of cluster <emphasis
role="bold">must</emphasis> use the same database.
- </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>
- 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>
- 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">
- <properties>
- <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" />
- </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">
- <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" />
- </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">
- <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" />
- </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">
- <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="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>
- </section>
</chapter>
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/external-value-storages.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/external-value-storages.xml 2012-11-15
15:45:31 UTC (rev 8964)
+++
epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configuration/external-value-storages.xml 2012-11-19
00:47:09 UTC (rev 8965)
@@ -1,202 +1,76 @@
-<?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-External_Value_Storages">
- <title>External Value Storages</title>
- <section
id="sect-Reference_Guide-External_Value_Storages-Introduction">
- <title>Introduction</title>
- <para>
+ <title>External Value Storages</title>
+ <section
id="sect-Reference_Guide-External_Value_Storages-Introduction">
+ <title>Introduction</title>
+ <para>
JCR values are stored in the Workspace Data container by default. The eXo JCR
offers an additional option of storing JCR values separately from the Workspace Data
container which can help keep Binary Large Objects (BLOBs) separate.
</para>
- <!-- <para>
+<!-- <para>
Value storage configuration is a part of the repository configuration. Refer
to <xref
linkend="sect-Reference_Guide-JCR_configuration-Example_of_the_portal_system_workspace"
/> for more details.
- </para> --> <para>
+ </para> --> <para>
Tree-based storage is recommended in most cases.
</para>
- <!-- Not sure this is necessary
+<!-- Not sure this is necessary
<para>
If you run an application on Amazon EC2 - the S3 option may be interesting for
architecture. Simple 'flat' storage is good in speed of creation/deletion of
values, it might be a compromise for a small storages.
-</para> -->
- </section>
-
- <section
id="sect-Reference_Guide-External_Value_Storages-Tree_File_Value_Storage">
- <title>Tree File Value Storage</title>
- <para>
+</para> --> </section>
+ <section
id="sect-Reference_Guide-External_Value_Storages-Tree_File_Value_Storage">
+ <title>Tree File Value Storage</title>
+ <para>
Tree File Value Storage holds values in tree-like file system files.
<property>Path</property> property points to the root directory to store the
files.
</para>
- <para>
+ <para>
This is a recommended type of external storage because it can contain large
amount of files limited only by disk/volume free space.
</para>
- <para>
+ <para>
However, using Tree File Value Storage can result in a higher time on value
deletion, due to the removal of unused tree-nodes.
</para>
-<example>
-<title>Tree File Value Storage Configuration</title>
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default25.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
+ <example>
+ <title>Tree File Value Storage Configuration</title>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default25.xml"
parse="text"/></programlisting>
+ <para>
Comment #1: The <emphasis
role="bold">id</emphasis> is the value storage unique identifier, used
for linking with properties stored in a workspace container.
</para>
- <para>
+ <para>
Comment #2: the <emphasis
role="bold">path</emphasis> is a location where value files will be
stored.
</para>
-</example>
- <para>
+ </example>
+ <para>
Each file value storage can have the <function>filters</function>
for incoming values. A filter can match values by
<property>property-type</property>,
<property>property-name</property>,
<property>ancestor-path</property>. It can also match the size of values
stored (<property>min-value-size</property>) in bytes.
</para>
- <para>
+ <para>
In the previous example a filter with
<property>property-type</property> and
<property>min-value-size</property> has been used. This results in storage for
binary values with size greater of 1MB.
</para>
- <para>
+ <para>
It is recommended that properties with large values are stored in file value
storage only.
</para>
- <para>
+ <para>
The example below shows a value storage with different locations for large
files (<property>min-value-size</property> a 20Mb-sized filter).
</para>
- <para>
+ <para>
A value storage uses ORed logic in the process of filter selection. This
means the first filter in the list will be called first and if it is not matched the next
will be called, and so on.
</para>
- <para>
- In this example a value matches the 20MB filter
<property>min-value-size</property> and will be stored in the path
"<literal>data/20Mvalues</literal>". All other filters will be
stored in "<literal>data/values</literal>".
+ <para>
+ In this example a value matches the 20MB filter
<property>min-value-size</property> and will be stored in the path
"<literal>data/20Mvalues</literal>". All other filters will
be stored in "<literal>data/values</literal>".
</para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default26.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <!-- <section
id="sect-Reference_Guide-External_Value_Storages-Simple_File_Value_Storage">
-<title>Simple File Value Storage</title>
-<note>
-<para>
-Not recommended to use in production due to low capacity capabilities on most file
systems.
-</para>
-<para>
-But if you're sure in your file-system or data amount is small it may be useful for
you as haves a faster speed of Value removal.
-</para>
-</note>
-<para>
-Holds Values in flat file system files. <property>path</property> property
points to root directory in order to store files
-</para>
-<programlisting language="Java" role="Java"><xi:include
parse="text"
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default27.java"
xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<programlisting><value-storage id="Storage #1"
class="org.exoplatform.services.jcr.impl.storage.value.fs.SimpleFileValueStorage">
-<properties>
-<property name="path" value="data/values"/>
-</properties>
-<filters>
-<filter property-type="Binary" min-value-size="1M"/>
-</filters>
-</programlisting>
-</section> --> <section
id="sect-Reference_Guide-External_Value_Storages-Content_Addressable_Value_storage_CAS_support">
- <title>Content Addressable Value storage (CAS) support</title>
- <para>
- eXo JCR supports the <phrase>Content-addressable storage</phrase>
feature for <phrase>values</phrase> storing.
- </para>
- <para>
- Content-addressable storage, also referred to as associative storage and
abbreviated as <emphasis role="bold">CAS</emphasis>, is a mechanism
for storing information that can be retrieved based on its content, not its storage
location.
- </para>
- <para>
- It is typically used for high-speed storage and retrieval of fixed content,
such as documents stored for compliance with government regulations.
- </para>
- <para>
- Content-addressable value storage stores unique content once. Different
properties (values) with same content will be stored as one data file shared between those
values. We can tell the value content will be shared across some values in storage and
will be stored in one physical file.
- </para>
- <para>
- Storage size will be decreased for applications which govern potentially same
data in the content.
- </para>
- <para>
- As an example; if 100 different properties contain the same data (mail
attachments for example) the storage stores only one single file. The file will be shared
with all referencing properties.
- </para>
- <para>
- If a property value changes it is stored in an additional file. Alternatively
the file is shared with other values, pointing to the same content.
- </para>
- <para>
- The storage calculates value content address each time the property was
changed. CAS write operations are more expensive compared to the non-CAS storages.
- </para>
- <para>
- Content address calculation is based on
<literal>java.security.MessageDigest</literal> hash computation and has been
tested with MD5 and SHA1 algorithms.
- </para>
- <note>
- <para>
- CAS storage works most efficiently on data that does not change often.
For data that changes frequently CAS is not as efficient as location-based addressing.
- </para>
-
- </note>
- <para>
- CAS support can be enabled for <phrase>Tree</phrase> and
<phrase>Simple File Value Storage</phrase> types.
- </para>
- <para>
- To enable CAS support just configure it in the JCR Repositories configuration
with other Value Storages.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default28.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <variablelist
id="vari-Reference_Guide-Content_Addressable_Value_storage_CAS_support-CAS_Properties">
- <title>CAS Properties</title>
- <varlistentry>
- <term>digest-algo</term>
- <listitem>
- <para>
- Digest hash algorithm (MD5 and SHA1 were tested).
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>vcas-type</term>
- <listitem>
- <para>
- Value CAS internal data type, JDBC backed is currently
implemented:
- </para>
- <para>
-
<literal>org.exoplatform.services.jcr.impl.storage.value.cas.JDBCValueContentAddressStorageImpl</literal>
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>jdbc-source-name</term>
- <listitem>
- <para>
- A
<literal>JDBCValueContentAddressStorageImpl</literal> specific parameter, a
database will be used to save CAS metadata.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>jdbc-dialect</term>
- <listitem>
- <para>
- A
<literal>DBCValueContentAddressStorageImpl</literal> specific parameter
defining database dialect.
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
- </section>
-
- <section
id="sect-Reference_Guide-External_Value_Storages-Disabling_value_storage">
- <title>Disabling value storage</title>
- <para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../../extras/Advanced_Development_JCR_external-value-storages/default26.xml"
parse="text"/></programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-External_Value_Storages-Disabling_value_storage">
+ <title>Disabling value storage</title>
+ <para>
The JCR allows you to disable value storage by adding the following property
into its configuration.
</para>
-
-<programlisting language="XML"><property name="enabled"
value="false" /></programlisting>
- <warning>
- <title>Warning</title>
- <para>
+ <programlisting language="XML"><property
name="enabled" value="false"
/></programlisting>
+ <warning>
+ <title>Warning</title>
+ <para>
It is recommended that this functionality be used for internal and
testing purpose only, and with caution, as all stored values will be inaccessible.
</para>
-
- </warning>
-
- </section>
-
-
+ </warning>
+ </section>
</chapter>
-
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR.xml 2012-11-15 15:45:31 UTC
(rev 8964)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR.xml 2012-11-19 00:47:09 UTC
(rev 8965)
@@ -1,132 +1,35 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE part 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;
]>
- <part id="part-Reference_Guide-The_Java_Content_Repository_">
- <title>The Java Content Repository</title>
- <!-- <xi:include href="eXoJCR/eXoJCR/jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- <xi:include href="eXoJCR/jcr/intro.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!--concepts -->
- <!--<xi:include href="eXoJCR/jcr/concepts/why-jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- <xi:include href="eXoJCR/jcr/concepts/jcr-exo-implementation.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!--<xi:include href="eXoJCR/jcr/concepts/jcr-advantages.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!--<xi:include
href="eXoJCR/jcr/concepts/jcr-compatibility-levels.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!--<xi:include href="eXoJCR/jcr/concepts/jcr-usage.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!-- <xi:include href="eXoJCR/jcr/concepts/jcr-extensions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- <!--<xi:include href="eXoJCR/jcr/concepts/jcr-applications.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!--<xi:include
href="eXoJCR/jcr/concepts/nodetypes-and-namespaces.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!--<xi:include
href="eXoJCR/jcr/concepts/nodetype-registration.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!-- <xi:include
href="eXoJCR/jcr/concepts/jcr-registry-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
- <!--<xi:include
href="eXoJCR/jcr/concepts/jcr-namespace-altering.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <!-- common configs -->
- <xi:include href="eXoJCR/jcr/configuration/exo-jcr-configuration.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/configuration/multilanguage-support.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/configuration/search-configuration.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <!-- <xi:include
href="eXoJCR/jcr/configuration/configuration-persister.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <xi:include
href="eXoJCR/jcr/configuration/jdbc-data-container-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include
href="eXoJCR/jcr/configuration/external-value-storages.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include
href="eXoJCR/jcr/configuration/workspace-persistence-storage.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include
href="eXoJCR/jcr/configuration/rest-services-on-groovy.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
- <!-- cluster configs -->
- <xi:include href="eXoJCR/jcr/cluster-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/jbosscache-configuration-templates.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/lock-manager-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/query-handler-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/jbossts-transaction-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/transaction-manager-lookup.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/repository-creation-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-
- <!-- search -->
- <xi:include href="eXoJCR/jcr/searching/jcr-query-usecases.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include
href="eXoJCR/jcr/searching/searching-repository-content.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include
href="eXoJCR/jcr/searching/fulltext-search-and-settings.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-
- <!-- api extensions -->
- <!--<xi:include href="eXoJCR/jcr/api-extensions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
-
-
- <!-- protocols -->
- <xi:include href="eXoJCR/jcr/protocols/webdav.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/protocols/ftp.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-
- <!-- backup -->
-<!-- <xi:include href="eXoJCR/jcr/backup/exojcr-backup-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
-
-<!-- <xi:include href="eXoJCR/jcr/backup/backup-client.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
-
- <xi:include href="eXoJCR/jcr/backup/use-external-backup-tool.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
- <!-- other -->
- <xi:include href="eXoJCR/jcr/statistics.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="eXoJCR/jcr/repository-check-controller.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <!--<xi:include href="eXoJCR/jcr/jta.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <!--<xi:include href="eXoJCR/jcr/jca.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <!--<xi:include href="eXoJCR/jcr/other/acl.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <!--<xi:include href="eXoJCR/jcr/other/acl-ext.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <xi:include href="eXoJCR/jcr/other/link-producer.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <!--<xi:include
href="eXoJCR/jcr/other/binary-values-processing.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
-
- <xi:include href="eXoJCR/jcr/other/jcr-resources.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
- <!-- data container configs -->
- <xi:include href="eXoJCR/jcr/data-container.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- <xi:include href="eXoJCR/jcr/data-container-howto.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- <xi:include href="eXoJCR/jcr/db-cleaner-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
- <!-- tuning guide
- DOC NOTE: Could possibly be moved to a specific Tuning Guide later -->
- <xi:include href="eXoJCR/jcr/performance-tuning-guide.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
- <!-- JCR Core
+<part id="part-Reference_Guide-The_Java_Content_Repository_">
+ <title>The Java Content Repository</title>
+<!-- <xi:include href="eXoJCR/eXoJCR/jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> --> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/intro.xml"/>
+<!--concepts --><!--<xi:include
href="eXoJCR/jcr/concepts/why-jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> --> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/concepts/jcr-exo-implementation.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/exo-jcr-configuration.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/multilanguage-support.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/search-configuration.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/jdbc-data-container-config.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/external-value-storages.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/configuration/workspace-persistence-storage.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/cluster-config.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/jbosscache-configuration-templates.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/lock-manager-config.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/query-handler-config.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/jbossts-transaction-service.xml"/>
+<!-- search --> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/searching/jcr-query-usecases.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/searching/searching-repository-content.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/searching/fulltext-search-and-settings.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/protocols/webdav.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/protocols/ftp.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/backup/use-external-backup-tool.xml"/>
+<!-- other --> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/statistics.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/repository-check-controller.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr/performance-tuning-guide.xml"/>
+<!-- JCR Core
DOC NOTE: This section seems to include items covered elsewhere in this guide, or
things that are not relevant to EPP
- <xi:include href="eXoJCR/core.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
-
-
- <!-- Web services
+ <xi:include href="eXoJCR/core.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> --><!-- Web
services
DOC NOTE: Red Hat JBoss has two possible Web Services packages. No need to
document the eXo offering:
- <xi:include href="eXoJCR/ws.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
-
-
- <!-- GateIn and JCR -->
- <xi:include href="eXoJCR/jcr-with-gatein.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- DOC NOTE: Commented FAQ section out as per advice from Philippe
Aristote; "Unfit for publication" -->
- <!-- <xi:include href="eXoJCR/faq.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
- </part>
+ <xi:include href="eXoJCR/ws.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> --><!-- GateIn
and JCR --> <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="eXoJCR/jcr-with-gatein.xml"/>
+<!-- DOC NOTE: Commented FAQ section out as per advice from Philippe Aristote;
"Unfit for publication" --><!-- <xi:include
href="eXoJCR/faq.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
--></part>