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.
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>
.
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.
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.