I’ve been working on CMIS at Alfresco for a very long time. After more than two years of specification definition, product development and preview releases, I can finally say “go ahead, build your applications on Alfresco CMIS, it’s ready for use”.
- AtomPub and Web Service Bindings
- CMIS Query Language for searching the repository
- Navigation services for browsing the repository
- Object services for create, update and delete of meta-data and content
- Relationship services for creating and traversing associations
- Versioning services for checkout / checkin and history
- Type Definition services for describing meta-data and content
- Access Control services for examining and applying permissions
- Rendition services for accessing alternate views of content
- Change Log services for determining what’s changed in the repository
Unfortunately, Aspects did not make it into the CMIS 1.0 specification. Alfresco wouldn’t be Alfresco without Aspects, so we decided to expose Aspects via the extension mechanism of CMIS, allowing the bindings to play with Aspect coolness. Hopefully, Aspects will appear in CMIS 2.0.
We also map many other Alfresco features through CMIS such as:
- Alfresco Share thumbnails and web previews are available via CMIS Renditions
- Renditions created by the new 3.3 WCM Renditions service are available via CMIS Renditions
- Alfresco Share data lists are readable and writable via CMIS navigation and object services
- The Alfresco Full Text Search language is available in CMIS query contains()
As has always been the case since our first CMIS release back in 2008, we’re already receiving lots of great feedback on Alfresco 3.3 CMIS which I thank everyone for. We’ll be releasing a follow-up to Alfresco 3.3 Community in May primarily to introduce the Google Docs integration, but this will also contain CMIS bug fixes and minor enhancements. A hosted version of Alfresco CMIS is continually updated to the latest “in development” version at http://cmis.alfresco.com.
CMIS specifies a set of protocols, not a programming API. To make it as simple as possible to build applications on CMIS, the Apache Chemistry project provides a CMIS Java Client API, named OpenCMIS. You can think of it as the JDBC of CMIS. As well as contributing to OpenCMIS, we’re also currently working on incorporating OpenCMIS into Spring Surf to provide a development environment for building CMIS based Web Applications. Of course, this environment can be used with Alfresco 3.3.
With all this in place, you can go ahead, build your applications on Alfresco CMIS, it’s ready for use.