Drupal CMIS Modules Launched

Over the weekend, the Optaros team, after working with Alfresco and Acquia, launched the Drupal CMIS and CMIS Alfresco modules on drupal.org. The long-term goal of these modules is to provide both a robust API and a vendor-specific implementation of the API for connecting to an ECM repository via the CMIS standard protocol.

These projects actually had their beginnings almost a year ago as a result of discussions among Jeff Potts, John Eckman, myself and some of the folks at Alfresco, among others. It seemed as though Drupal's excellent UGC and Web CMS capabilities but lack of a robust document management component made the marriage of Drupal and Alfresco a likely win but there were many questions about how (and sometimes why) to make the most of the integration. After several false starts, built primarily relying on Alfresco's customizable Web Scripts interface, the decision was made to build a standars-compliant API, based on the emerging CMIS standard, which could be implemented by an Alfresco-specific module, among others. Most of the heavy lifting for the module was done by members of the Optaros team, with significant contributions from Alfresco and feedback from Acquia

From the site administrator standpoint, the two modules provide the following integration between Drupal and Alfresco:

  • Create Alfresco documents from Drupal nodes
  • Create Drupal nodes from Alfresco documents
  • Browse the Alfresco repository from the Drupal Admin
  • Search the Alfresco repository using either CMIS Query Language or OpenSearch from the Drupal admin
  • Configure how Drupal nodes will be saved in Alfresco, Alfresco documents published to Drupal, etc.

For developers the CMIS module will an API for additional vendors to implement, making it relatively easy to integrate Drupal with other CMIS-compliant systems, such as those from Microsoft, IBM Open Text, EMC and others.

Deploying the CMIS and CMIS Alfresco modules is actually quite straightforward. The system requirements are Drupal 6, Alfresco 3 (Labs or Enterprise), PHP 5 (with cURL and SimpleXML), Apache 2 and MySQL 5. Out-of-the-box installations of Alfresco and Drupal (plus the cmis and cmis_alfresco modules) are all that's required. Once Alfresco and Drupal are up and running, configuring the connection consists of choosing the vendor software package, entering login credentials and choosing how Drupal will handle nodes published from Alfresco.


Alfresco Access Settings


CMIS Sync Settings

Once the repository is enabled, options are available to search and create content that will live in the repository and any content that is created in the specifed directory in Alfresco will automatically be entered in Drupal on the next cron run per the CMIS settings. One of the nicer features that's been implemented is the ability to search the Alfresco repository via either the CMIS Query Language (no, it probably won't be called CQL) or OpenSearch. This makes it possible to have anything from a very granular search returning only documents authored within a given date range and housed in a specific directory to a very general (but "intelligent") search for any document containing the word "blog."

Alfresco Repository Search

While a good amount of work has been done to implement these and other features, there's still a significant roadmap in place to achieve all the functionality that the task force has identified as being useful to developers and site administrators alike. Among the things still to come are better file handling for attachments, CCK and Views integration and a variety of bug fixes and minor improvements. We're looking forward to hearing feedback from the community with ideas for even more features. A project page for both modules will soon be available on Optaros oForge with full details of what we're planning next.

Submitted by Chris on 02/23/2009 Login or register to post comments.