# Content Management Interoperability Services

Content Management Interoperability Services (CMIS) is an open standard that allows different content management systems to inter-operate over the Internet. Specifically, CMIS defines an abstraction layer for controlling diverse document management systems and repositories using web protocols.

## Concept

CMIS defines a domain model plus bindings that can be used by applications to manipulate content stored in a repository.
CMIS provides a common data model covering typed files and folders with generic properties that can be set or read. There is a set of services for adding and retrieving documents ('objects'). There may be an access control system, a checkout and version control facility, and the ability to define generic relations. Three protocol bindings are defined, one using WSDL and SOAP, another using AtomPub, and a last browser-friendly one using JSON. The model is based on common architectures of document management systems.
The CMIS specification provides an API that is programming language-agnostic, as REST and SOAP are implemented in many languages.

## Reasoning

Many of the original contributors to the specification believed
a simplified and standardized way to access unstructured content across all vendors would increase the adoption of ECM products, but only if the standard could remain compatible with existing deployed systems, much the way that ODBC Open Database Connectivity did for the relational database market in the 1990s.

## History

The initial work of developing the momentum and use cases that led to the CMIS proposal was conducted by the iECM Initiative sponsored by AIIM. This ongoing project to foster interoperability among ECM systems is supported by the collaborative efforts of governmental, commercial, vendor, and consulting organizations.
Although initiated by AIIM, CMIS is now administered by OASIS, a web standards consortium. Participants in the process include Adobe Systems Incorporated, Alfresco, EMC, FatWire, HP, IBM, Liferay, Microsoft, Nuxeo, OpenText, Oracle, and SAP. The standard is available for public comment at OASIS.
OASIS approved CMIS as an OASIS Specification on May 1, 2010. CMIS 1.1 has been approved as an OASIS specification on December 12, 2012.
The specification is currently approved as OASIS CMIS v1.1 standard.
There are public discussion lists.
The TC was closed on May 9, 2017, and is no longer active.

## Criticism

There is some discussion on the name of CMIS. Some blogs and authors say that it should be named "DMIS", with D for Document since it is more targeted on ECM.
From the CMIS Specification 1.1, page: "[...] this data model does not cover all the concepts that a full-function ECM repository [...] transient entities (such as programming interface objects), administrative entities (such as user profiles), and extended concepts (such as compound or virtual document, work flow and business process, event and subscription) are not included."

## List of implementations
### CMIS Servers

A CMIS server stores content, and offers access via the CMIS protocol. Some servers also allow access via other protocols.
| Software | Open source | Notes |
| Alfresco 3.3+ | Yes | |
| Cincom ECM 2.1+ CMIS Connector | Yes | CMIS interface of Cincom ECM, forked from NemakiWare. |
| Day Software CRX 2.1+ | No | |
| DMSF | No | DMSF is Plugin for Redmine, work is in progress: Issue: CMIS support |
| dotCMS 2.2 | No | Early commercial editions of dotCMS had CMIS support, however the open source community edition did not. Note that the latest v4.0 edition of dotCMS has removed support for CMIS entirely. |
| Fabasoft | No | Provides extensions to the core CMIS specification to support "aspects" |
| HP Autonomy Interwoven Worksite 8.5 | No | |
| IBM Content Manager On Demand 9.0+ | No | |
| IBM Connections Files 3.0 | No | Only documents are accessible via CMIS, other content types are inaccessible. |
| IBM LotusLive Files | No | |
| IBM QuickFile | No | |
| IBM Lotus Quickr 8.5 Lists | No | Only data lists are accessible via CMIS, other content types are inaccessible. |
| LogicalDOC 6.5.1+ | No | |
| Magnolia (CMS) 4.5 | Yes | |
| Microsoft SharePoint Server | No | CMIS 1.0 is supported out-of-the-box in SharePoint Server 2013. It requires installation of the Administration Toolkit in SharePoint Server 2010. Not available in Foundation version. |
| Nuxeo Platform 5.5+ | Yes | |
| O3Spaces 3.2+ | No | |
| OpenCms 8.5 | Yes | |
| OpenKM 6.3+ | Yes | |
| OpenText | No | Since ECM Suite 2010. Implemented through a CMIS Connector above Enterprise Library Services 10.2.0. |
| OpenText Documentum 7.x | No | |
| OpenWGA 5.2+ | No | |
| Oracle Webcenter Content | No | Content Management REST Service Developer's Guide. |
| PTC Windchill | No | |
| SAP HANA Cloud Document Service | No | SAP HANA Cloud Platform Documentation. |
| Surround SCM 2011.1 | No | |

#### Capabilities

Each CMIS server declares a set of capabilities. For instance, servers that allow documents to be filed in different places declare the capability "Multifiling". This mechanism allows clients to interact differently with servers that support or don't support a particular operation.
Some server products allow certain capabilities to be disabled or enabled by configuration. the table below lists maximum capabilities.
| Server | ACL | AllVersions Searchable | Changes | ContentStream Updatability | Get Descendants | Get FolderTree | Multifiling | PWC Searchable | PWC Updatable | Query | Renditions | Unfiling | Version Specific Filing | Join |
| Acropolis | manage | No | properties | anytime | Yes | Yes | Yes | Yes | Yes | bothcombined | none | Yes | No | none |
| Alfresco | manage | No | objectidsonly | anytime | Yes | Yes | Yes | Yes | Yes | bothcombined | read | No | No | none |
| Ceyoniq Technology GmbH, nscale CMIS Connector | none | Yes | properties | anytime | Yes | Yes | No | Yes | Yes | bothcombined | read | No | No | none |
| Chemistry InMemory Server | none | No | properties | pwconly | Yes | Yes | Yes | No | Yes | metadataonly | none | Yes | No | join |
| eXo Platform | manage | Yes | none | anytime | Yes | Yes | Yes | Yes | Yes | bothcombined | read | Yes | No | none |
| IBM FileNet Content Manager | manage | Yes | objectidsonly | pwconly | Yes | Yes | Yes | Yes | Yes | bothcombined | none | Yes | No | innerandouter |
| IBM Content Manager | manage | Yes | none | pwconly | Yes | Yes | Yes | No | No | bothcombined | none | Yes | No | none |
| IBM Content Manager OnDemand | none | No | none | none | No | No | No | No | No | metadataonly | none | No | No | none |
| ISIS Papyrus WebArchive | none | Yes | none | none | Yes | Yes | Yes | No | No | none | none | No | No | none |
| NemakiWare | manage | No | objectidsonly | pwconly | Yes | Yes | No | No | Yes | bothcombined | none | No | No | none |
| Nuxeo | manage | Yes | objectidsonly | pwconly | Yes | Yes | No | Yes | Yes | bothcombined | read | No | No | innerandouter |
| OpenText | manage | Yes | none | anytime | Yes | Yes | No | Yes | Yes | bothcombined | none | No | No | none |
| OpenText Documentum | manage | Yes | none | anytime | Yes | Yes | Yes | No | No | With Fulltext: bothcombined; Without Fulltext: metadataonly | read (not implemented for folders) | No | No | inneronly |
| Laserfiche | Manage | Yes | properties | anytime | Yes | Yes | Yes | Yes | Yes | bothcombined | read | Yes | Yes | innerandouter |

### Server libraries

A CMIS server library allows developers to create CMIS server applications.
| Software | Technology | Open source |
| NCMIS | .NET | Yes |
| OpenCMIS Server Framework (part of Apache Chemistry) | Java | Yes |
| VB.CMIS | .NET | Yes |

### Client applications

A CMIS client application typically allows users to browse, read and modify content.
| Software | Technology | Open source | Notes |
| Atlassian Confluence + Crowd 3.5+/2.2.2+ | Java | No | Access, list, display, edit, upload and delete Enterprise Alfresco files from Confluence. |
| Connect-CMIS (Connector in Pegasystems Inc. Pega 7) | Pega 7 | No | Allows for connectivity to any CMIS compliant server from Pega 7 |
| Drupal 7.x and 8.x | PHP | Yes | Can be configured as a CMIS browser |
| Hippo CMS | Java | Yes | Can be configured as a CMIS browser |
| HP Exstream LAL | Java | No | Framework to connect Live documents with CMIS repositories |
| LibreOffice 4.0 | C++ | Yes | |
| Liferay 6.1 | Java | Yes | Synchronizes Liferay's document repository with CMIS servers |
| TYPO3 | PHP | Yes | |
| WordPress | PHP | Yes | Can be configured as a CMIS browser |

## Books and publications

* Alfresco CMIS, by Martin Bergljung, March 2014. Packt Publishing ISBN 9781782163527
* OpenCMIS Server Development Guide 2nd Edition, October 2014, at Github
* CMIS and Apache Chemistry in Action, July 2013, by Florian Müller, Jay Brown, and Jeff Potts. Manning Publications, ISBN 9781617291159
* Implementing a Case Management Modeling and Notation (CMMN) System using a Content Management Interoperability Services (CMIS) compliant repository, by Mike A. Marin and Jay A. Brown, April 27, 2015, at arXiv.org