Last week, Alfresco released Labs 3B on the same day that EMC, IBM and Microsoft announced the publication of CMIS. This was no coincidence.
Labs 3B includes the first publicly available and open source implementation of CMIS v0.5 as used in the recent 'Plugfest' where IBM, EMC, Microsoft, Open Text, Oracle, SAP and Alfresco got together to test the interoperability of their servers and clients via CMIS.
Alfresco has been a contributing member to the specification for some time. Since the beginning we felt it best to provide feedback and push forward the specification by actually building an implementation against the specification, to test how feasible it is to map to an existing content repository and for developing test clients that support the primary use cases. Within Alfresco, the implementation is known as Project Seamist. We had to use a code name as keeping stuff secret was not easy for an open source company built on transparency!
The Draft CMIS implementation in Alfresco Labs 3B provides:
Support for the CMIS REST and Web Services bindings allowing client applications to connect to, navigate, read, and create content against the Alfresco content repository. The CMIS REST binding is built upon Alfresco's Web Scripts with extensions for Atom / AtomPub. It's a natural fit. It's something we've anticipated for a while. The CMIS Web Services binding is built upon Apache CXF.
Support for the CMIS Query Language providing SQL-like querying of the repository including location, properties, and full-text.
A CMIS Test Suite to allow compliance compatibility testing against any CMIS compliant REST Binding.
This is really just the beginning for CMIS. A draft TC charter has been submitted to OASIS and we look forward to the time when CMIS becomes an OASIS standard. Between now and then, there's plenty to discuss. I expect a cross-section of ECM, Web Service and RESTful expertise to join in. That's why we're providing the Draft CMIS implementation; to foster discussion, to provide a learning tool to gain hands-on experience and to ensure a robust, implemented specification.
We'll keep the implementation fresh as the specification moves forward. The following resources will help keep you up-to-date:
This blog will continue to provide information on the CMIS specification, Alfresco's Draft CMIS Implementation, and how CMIS contrasts with JCR, so subscribe now, and have fun with the Draft CMIS Implementation.