Adding Enterprise Content Management to your Drupal site using CMIS
Introduction1. The current problem in ECM2. The solution - CMIS3. Benefits of CMIS4. The Drupal CMIS Module5. Demonstration6. Developing your own CMIS Websites7. Conclusion
The Problem with ECM Today
The Solution – CMIS!
CMIS: Content Management Interoperability Services
How CMIS Works
SambaJAM
• REST API• SOAP WebServices• Atom• CMIS Query Language
Benefits of CMISCMIS specification provides a Web services interface that:
• Is designed to work over existing repositories enabling customers to build and leverage applications against multiple repositories -- unlocking content they already have • Decouples Web services and content from the content management repository, enabling customers to manage content independently • Provides common Web services and Web 2.0 interfaces to dramatically simplify application development • Is development platform and language agnostic • Supports composite application development and mash-up by the business or IT analyst
Drupal + CMIS = Enable proper document management on your site
using CMIS and an Enterprise Repository
• Drupal – Community sites, web publishing, eCommerce, web applications
• ECM – Full text search, workflows, renditions, security, auditing, scalability, metadata, version control
Drupal CMIS Module
• cmis.module - CMIS client api • cmis_common.module - CMIS common client library implementation • cmis_browser.module - CMIS repository browser • cmis_query.module - Provides the ability to run CMIS 1.0 queries
against the current CMIS repository. • cmis_sync.module - Allows synchronization between Drupal nodes and
CMIS objects. • cmis_headerswing.module - Demo module that demonstrates using
hook_cmis_service() to access the CMIS repository via header-based authentication such as Basic Auth or NTLM.
• cmis_dev.module - Demo module that displays current CMIS repository's properties. Useful for basic connection testing.
Installation1. Download from http://drupal.org/project/cmis2. Put CMIS module folder into /sites/all/modules directory3. Edit your settings.php to include configuration settings (see below)4. Enable the module in Drupal.
$conf['cmis_repositories'] = array( 'default' => array( 'user' => 'admin', 'password' => 'admin', 'url' => 'http://cmis.alfresco.com/s/cmis' ));$conf['cmis_sync_map'] = array( 'cmis_page' => array( 'enabled' => TRUE, 'cmis_folderPath' => '/DrupalCMISContent' ),);
Demonstration
Develop Content Enabled Websites
• hook_cmis_service() - allows control over CMIS repository connection.
• hook_cmis_info() - used to register a module that implements a CMIS client.
• hook_cmisapi_invoke() - called by cmis api whenever a cmisapi_* is called.
• hook_cmisapi_*() - where * means any CMIS call(ie. getRepositoryInfo). These hooks are called only if hook_cmisapi_invoke() is not defined.
Try it out with SambaJAM
Web: http://www.sambajam.comBlog: http://www.sambastream.com/blogTwitter: @sambastream
SambaJAMSign-up for today for FREE @ http://www.sambajam.com/signup