CMIS

Content Management Interoperability Services (CMIS) is a technical specification domain model for interacting with an document centric ECM repository via Web Services. It provides a content management domain-specific data model, a set of generic services that act on that data model and several protocol bindings for these services, including: SOAP and Representational State Transfer (REST).

The LogicalDOC CMIS API allows CMIS compliant clients to communicate with a LogicalDOC repository using the AtomPub format. However, the current implementation is incomplete and the LogicalDOC CMIS implementation should be considered as an experimental/unfinished feature at this time.

New functionality will be added over time. Check this page for the latest updates.

Background
CMIS is an OASIS initiative, a consortium focused on driving the definition and uptake of open standards on the web. OASIS is an incubator for a number of draft standards significant in the content management space, in particular, (CMIS) and the recently initiated Integrated Collaboration Object Model (ICOM) specifications.

Aim

 * Seamless (and out-the-box) integration between LogicalDOC and your existing content management infrastructure;
 * Federated searching among multiple LogicalDOC repositories and other content management systems;
 * A far richer set of tools and plugins integrated with LogicalDOC such as the AIR/FLEX and JavaFX Clients;
 * The combination of an open standards based interface and open source means even more peace of mind knowing that your document repository is completely future-proof.

Get Involved
To get involved in testing our CMIS interface, download the latest Community Edition or retrieve the latest code from our SVN code repository.

Versions
The LogicalDOC CMIS connector supports CMIS 1.0 specifications starting from LogicalDOC 6.5.1.

Communication Protocol
The LogicalDOC CMIS API currently accepts requests and returns responses using the Atom Publishing Protocol (AtomPub.)

Usage
Make sure that the LogicalDOC server is started: check that there are no ERRORs in the startup logs and that you can normally connect to your server using a browser, at http://localhost:8080/logicaldoc.

AtomPub
You can use a CMIS 1.0 AtomPub client and point it at http://localhost:8080/logicaldoc/service/cmis.

If you want to check the AtomPub XML returned using the command line, this can be done using curl or wget: curl -u admin:admin http://localhost:8080/logicaldoc/service/cmis

CMIS Clients
Several free clients for CMIS 1.0 are available.

The best one is the CMIS Workbench, part of OpenCMIS.

Other older clients are available:

http://code.google.com/p/cmisspaces/ is an Adobe AIR client, http://code.google.com/p/cmis-explorer/ is another Adobe AIR client

And of course you can use the Chemistry libraries to produce your own client (Java, Python, PHP, .NET). Documentation and sample for using OpenCMIS libraries can be found on the OpenCMIS developer wiki with also example code and howtos.

Supported Functionality
This section lists the functions which are supported by the LogicalDOC CMIS API. Not all of these will necessarily be available in all CMIS clients.

This list refers to LogicalDOC 6.5.1


 * 1) View repository information and capabilities.
 * 2) List folder contents (children or descendant collections) and browse into sub-folders.
 * 3) Fetch Folder or Document parent object
 * 4) Add Folders and Documents
 * 5) Deletion of Documents and Folders
 * 6) Viewing/Download of Documents via the document's contentStream property.

NOTE: to get all of the latest functionality you may need to check out the latest code from the source repository. Refer to the LogicalDOC documentation for your version to see what CMIS functionality is present in that version.

Current Status
This section describes CMIS functionality which is currently production ready. Functionality listed here are already available:


 * 1) Moving of Documents and Folders
 * 2) Update Document metadata
 * 3) Update Folder metadata (folder rename, update folder description)
 * 4) Update of document content
 * 5) Search for documents (full-text)
 * 6) Search for documents (parametric)
 * 7) Folder search
 * 8) Retrieve of a Document or Folder by it's path