1. WCM Solutions with Drupal and Alfresco
Wednesday 7th March 2012
With Ian Norton and Jeff Potts
2. About Ian Norton
• 8 Years content management experience."
• Alfresco & Drupal."
• Created the Drupal CMIS Views module."
3. Introduction
• Why would you integrate?"
• Integration considerations."
• User management."
• Integration options."
• The Alfresco Partner site & CMIS Views"
• How it works."
• Questions and answers."
4. Why would you want to integrate?
An integrated solution provides:
• Document management."
• Web presentation management."
• Seamless presentation of documents in the web
browser."
5. Integration considerations."
Push!
• Drupal treated as a deployment target (Richard
McKnight has built this in the AVM)."
Pull!
• The CMIS Module uses a pull mechanism."
• CMIS Sync actually pulls the content and creates a
copy in Drupal."
• Some of the other modules just pull a CMIS folder
object and display them."
6. User Management"
• Consider User Management Carefully."
• Do you want your users to be authenticated against
Alfresco when they login to Drupal?"
• Consider ‘safe’ folders in Alfresco that are accessible
with a generic ‘drupal’ user."
"
7. Integration options."
PHP CMIS Wrapper
• Written by Richard McKnight."
• Contributed to Apache Chemistry."
• Used by Drupal, Wordpress, SugarCRM."
• http://chemistry.apache.org/php/phpclient.html"
"
"
10. Integration options."
Canopy: A Drupal / Alfresco Integrated Solution
• Web Services, REST API’s, CMIS"
• Create pages in Drupal, workflow in Alfresco."
• Two way process, create in Alfresco or Drupal."
• Good for advanced workflow + publishing directly from
Alfresco"
• http://www.appnovation.com/canopy/"
11. Integration options."
Drupal CMIS API
• Query, Browse & Sync modules."
• Good for managing documents in Alfresco and then
surfacing them in Drupal."
• Ideal platform to build on."
• Richard McKnight’s CMIS PHP Wrapper."
• Used by 277 sites."
• http://drupal.org/project/cmis"
13. Integration options."
Drupal CMIS Views
• Built for Alfresco Team later extended."
• Takes a folder path and returns a PHP object."
• Allows blocks of CMIS content to be themed by Drupal."
• Built on the Drupal CMIS API."
• Used on Alfresco Team, Partners and forthcoming
dotcom."
• http://drupal.org/project/cmis_views"
15. Demo time
• Uploading from Drupal via CMIS browser"
• Displaying in Drupal site as a themed block."
16. So what’s happening?
• The Alfresco folder path is sent to the CMIS API to
determine it’s objectID using
‘cmisapi_getObjectByPath’"
• The preferences for the view are saved to the
database including the theme information."
• At runtime Drupal executes a query based on the
objectID – it also joins the Alfresco cm:titled aspect
which isn’t supported by default."
• Drupal themes the block dependent on the users
selection."
17. So what’s happening?
• The Alfresco folder reference is saved in Drupal."
• ‘select d.cmis:name, t.cm:description, t.cm:title, d.cmis:lastModificationDate,
d.cmis:contentStreamMimeType, d.cmis:objectId, d.cmis:contentStreamLength
from cmis:document as d join cm:titled as t on d.cmis:objectid = t.cmis:objectid
where in_folder(d, '" . $uuid . "') ORDER BY d.cmis:name ASC’"
• We can change the theme retrospectively and even
change the folder that we point to."
• Permissions are created to view and administer CMIS
Views."
"
18. Future Plans
• CMIS Sync, entities in Drupal 7."
• CMIS Views, becomes a views plugin."
• CMIS Search, offers federated search across the two
systems."