eXo CMIS add-on is built on the top of xCMIS embedded in eXo Platform to expose the Content drives as the CMIS repositories. The CMIS features are implemented as a set of components deployed on the eXo Container using XML files to describe the service configuration.
SOAP protocol binding is not implemented in eXo CMIS add-on.
See how eXo CMIS works in the figure below.
The Content drives exposure is implemented as a Content storage provider to the xCMIS SPI. The storage provider uses mappings from the Content's ManageDriveService to actual JCR nodes. AtomPub bindings make Content structure available via CMIS standard API.
The getRepositories service endpoint is: http://localhost:8080/rest/private/cmisatom.
Configuration
You do not need to configure anything to make it work, unless you want to enable CMIS index and search.
The configuration is done in ecm-xcmis-extension.war!/WEB-INF/conf/xcmis-configuration/xcmis-configuration.xml
.
The following component - org.exoplatform.ecms.xcmis.sp.DriveCmisRegistry
that extends CmisRegistry
-
is used to expose Content drives to the CMIS repositories:
<component>
<type>org.exoplatform.ecms.xcmis.sp.DriveCmisRegistry</type>
<init-params>
<!-- Disabled by default. Uncomment if you need query support in CMIS. -->
<!-- value-param>
<name>indexDir</name>
<value>${gatein.jcr.index.data.dir}/cmis-index${container.name.suffix}</value>
</value-param-->
<value-param>
<name>exo.cmis.renditions.persistent</name>
<value>true</value>
</value-param>
<values-param>
<name>renditionProviders</name>
<description>Redition providers classes.</description>
<!-- <value>org.xcmis.renditions.impl.PDFDocumentRenditionProvider</value> -->
<value>org.xcmis.renditions.impl.ImageRenditionProvider</value>
</values-param>
</init-params>
</component>
indexDir - The directory where the lucene index will be placed. It is disabled by default.
exo.cmis.renditions.persistent - Indicates if a rendition of the document (thumbnails) should be persisted in the JCR. The allowed value is true or false.
renditionProviders - A set of FQN of classes which can be used as Rendition Providers. Classes which implement the org.xcmis.spi.RenditionProvider interface are used to preview the CMIS objects (thumbnails).
In most cases, it is not required to change anything in the xCMIS configuration. In case of any change on the indexer storage location, uncomment the indexDir value parameter and point it to the actual location.