eXo Platform 3.5

## Chapter 1. Introduction

It is to introduce about basic knowledge of eXo CMIS, working principles and how to configure it.

## CMIS Specification

### Note

Content Management Interoperability Services (CMIS) Version 1.0 OASIS Standard 1 May 2010

http://en.wikipedia.org/wiki/Content_Management_Interoperability_Services

The Content Management Interoperability Services (CMIS) standard defines a domain model and Web Services and Restful AtomPub bindings that can be used by applications to work with one or more Content Management repositories/systems. The CMIS interface is designed to be layered on top of existing Content Management systems and their existing programmatic interfaces. It is not intended to prescribe how specific features should be implemented within those CM systems, nor to exhaustively expose all of the CM systems capabilities through the CMIS interfaces. Rather, it is intended to define a generic/universal set of capabilities provided by a CM system and a set of services for working with those capabilities.

The CMIS specification provides a Web services interface that:

- Is designed to work over existing repositories, enabling customers to build and leverage applications against multiple repositories.

- Decouples Web services and content from the content management repository, enabling customers to manage content independently.

- Provides common Web services and Web 2.0 interfaces to dramatically simplify application development.

- Is development platform and language agnostic.

- Supports the composite application development and mash-up by the business or IT analysts.

## xCMIS project

The xCMIS project http://xcmis.org/, initially contributed to the Open Source community by http://www.exoplatform.com , is an implementation of the full stack of Java-based CMIS services. xCMIS also includes the client side frameworks for integrating content from different enterprise repositories, according to the http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cmis .

The project is distributed under the LGPL license. You can download sources at http://code.google.com/p/xcmis/source/checkout , or visit http://code.google.com/p/xcmis/w/list for more information.

## eXo CMIS

eXo CMIS is one eXo Platform service exposing eXo Content via CMIS. eXo CMIS offers the way to access the eXo ECMS content from the CMIS 1.0 compatible Web client using the REST Atom protocol.

### Note

WS-SOAP/WSDL binding is also supported, but it is not delivered in the standard eXo Platform 3.0 bundle.

eXo CMIS is built on the top of xCMIS embedded in Platform to expose the WCM 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.

Figure: how eXo CMIS works

WCM drives exposure is implemented as WCM storage provider to xCMIS SPI. Storage provider uses mappings from WCM's ManageDriveService to actual JCR nodes. And AtomPub bindings makes WCM structure available via CMIS standard API.