From do-not-reply at jboss.org Sun Nov 18 19:47:10 2012 Content-Type: multipart/mixed; boundary="===============1821507762155510183==" MIME-Version: 1.0 From: do-not-reply at jboss.org To: gatein-commits at lists.jboss.org Subject: [gatein-commits] gatein SVN: r8965 - in epp/docs/branches/5.2/Reference_Guide/en-US: modules and 3 other directories. Date: Sun, 18 Nov 2012 19:47:09 -0500 Message-ID: <201211190047.qAJ0l9lm028670@svn01.web.mwc.hst.phx2.redhat.com> --===============1821507762155510183== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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/AuthenticationAndIde= ntity/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-c= onfig.xml epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configura= tion/external-value-storages.xml Log: BZ#877827 - Removed Chapters not required in JCR section, as confirmed in B= Z comments from eXo lead Modified: epp/docs/branches/5.2/Reference_Guide/en-US/Reference_Guide.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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 @@ - = - + Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/Authenticatio= nAndIdentity/SSO.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndId= entity/SSO.xml 2012-11-15 15:45:31 UTC (rev 8964) +++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndId= entity/SSO.xml 2012-11-19 00:47:09 UTC (rev 8965) @@ -973,6 +973,300 @@ + + + Test the installation: + + + + + Access JBoss Enterprise Portal Platform by goi= ng to http://localhost:8888/opensso/UI/Login?realm=3Dgatein (assuming that the OpenSSO server using Tomcat is still running). + + + + + Login with the username root and the password gtn or any account created through th= e portal. + + + + + + +
+ Setup the portal to redirect to OpenSSO + + The next part of the process is to redirect all user authentic= ation to the OpenSSO server. + + + Information about where the OpenSSO server is hosted must be p= roperly configured within the Enterprise Portal Platform instance. The requ= ired configuration is done by modifying three files: + + + Setup the portal to redirect to OpenSSO + + + Modify the 'Sign In' link in the EPP_DIST/jboss= -as/server/PROFILE/deploy/gatein.ear/web.war/gro= ovy/groovy/webui/component/UIBannerPortlet.gtml file as follows: + + + + + + Modify the 'Sign In' link in the gatein.ear/web.war/groovy/portal/webui/co= mponent/UILogoPortlet.gtmpl file as follows: + + + + + + Replace the entire contents of gatein.ear/02= portal.war/login/jsp/login.jsp with: + + + + + + Add the following Filters to the top of the filter cha= in in gatein.ear/02portal.war/WEB-INF/web.xml: + + + + + + From now on, all links redirecting to the user authentication = pages will redirect to the OpenSSO centralized authentication form. + +
+
Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO)</tit= le> <para> Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/cl= uster-config.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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=3D"chap-Reference_Guide-Cluster_Configuration"> - <title>Configuring Cluster -
- Launching Cluster -
- Deploying eXo JCR to JBoss Application Server - - To deploy eXo JCR to the JBoss AS, do the following: - - - - <step> - <para> - Download the latest version of eXo JCR <filename>.= ear</filename> file distribution. + <title><remark>BZ#841259 </remark>Configuring Cluster +
+ Environment requirements + + + + Every node of the cluster = must have the same mounted Network File System (NFS) with the read and write permissions on it. - - - - Copy the file into EPP_DIST= /jboss-as/server/PROFILE/deploy directory. + + + + Every node of cluster must= use the same database. - - - - Drop exo-configuration.xml in= to your root EPP_DIST/jboss-as/ directory. + + + + The same Clusters on different nodes must have the same names. - - + + Example - Configure JAAS by inserting the XML fragment shown= below into EPP_DIST/jboss-as/server/<= replaceable>PROFILE/conf/login-config.xml - - <application-po= licy name=3D"exo-domain"> - <authentication> - <login-module code=3D"org.exoplatform.services.security.j2ee= .JbossLoginModule" flag=3D"required"></login-module> - </authentication> -</application-policy> - - - - To ensure that JBossTS and JBossCache are used, your configuration.xml file must contain: - - <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.JBossTransa= ctionsService</type> - <init-params> - <value-param> - <name>timeout</name> - <value>300</value> - </value-param> - </init-params> -</component> - - - - Start server: - - - In Linux systems: - - sh bin/run.sh - - In Windows systems: - - bin/run.bat - - - - Navigate to ans use the credentials roo= t/exo (login/password). - - - -
-
- Configuring JCR to use external configuration - - - + If the Indexer cluster in= the production workspace on the first node is named <= literal>production_indexer_cluster, then indexer clusters in the production workspace on all other= nodes must also be named produ= ction_indexer_cluster. + + + + +
+
+ Configuration requirements + + The configuration of every workspace in the repository mus= t contain the following elements: + + + Value Storage configuration + <value-storages> + <value-storage id=3D"system" class=3D"org.exoplatform= .services.jcr.impl.storage.value.fs.TreeFileValueStorage"> + <properties> + <property name=3D"path" value=3D"/mnt/tornado/t= emp/values/production" /> <!--path within NFS where ValueStor= age will hold it's data--> + </properties> + <filters> + <filter property-type=3D"Binary" /> + </filters> + </value-storage> +</value-storages> + + + Cache configuration + <cache enabled=3D&q= uot;true" class=3D"org.exoplatform.services.jcr.impl.dataflow.per= sistent.jbosscache.JBossCacheWorkspaceStorageCache"> + <properties> + <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-data.xml" /> <!-- pat= h to JBoss Cache configuration for data storage --> + <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- pat= h to JGroups configuration --> + <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_cache_production" /> <!-- JBo= ss Cache data storage cluster name --> + <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> + </properties> +</cache> + + + Indexer configuration + <query-handler clas= s=3D"org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex&q= uot;> + <properties> + <property name=3D"changesfilter-class" value=3D"or= g.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChange= sFilter" /> + <property name=3D"index-dir" value=3D"/mnt/tornado= /temp/jcrlucenedb/production" /> <!-- p= ath within NFS where ValueStorage will hold it's data --> + <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-indexer.xml" /> <!-- p= ath to JBoss Cache configuration for indexer --> + <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- p= ath to JGroups configuration --> + <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_indexer_production" /> <!-- J= Boss Cache indexer cluster name --> + <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> + </properties> +</query-handler> + + + Lock Manager configuration + <lock-manager class= =3D"org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLo= ckManagerImpl"> + <properties> + <property name=3D"time-out" value=3D"15m" /&g= t; + <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-lock.xml" /> <!-- p= ath to JBoss Cache configuration for lock manager --> + <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- p= ath to JGroups configuration --> + <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> + <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_lock_production" /> <!-- J= Boss Cache locks cluster name --> + = + <property name=3D"jbosscache-cl-cache.jdbc.table.name" = value=3D"jcrlocks_production"/> <!-- t= he name of the DB table where lock's data will be stored --> + <property name=3D"jbosscache-cl-cache.jdbc.table.create"= ; value=3D"true"/> + <property name=3D"jbosscache-cl-cache.jdbc.table.drop" = value=3D"false"/> + <property name=3D"jbosscache-cl-cache.jdbc.table.primarykey&= quot; value=3D"jcrlocks_production_pk"/> + <property name=3D"jbosscache-cl-cache.jdbc.fqn.column" = value=3D"fqn"/> + <property name=3D"jbosscache-cl-cache.jdbc.node.column"= value=3D"node"/> + <property name=3D"jbosscache-cl-cache.jdbc.parent.column&quo= t; value=3D"parent"/> + <property name=3D"jbosscache-cl-cache.jdbc.datasource" = value=3D"jdbcjcr"/> + </properties> +</lock-manager> + +
+
+ Configuring JCR to use external configuration + + + To manually configure a repository, create a new c= onfiguration file (exo-jcr-configuration.xml for examp= le). For details, see . - + The configuration file must be formatted as follow= s: @@ -155,7 +171,7 @@ Then, update RepositoryServiceConfigura= tion configuration in the exo-configuration.xml to reference your file: - <component> + <component> <key>org.exoplatform.services.jcr.config.RepositoryServiceConfigu= ration</key> <type>org.exoplatform.services.jcr.impl.config.RepositoryServiceC= onfigurationImpl</type> <init-params> @@ -166,101 +182,7 @@ </value-param> </init-params> </component> - - -
+ +
-
- Requirements -
- Environment requirements - - - - Every node of the cluster = must have the same mounted Network File System (NFS) with the read and write permissions on it. - - - - - Every node of cluster must= use the same database. - - - - - The same Clusters on different nodes must have the same names. - - - Example - - If the Indexer cluster in= the production workspace on the first node is named <= literal>production_indexer_cluster, then indexer clusters in the production workspace on all other= nodes must also be named produ= ction_indexer_cluster. - - - - -
-
- Configuration requirements - - The configuration of every workspace in the repository mus= t contain the following elements: - - - Value Storage configuration - <value-storages&g= t; - <value-storage id=3D"system" class=3D"org.exoplatform= .services.jcr.impl.storage.value.fs.TreeFileValueStorage"> - <properties> - <property name=3D"path" value=3D"/mnt/tornado/t= emp/values/production" /> <!--path within NFS where ValueStor= age will hold it's data--> - </properties> - <filters> - <filter property-type=3D"Binary" /> - </filters> - </value-storage> -</value-storages> - - - Cache configuration - <cache enabled=3D= "true" class=3D"org.exoplatform.services.jcr.impl.dataflow.p= ersistent.jbosscache.JBossCacheWorkspaceStorageCache"> - <properties> - <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-data.xml" /> <!-- pat= h to JBoss Cache configuration for data storage --> - <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- pat= h to JGroups configuration --> - <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_cache_production" /> <!-- JBo= ss Cache data storage cluster name --> - <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> - </properties> -</cache> - - - Indexer configuration - <query-handler cl= ass=3D"org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex= "> - <properties> - <property name=3D"changesfilter-class" value=3D"or= g.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChange= sFilter" /> - <property name=3D"index-dir" value=3D"/mnt/tornado= /temp/jcrlucenedb/production" /> <!-- p= ath within NFS where ValueStorage will hold it's data --> - <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-indexer.xml" /> <!-- p= ath to JBoss Cache configuration for indexer --> - <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- p= ath to JGroups configuration --> - <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_indexer_production" /> <!-- J= Boss Cache indexer cluster name --> - <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> - </properties> -</query-handler> - - - Lock Manager configuration - <lock-manager cla= ss=3D"org.exoplatform.services.jcr.impl.core.lock.jbosscache.Cacheable= LockManagerImpl"> - <properties> - <property name=3D"time-out" value=3D"15m" /&g= t; - <property name=3D"jbosscache-configuration" value=3D&qu= ot;jar:/conf/portal/test-jbosscache-lock.xml" /> <!-- p= ath to JBoss Cache configuration for lock manager --> - <property name=3D"jgroups-configuration" value=3D"= jar:/conf/portal/udp-mux.xml" /> <!-- p= ath to JGroups configuration --> - <property name=3D"jgroups-multiplexer-stack" value=3D&q= uot;true" /> - <property name=3D"jbosscache-cluster-name" value=3D&quo= t;JCR_Cluster_lock_production" /> <!-- J= Boss Cache locks cluster name --> - = - <property name=3D"jbosscache-cl-cache.jdbc.table.name" = value=3D"jcrlocks_production"/> <!-- t= he name of the DB table where lock's data will be stored --> - <property name=3D"jbosscache-cl-cache.jdbc.table.create"= ; value=3D"true"/> - <property name=3D"jbosscache-cl-cache.jdbc.table.drop" = value=3D"false"/> - <property name=3D"jbosscache-cl-cache.jdbc.table.primarykey&= quot; value=3D"jcrlocks_production_pk"/> - <property name=3D"jbosscache-cl-cache.jdbc.fqn.column" = value=3D"fqn"/> - <property name=3D"jbosscache-cl-cache.jdbc.node.column"= value=3D"node"/> - <property name=3D"jbosscache-cl-cache.jdbc.parent.column&quo= t; value=3D"parent"/> - <property name=3D"jbosscache-cl-cache.jdbc.datasource" = value=3D"jdbcjcr"/> - </properties> -</lock-manager> - -
-
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/co= nfiguration/external-value-storages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR/jcr/configur= ation/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/configur= ation/external-value-storages.xml 2012-11-19 00:47:09 UTC (rev 8965) @@ -1,202 +1,76 @@ - + %BOOK_ENTITIES; ]> - External Value Storages -
- Introduction - + External Value Storages +
+ Introduction + JCR values are stored in the Workspace Data container by defau= lt. The eXo JCR offers an additional option of storing JCR values separatel= y from the Workspace Data container which can help keep Binary Large Object= s (BLOBs) separate. - + --> Tree-based storage is recommended in most cases. - -
- = -
- Tree File Value Storage - + -->
+
+ Tree File Value Storage + Tree File Value Storage holds values in tree-like file system = files. Path property points to the root directory to s= tore the files. - + This is a recommended type of external storage because it can = contain large amount of files limited only by disk/volume free space. - + However, using Tree File Value Storage can result in a higher = time on value deletion, due to the removal of unused tree-nodes. - -Tree File Value Storage Configuration - - + + Tree File Value Storage Configuration + + Comment #1: The id is the value storage unique identifier, used for linking with propertie= s stored in a workspace container. - + Comment #2: the path is a location where value files will be stored. - - + + Each file value storage can have the filters for incoming values. A filter can match values by property-ty= pe, property-name, ancestor-path<= /property>. It can also match the size of values stored (min-valu= e-size) in bytes. - + In the previous example a filter with property-type<= /property> and min-value-size has been used. This resu= lts in storage for binary values with size greater of 1MB. - + It is recommended that properties with large values are stored= in file value storage only. - + The example below shows a value storage with different locatio= ns for large files (min-value-size a 20Mb-sized filter= ). - + A value storage uses ORed logic in the process of filter selec= tion. This means the first filter in the list will be called first and if i= t is not matched the next will be called, and so on. - - In this example a value matches the 20MB filter min-= value-size and will be stored in the path "data/20Mvalu= es". All other filters will be stored in "data/values". + + In this example a value matches the 20MB filter min-= value-size and will be stored in the path "data/20= Mvalues". All other filters will be stored in "data/values". - = - - -
- = -
- Content Addressable Value storage (CAS) support - - eXo JCR supports the Content-addressable storage feature for values storing. - - - Content-addressable storage, also referred to as associative s= torage and abbreviated as CAS, is a mech= anism for storing information that can be retrieved based on its content, n= ot its storage location. - - - It is typically used for high-speed storage and retrieval of f= ixed content, such as documents stored for compliance with government regul= ations. - - - 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 sha= red across some values in storage and will be stored in one physical file. - - - Storage size will be decreased for applications which govern p= otentially same data in the content. - - - As an example; if 100 different properties contain the same da= ta (mail attachments for example) the storage stores only one single file. = The file will be shared with all referencing properties. - - - 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. - - - The storage calculates value content address each time the pro= perty was changed. CAS write operations are more expensive compared to the = non-CAS storages. - - - Content address calculation is based on java.security= .MessageDigest hash computation and has been tested with MD5 and = SHA1 algorithms. - - - - CAS storage works most efficiently on data that does not c= hange often. For data that changes frequently CAS is not as efficient as lo= cation-based addressing. - - - - - CAS support can be enabled for Tree and Simple File Value Storage types. - - - To enable CAS support just configure it in the JCR Repositorie= s configuration with other Value Storages. - - = - - - CAS Properties - - digest-algo - - - Digest hash algorithm (MD5 and SHA1 were tested). - - - - - - - vcas-type - - - Value CAS internal data type, JDBC backed is curre= ntly implemented: - - - org.exoplatform.services.jcr.impl.storage= .value.cas.JDBCValueContentAddressStorageImpl - - - - - - - jdbc-source-name - - - A JDBCValueContentAddressStorageImpl specific parameter, a database will be used to save CAS metadata. - - - - - - - jdbc-dialect - - - A DBCValueContentAddressStorageImpl specific parameter defining database dialect. - - - - - - - - -
- = -
- Disabling value storage - + +
+
+ Disabling value storage + The JCR allows you to disable value storage by adding the foll= owing property into its configuration. - = -<property name=3D"enabled" value=3D"fa= lse" /> - - Warning - + <property name=3D"enabled&quo= t; value=3D"false" /> + + Warning + It is recommended that this functionality be used for inte= rnal and testing purpose only, and with caution, as all stored values will = be inaccessible. - - - -
- = - + +
- Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/eXoJCR.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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 @@ - + %BOOK_ENTITIES; ]> - - The Java Content Repository - - - - - - - - - - - - - - - - - - = - - = - - = - - = - - = - - = - - = - - - - - - = - - = - - = - - = - - = - - = - - - - - - - = - - = - - - - - - - - - - - - = - - - - - - - = - - = - - - - - - = - - = - - = - - = - - = - - = - - = - - = - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + --> + --===============1821507762155510183==--