Now that CMIS (Content Management Interoperability Services) is an official OASIS standard, life should become easier for people trying to access their content repositories through multiple tools. An extension of the existing SOAP specification, CMIS makes it possible to store your documents in a CMIS-compliant repository and then access them from any CMIS-compliant application.
The advantage here is that you no longer have to know which repository you're talking to. Of course, no standard is worth the bits it's recorded on if people don't comply with it. Fortunately, CMIS is backed by a Who's Who of the Enterprise Content and Document Management industry, including Adobe Systems Incorporated (news, site), AIIM (news, site), Alfresco Software, IBM (news, site) and Microsoft (news, site).
An Example: Alfresco, CMIS and Drupal
Part of Alfresco Enterprise Edition 3.3 is a collection of content services tools for IBM Lotus, Microsoft Outlook, Drupal (news, site) and Google Docs. An example of just how powerful CMIS is in terms of enabling you to access your content from a variety of tools, let's take a look at the Drupal integration.
According to Chris Fuller of Optaros, in the past, to integrate and interact with an Alfresco repository, you had to use their Web Scripts. But your same code wasn't then portable enough to use with repositories from other vendors, forcing you to duplicate your work if you used solutions from more than one vendor.
CMIS lets you abstract this process so you can write your code once and use it with any repository. When it comes to Drupal, Fuller says that while the open source CMS's strength is in a powerful, flexible presentation framework, there are three good reasons some would prefer a CMIS-compliant repository on the back end instead of using Drupal's file management tools:
- The File Framework module can do file format transformations and basic workflow tasks, but a specialized product like Alfresco offers a much richer, more complex workflow system.
- There's really no file security in Drupal for your documents.
- An enterprise with ECM already in place won't want to move all of their documents into Drupal, there's no good reason to scrap all of the work they've already done, integrate the ECM backend with Drupal (or your preferred CMS) instead.
The Drupal CMIS integration module set implements the CMIS API for Drupal, with no additional software required on the Alfresco side of things. With this set of modules installed, you can:
- Get basic information about the repository and ensure access is working
- View contents of the repository and their properties
- Drill down into folders within the repository
- Create folders and content within the repository
- Upload content to the repository and yet have it exist in a Drupal node where you can rate, comment and do anything else you can do with a Drupal node
- Search the repository, limited by your access permissions
- Kick off workflows and transforms you created within Alfresco (so for example, when you drop a Word document into a particular folder, Alfresco creates a PDF of that document automatically
You can find a production example of Alfresco and Drupal working together through CMIS in the resources section of the Alfresco Community Demo site. It's worth taking a look at. You can also learn more by watching the Drupalcon presentation Enterprise Content Management With Drupal, Alfresco and CMIS .
The Alfresco Community demo site showing Drupal accessing an Alfresco repository through CMIS.