February 16, 2010
One of the details that distinguish CMIS from other standard efforts is that all major ECM vendors have built CMIS prototypes long before the specification has been ratified. It’s not surprising that most of these prototypes are repository interfaces and simple GUI clients. But an enterprise-ready client library was missing. So Open Text, SAP and Alfresco teamed up in summer 2009 to build an open source CMIS client library for Java. We called it OpenCMIS.
All three companies brought their CMIS experiences to the table. Our first CMIS prototypes go back to spring 2008. We already had experimented with CMIS clients and knew how a client library should look like. And we could also contribute proven code fragments. Meanwhile the low-level client that implements the CMIS bindings has been tested against most of the public CMIS implementations and against some that are not publicly available.
Today OpenCMIS is more than a client library. It also consists of a CMIS server framework and a set of tools. It was time for a bigger community. The OpenCMIS group proposed a contribution to Apache and has been invited to join Apache Chemistry. Finally, the OpenCMIS source code will be added to Apache Chemistry this week. We are really looking forward to this collaboration. Together we can extend and improve our code bases and foster the adoption of CMIS.
June 3, 2009
A few weeks ago we started the development of a proof-of-concept CMIS client based on Enterprise Connect. Enterprise Connect is a framework that hooks into desktop applications including Outlook, Microsoft Office and the Window Explorer. It provides a plug-in architecture to extend these applications.
The client can connect to CMIS repositories with an AtomPub or a SOAP binding that implement the CMIS draft 0.61. It presents the folder tree and file list in the look and feel of the application it is embedded in. Since it is a proof-of-concept we only implemented a selected set of features:
- folder browse
- display of object metadata, allowable actions and list of versions
- documents open with double-click
- documents can be downloaded via context menu
- folders can be created via context menu
- drag-and-drop works from and to CMIS repositories
- folders and documents can be deleted and renamed
- some document types can be opened in a preview pane
- search is supported to some degree
In addition to this end-user orientated plug-in, we also built a plug-in for administrators and developers. It provides access to all logical repositories a CMIS endpoint exposes and lets the user browse the type and property type definitions.
We have tested the client at the CMIS plug-fest end of April in Basel and it worked quite nicely with most of the available repositories (see screenshots). We also found interoperability issues with a few servers during that event. Most of them were caused by incomplete implementations. So we are confident that those issues will be solved until the next plug-fest.
Although the proof-of-concept just provides limited functionality, it already demonstrates the potential of this approach. A complete implementation would allow users to drag an email directly into a CMIS repository without leaving Outlook. A CMIS repository would be browsable with a tool all users are familiar with: the Windows Explorer. Word, Excel and Powerpoint could open documents directly from a CMIS repository and the user would be able to set the appropriate CMIS metadata for that document in the Save dialog.
The idea of the proof-of-concept turned out to be really compelling. The seamless integration into applications the users already know could fosters the adoption of CMIS. We will do more experiments with it over time.