CMIS Interoperability

CMS Wire recently picked up the development of CMIS Explorer by Shane Johnson (@shane_dev) at CityTech. CMIS Explorer (download) is a browser application written in Adobe AIR and Flex that uses the RESTful AtomPub binding of the proposed CMIS standard to interact with CMIS-compliant repositories.

Already early access support for CMIS is available from EMC, IBM and Alfresco. Such support makes it possible for applications like CMIS Explorer to be applied to a variety of content repositories in ways not possible before CMIS.

As fellow OASIS CMIS TC member Florent Guillaume from Nuxeo comments, though, CMIS is not yet a formal (fixed) standard. It is under development and somewhat fluid.

When a content repository vendor provides draft support, don’t assume that such support fully conforms to the current draft specification (e.g. v0.5). If you’re an application developer like Shane, you can know conformance exists by first building against what is specified on the OASIS site for CMIS and then pointing your application at desired content repository or repositories.

For example, you can point CMIS Explorer at a Documentum content repository via EMC CMIS support EA2 to search and to see types.

Searching a Docbase via CMIS Explorer

Reviewing Docbase types via CMIS Explorer

However, while basic interoperability seems OK, something prevents actual browsing functionality in CMIS Explorer from working with Documentum. In its com.citytechinc.cmis.Repository.setFolder() method, CMIS Explorer tries to get folder objects from root children via the following condition:'BaseType').value == "folder"
However, draft CMIS specification v0.5 does not define a BaseType property, not does the EMC CMIS support EA2 contain this property. As a result, CMIS Explorer cannot find any folder object in root children, which prevents it from being able to browse a Docbase.

To be fair, my colleague, Norrie Quinn, has already pointed out this matter on Shane’s post, and Shane has replied.

My focus here is simply as follows: It’s important for applications to leverage the currently proposed CMIS bindings from OASIS rather than a particular vendor’s implementation of these bindings in order to promote interoperability.

It will be good to see the emergence of CMIS-based applications that go beyond exploration, navigation and portal-style user experiences. Such applications will help to influence the CMIS roadmap beyond version 1.0.

In the meantime, it’s great to see open source efforts like CMIS Explorer take root today. Thanks, Shane.

P.S. It would be good to see a community form around CMIS-based application development (e.g. shine a light on individual efforts, potentially pool interest and resources, solicit ideas and challenges, etc.). If you’re interested in something like, please leave me a comment. In the meantime, I plan to promote community efforts here as best I can. Thanks.