2.10. JCR Organization Service

2.10.1. Configuration
2.10.2. Migration

JCR Organization Service is an implementation of the exo.core.component.organization.api API. The information will be stored in the exo:organization root node of the workspace. The workspace name has to be configured in the configuration file.

  1. Open $PLATFORM_TOMCAT_HOME/webapps/portal/WEB-INF/conf/configuration.xml, then replace <import>war:/conf/organization/idm-configuration.xml</import> with <import>war:/conf/organization/exo/jcr-configuration.xml</import>.

  2. Create the jcr-configuration.xml file in the $PLATFORM_TOMCAT_HOME/webapps/portal/WEB-INF/conf/organization/exo directory and fill in the following content:

    
    <configuration
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd http://www.exoplaform.org/xml/ns/kernel_1_2.xsd"
       xmlns="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd">

      <component>
        <key>org.exoplatform.services.organization.OrganizationService</key>
        <type>org.exoplatform.services.jcr.ext.organization.JCROrganizationServiceImpl</type>
        <init-params>
          <value-param>
            <name>storage-workspace</name>
            <description>Workspace in default repository where organization storage will be created</description>
            <value>collaboration</value>
          </value-param>
        </init-params>
       </component>

      <external-component-plugins>
        <target-component>org.exoplatform.services.jcr.RepositoryService</target-component>
        <component-plugin>
          <name>add.namespaces</name>
          <set-method>addPlugin</set-method>
          <type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
          <init-params>
            <properties-param>
              <name>namespaces</name>
              <property name="jos" value="http://www.exoplatform.com/jcr-services/organization-service/1.0/"/>
            </properties-param>
           </init-params>
        </component-plugin>
         <component-plugin>
          <name>add.nodeType</name>
          <set-method>addPlugin</set-method>
          <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
          <init-params>
            <values-param>
              <name>autoCreatedInNewRepository</name>
              <description>Node types configuration file</description>
              <value>jar:/conf/organization-nodetypes.xml</value>
            </values-param>
          </init-params>
        </component-plugin>
      </external-component-plugins>
    </configuration>
    • In which, storage-workspace is the workspace name in the default repository where the organization storage will be created. If storage-workspace is absent in configuration, the default workspace will be selected in the current repository.

  3. Start eXo Platform server.

eXo starts and auto-creates its organization model in the /exo:organization node.

Now eXo uses your JCR node as its organization model storage. Users, groups and memberships are now stored and retrieved from there.

Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus