Author: sergiykarpenko
Date: 2010-02-17 08:03:49 -0500 (Wed, 17 Feb 2010)
New Revision: 1862
Added:
jcr/trunk/docs/reference/en/build.cmd
Modified:
jcr/trunk/docs/reference/en/pom.xml
jcr/trunk/docs/reference/en/src/main/docbook/en-us/master.xml
jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/query-handler-config.xml
Log:
EXOJCR-490: pom updated - documents generated well
Added: jcr/trunk/docs/reference/en/build.cmd
===================================================================
--- jcr/trunk/docs/reference/en/build.cmd (rev 0)
+++ jcr/trunk/docs/reference/en/build.cmd 2010-02-17 13:03:49 UTC (rev 1862)
@@ -0,0 +1 @@
+@start mvn clean install jdocbook:resources jdocbook:generate
\ No newline at end of file
Modified: jcr/trunk/docs/reference/en/pom.xml
===================================================================
--- jcr/trunk/docs/reference/en/pom.xml 2010-02-17 12:59:12 UTC (rev 1861)
+++ jcr/trunk/docs/reference/en/pom.xml 2010-02-17 13:03:49 UTC (rev 1862)
@@ -55,6 +55,17 @@
<artifactId>maven-jdocbook-plugin</artifactId>
<extensions>true</extensions>
<configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+
+
<!--sourceDocumentName>modules/lock-manager-config.xml</sourceDocumentName-->
+ <imageResource>
+ <directory>${pom.basedir}/src/main/resources</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+
+
<formats>
<format>
<formatName>pdf</formatName>
@@ -62,9 +73,16 @@
<format>
<formatName>html_single</formatName>
</format>
+ </formats>
+
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <!-- needed for uri-resolvers; can be ommitted if using
'current' uri scheme -->
+ <!-- could also locate the docbook dependency and inspect its
version... -->
+ <docbookVersion>1.74.0</docbookVersion>
+ </options>
- </formats>
-
<sourceDocumentName>modules/lock-manager-config.xml</sourceDocumentName>
</configuration>
</plugin>
</plugins>
Modified: jcr/trunk/docs/reference/en/src/main/docbook/en-us/master.xml
===================================================================
--- jcr/trunk/docs/reference/en/src/main/docbook/en-us/master.xml 2010-02-17 12:59:12 UTC
(rev 1861)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-us/master.xml 2010-02-17 13:03:49 UTC
(rev 1862)
@@ -1,75 +1,80 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
-
--->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<!-- adopted from
http://anonsvn.jboss.org/repos/gatein/portal/trunk/docs/reference-guide/e...
-and
https://svn.jboss.org/repos/richfaces/tags/3.3.2.GA/docs/userguide/en/src...
-->
-<book lang="en">
- <bookinfo>
- <title>eXoJCR Reference Manual</title>
-
- <!-- corpauthor>
- <inlinemediaobject>
- <imageobject role="fo">
- <imagedata format="PNG" fileref="images/richfaces_logo.png"
/>
- </imageobject>
- <imageobject role="html">
- <imagedata/>
- </imageobject>
- </inlinemediaobject>
- </corpauthor -->
-
- <subtitle>Java Content Repository and Extension services</subtitle>
-
- <copyright>
- <year>2009, 2010</year>
-
- <holder>eXoPlatform</holder>
- </copyright>
-
- <!-- PDF version -->
-
- <!-- abstract>
- <title/>
- <para>
- <ulink url="../pdf/richfaces_reference.pdf">PDF
version</ulink>
- </para>
- </abstract -->
- </bookinfo>
-
- <toc></toc>
-
- <!--
- Table of content in Wiki Format <xi:include
-
xmlns:xi="http://www.w3.org/2001/XInclude"
- href="modules/Portal_Manual.xml" />
- -->
-
- <xi:include href="modules/intro.xml"
-
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="modules/architecture.xml"
-
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="modules/configuration.xml"
-
xmlns:xi="http://www.w3.org/2001/XInclude" />
-</book>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<!-- adopted from
http://anonsvn.jboss.org/repos/gatein/portal/trunk/docs/reference-guide/e...
+and
https://svn.jboss.org/repos/richfaces/tags/3.3.2.GA/docs/userguide/en/src...
-->
+<book lang="en">
+ <bookinfo>
+ <title>eXoJCR Reference Manual</title>
+
+ <!-- corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata format="PNG" fileref="images/richfaces_logo.png"
/>
+ </imageobject>
+ <imageobject role="html">
+ <imagedata/>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor -->
+
+ <subtitle>Java Content Repository and Extension services</subtitle>
+
+ <copyright>
+ <year>2009, 2010</year>
+
+ <holder>eXoPlatform</holder>
+ </copyright>
+
+ <!-- PDF version -->
+
+ <!-- abstract>
+ <title/>
+ <para>
+ <ulink url="../pdf/richfaces_reference.pdf">PDF
version</ulink>
+ </para>
+ </abstract -->
+ </bookinfo>
+
+ <toc></toc>
+
+ <!--
+ Table of content in Wiki Format <xi:include
+
xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="modules/Portal_Manual.xml" />
+ -->
+
+ <xi:include href="modules/intro.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="modules/architecture.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="modules/configuration.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="modules/query-handler-config.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+
+</book>
Modified:
jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/query-handler-config.xml
===================================================================
---
jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/query-handler-config.xml 2010-02-17
12:59:12 UTC (rev 1861)
+++
jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/query-handler-config.xml 2010-02-17
13:03:49 UTC (rev 1862)
@@ -1,186 +1,186 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd">
-<article>
- <articleinfo>
- <title>QueryHandler configuration</title>
- </articleinfo>
-
- <sect1>
- <title>How does it work?</title>
-
- <para>Lets talk about indexing content in cluster.</para>
-
- <para>For couple of reasons, we can't replicate index. That's means,
some
- data added and indexed on one cluster node, will be replicated to another
- cluster node, but will not be indexed on that node.</para>
-
- <para>So, how do the indexing works in cluster environment?</para>
-
- <para>As, we can not index same data on all nodes of cluster, we must
- index it on one node. Node, that can index data and do changes on lucene
- index, is called "coordinator". Coordinator-node is choosen automaticaly,
- so we do not need special configuration for coordinator.</para>
-
- <para>But, how can another nodes save their changes to lucene
- index?</para>
-
- <para>First of all, data is already saved and replicated to another
- cluster-nodes, so we need only deliver message like "we need to index this
- data" to coordinator. Thats why Jboss-cache is used.</para>
-
- <para>All nodes of cluster writes messages into JBoss-cache but only
- coordinator takes those messages and makes changes Lucene index.</para>
-
- <para>How do the search works in cluster environment?</para>
-
- <para>Search engine do not works with indexer, coordinator, etc. Search
- needs only lucene index. But only one cluster node can change lucene index
- - asking you. Yes - lucene index is shared. So, all cluster nodes must be
- configured to use lucene index from shared directory.</para>
-
- <para>A little bit about indexing process (no matter, cluster or not)
- Indexer do not writes changes to FS lucene index immediately. At first,
- Indexer writes changes to Volatile index. If Volatile index size become
- 1Mb or more it is flushed to FS. Also there is timer, that flushes
- volatile index by timeout. Volatile index timeout configured by
- "max-volatile-time" paremeter.</para>
-
- <para>Common scheme of Shared Index<mediaobject>
- <imageobject>
- <imagedata
fileref="../../../resources/images/diagram-shared-index.png" />
- </imageobject>
- </mediaobject></para>
- </sect1>
-
- <sect1>
- <title>Configuration</title>
-
- <sect2>
- <title>Common requirements</title>
-
- <para>Now, lets see what we need to run Search engine in cluster
- environment.<itemizedlist>
- <listitem>
- <para>shared directory for storing Lucene index (i.e.
NFS);</para>
- </listitem>
-
- <listitem>
- <para>changes filter configured as
-
org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter;</para>
-
- <note>
- <para>This filter ignore changes on non-coordinator nodes, and
- index changes on coordinator node.</para>
- </note>
- </listitem>
-
- <listitem>
- <para>configure JBoss-cache, course;</para>
- </listitem>
- </itemizedlist></para>
- </sect2>
-
- <sect2>
- <title>Query-handler configuration</title>
-
- <para>Configuration example:<programlisting><workspace
name="ws">
- <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir"
value="shareddir/index/db1/ws" />
- <property name="changesfilter-class"
-
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
- <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
- <property name="jgroups-configuration"
value="udp-mux.xml" />
- <property name="jgroups-multiplexer-stack"
value="true" />
- <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
- <property name="max-volatile-time" value="60"
/>
- </properties>
- </query-handler>
-</workspace></programlisting> <table>
- <title>Config properties description</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Property name</entry>
-
- <entry>Description</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>index-dir</entry>
-
- <entry>path to index</entry>
- </row>
-
- <row>
- <entry>jbosscache-configuration</entry>
-
- <entry>template of JBoss-cache configuration for all
- query-handlers in repository</entry>
- </row>
-
- <row>
- <entry>jgroups-configuration</entry>
-
- <entry>jgroups-configuration is template configuration for all
- components (search, cache, locks) [Add link to document
- describing template configurations]</entry>
- </row>
-
- <row>
- <entry>jgroups-multiplexer-stack</entry>
-
- <entry>[TODO about jgroups-multiplexer-stack - add link to
- JBoss doc]</entry>
- </row>
-
- <row>
- <entry>jbosscache-cluster-name</entry>
-
- <entry>cluster name (must be unique)</entry>
- </row>
-
- <row>
- <entry>max-volatile-time</entry>
-
- <entry>max time to live for Volatile Index</entry>
- </row>
- </tbody>
- </tgroup>
- </table></para>
- </sect2>
-
- <sect2>
- <title>JBoss-Cache template configuration</title>
-
- <para>JBoss-Cache template configuration for query handler.</para>
-
- <para>jbosscache-indexer.xml<programlisting><?xml
version="1.0" encoding="UTF-8"?>
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping="false" concurrencyLevel="50000"
lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
- <!-- Configure the TransactionManager -->
- <transaction
transactionManagerLookupClass="org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup"
/>
-
- <clustering mode="replication"
clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000"
fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
- <!-- Eviction configuration -->
- <eviction wakeUpInterval="5000">
- <default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm"
eventQueueSize="1000000">
- <property name="maxNodes" value="10000" />
- <property name="minTimeToLive" value="60000"
/>
- </default>
- </eviction>
-
-</jbosscache></programlisting></para>
- </sect2>
- </sect1>
-</article>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd">
+<article>
+ <articleinfo>
+ <title>QueryHandler configuration</title>
+ </articleinfo>
+
+ <sect1>
+ <title>How does it work?</title>
+
+ <para>Lets talk about indexing content in cluster.</para>
+
+ <para>For couple of reasons, we can't replicate index. That's means,
some
+ data added and indexed on one cluster node, will be replicated to another
+ cluster node, but will not be indexed on that node.</para>
+
+ <para>So, how do the indexing works in cluster environment?</para>
+
+ <para>As, we can not index same data on all nodes of cluster, we must
+ index it on one node. Node, that can index data and do changes on lucene
+ index, is called "coordinator". Coordinator-node is choosen automaticaly,
+ so we do not need special configuration for coordinator.</para>
+
+ <para>But, how can another nodes save their changes to lucene
+ index?</para>
+
+ <para>First of all, data is already saved and replicated to another
+ cluster-nodes, so we need only deliver message like "we need to index this
+ data" to coordinator. Thats why Jboss-cache is used.</para>
+
+ <para>All nodes of cluster writes messages into JBoss-cache but only
+ coordinator takes those messages and makes changes Lucene index.</para>
+
+ <para>How do the search works in cluster environment?</para>
+
+ <para>Search engine do not works with indexer, coordinator, etc. Search
+ needs only lucene index. But only one cluster node can change lucene index
+ - asking you. Yes - lucene index is shared. So, all cluster nodes must be
+ configured to use lucene index from shared directory.</para>
+
+ <para>A little bit about indexing process (no matter, cluster or not)
+ Indexer do not writes changes to FS lucene index immediately. At first,
+ Indexer writes changes to Volatile index. If Volatile index size become
+ 1Mb or more it is flushed to FS. Also there is timer, that flushes
+ volatile index by timeout. Volatile index timeout configured by
+ "max-volatile-time" paremeter.</para>
+
+ <para>Common scheme of Shared Index<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/diagram-shared-index.png" />
+ </imageobject>
+ </mediaobject></para>
+ </sect1>
+
+ <sect1>
+ <title>Configuration</title>
+
+ <sect2>
+ <title>Common requirements</title>
+
+ <para>Now, lets see what we need to run Search engine in cluster
+ environment.<itemizedlist>
+ <listitem>
+ <para>shared directory for storing Lucene index (i.e.
NFS);</para>
+ </listitem>
+
+ <listitem>
+ <para>changes filter configured as
+
org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter;</para>
+
+ <note>
+ <para>This filter ignore changes on non-coordinator nodes, and
+ index changes on coordinator node.</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>configure JBoss-cache, course;</para>
+ </listitem>
+ </itemizedlist></para>
+ </sect2>
+
+ <sect2>
+ <title>Query-handler configuration</title>
+
+ <para>Configuration example:<programlisting><workspace
name="ws">
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="shareddir/index/db1/ws" />
+ <property name="changesfilter-class"
+
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
+ <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
+ <property name="jgroups-configuration"
value="udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack"
value="true" />
+ <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
+ <property name="max-volatile-time" value="60"
/>
+ </properties>
+ </query-handler>
+</workspace></programlisting> <table>
+ <title>Config properties description</title>
+
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Property name</entry>
+
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>index-dir</entry>
+
+ <entry>path to index</entry>
+ </row>
+
+ <row>
+ <entry>jbosscache-configuration</entry>
+
+ <entry>template of JBoss-cache configuration for all
+ query-handlers in repository</entry>
+ </row>
+
+ <row>
+ <entry>jgroups-configuration</entry>
+
+ <entry>jgroups-configuration is template configuration for all
+ components (search, cache, locks) [Add link to document
+ describing template configurations]</entry>
+ </row>
+
+ <row>
+ <entry>jgroups-multiplexer-stack</entry>
+
+ <entry>[TODO about jgroups-multiplexer-stack - add link to
+ JBoss doc]</entry>
+ </row>
+
+ <row>
+ <entry>jbosscache-cluster-name</entry>
+
+ <entry>cluster name (must be unique)</entry>
+ </row>
+
+ <row>
+ <entry>max-volatile-time</entry>
+
+ <entry>max time to live for Volatile Index</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table></para>
+ </sect2>
+
+ <sect2>
+ <title>JBoss-Cache template configuration</title>
+
+ <para>JBoss-Cache template configuration for query handler.</para>
+
+ <para>jbosscache-indexer.xml<programlisting><?xml
version="1.0" encoding="UTF-8"?>
+<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:jbosscache-core:config:3.1">
+
+ <locking useLockStriping="false" concurrencyLevel="50000"
lockParentForChildInsertRemove="false"
+ lockAcquisitionTimeout="20000" />
+ <!-- Configure the TransactionManager -->
+ <transaction
transactionManagerLookupClass="org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup"
/>
+
+ <clustering mode="replication"
clusterName="${jbosscache-cluster-name}">
+ <stateRetrieval timeout="20000"
fetchInMemoryState="false" />
+ <jgroupsConfig multiplexerStack="jcr.stack" />
+ <sync />
+ </clustering>
+ <!-- Eviction configuration -->
+ <eviction wakeUpInterval="5000">
+ <default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm"
eventQueueSize="1000000">
+ <property name="maxNodes" value="10000" />
+ <property name="minTimeToLive" value="60000"
/>
+ </default>
+ </eviction>
+
+</jbosscache></programlisting></para>
+ </sect2>
+ </sect1>
+</article>