Drupal Alfresco Integration
Why and When?
Choosing to use Drupal and Alfresco together makes the most since in situations where companies can fully leverage the strengths of both platforms and have the resources to manage each effectively. This may be a result of one of the two systems already being in place in an organization. Maybe the enterprise has an IT organization that’s comfortable with Java applications, while marketing or eBusiness need a more flexible “front-end” tool for content management. Or perhaps there’s a need to marry a flexible framework for user-generated content to a document management platform with robust workflow and security.
In any case, there is inherently more work involved in supporting two platforms than a single one. However, for many clients the benefits of being able to use both systems together seamlessly outweigh the relatively small implementation and maintenance hurdles that need to be overcome. After seeing this pattern repeated, Optaros decided to invest in creating a suite of modules that would provide a standardized way for companies to integrate these two applications.
Enter CMIS
A large part of the timing of this effort was due to the maturation of the then-nascent CMIS standard. CMIS is an OASIS standard that defines a structured system for content management systems to exchange data. From the OASIS home page, CMIS uses “Web services and Web 2.0 interfaces to enable information sharing across content management repositories from different vendors.” In short CMIS has often been touted as being to content management systems, what SQL was to databases.
Alfresco is one of the contributing members of the CMIS effort so leveraging CMIS seemed to be a natural fit. The decision to pursue this course led to an initial version of the Drupal CMIS module that offered a generic API and an Alfresco-specific implementation. That was a good start but, with the advent of CMIS 1.0, the decision was made to create a truly generic, pluggable API that can work with any CMIS-compliant repository.
The result is the current implementation of the Drupal CMIS module, which offers a solid list of features and integration capabilities “out of the box.” The current release of the module supports bi-directional sync of custom content types, fields and attributes, CCK support and the ability to upload files into Alfresco and attach them to Drupal nodes, among other things (see the module page and README.txt for a complete list).
The ongoing development of this module has led to increased interest in Drupal-Alfresco integration in general and has brought a number of new opportunities to Optaros, where we’ve been continuing to leverage the capabilities of both platforms.
Activision
When Optaros first started discussing a new extranet with Activision, the company had already made a significant investment in Alfresco, in part due to their positive experience with the platform from Optaros' previous DAM project. In this case, Activision wanted to use Alfresco for document management and had plans to roll out Alfresco as a replacement for their SMB-based file servers over time.
Using the existing Drupal CMIS modules and adding a number of enhancements, the Optaros team was able to support several key pieces of functionality, including search and association of documents stored in Alfresco with Drupal content. Since Activision wanted to immediately begin using Alfresco to store HR benefits documents, the most important aspect of this integration was that it respect permissions and be flexible enough to automatically display the correct benefits documents to any given user of the site, based on their role. In this way, members of a particular studio would see one set of benefits while corporate employees would see another and executives yet another - all without content managers needing to make any manual changes.
Alfresco
Alfresco itself is also building its new community on Drupal, using CMIS to connect to Alfresco for various features on the site. In particular, the Resources section will be used to store whitepapers, documentation, code samples and other documents in Alfresco, while using Drupal and CMIS to provide a browsable directory structure UI to present the documents to community members. There’s also a contribution drop zone available, with Alfresco workflow attached, so users can upload new documentation that the Alfresco team can manage in Alfresco.
Additional Information
If you’d like more information about integrating Alfresco and Drupal, please check out: