CMIS
From AlfrescoWiki
Contents |
[edit] Content Management Interoperability Services (CMIS)
What is CMIS.
The latest published CMIS 1.0 Committee Draft 04 Specification.
Keep up-to-date Cover Pages blog posts twitter press.
History
On October 23, 2009, CMIS entered Public Review with the release of CMIS 1.0 Committee Draft 04. Comments are welcome during public review which closes December 22, 2009
On August 18, 2009, Alfresco provided http://cmis.alfresco.com, a hosted version of its CMIS repository and TCK.
On October 06, 2008, OASIS issued a public call for participation in a new technical committee chartered to define specifications for use of Web services and Web 2.0 interfaces to enable information sharing across content management repositories from different vendors. The OASIS CMIS TC works "to standardize a Web services interface specification that will enable greater interoperability of Enterprise Content Management (ECM) systems. CMIS uses Web services and Web 2.0 interfaces to enable rich information to be shared across Internet protocols in vendor-neutral formats, among document systems, publishers and repositories, within one enterprise and between companies."
On October 06, 2008, Alfresco announced the availability of the first implementation of the draft CMIS Specification.
On September 10, 2008, Enterprise Content Management vendors EMC Corporation, IBM Corporation, and Microsoft Corporation announced the publication of Content Management Interoperability Services (CMIS), distributed as a ZIP archive with four prose documents and a collection of schemas, WSDLs, and XML instances. The CMIS objective is to "define a domain model and set of bindings, such as Web Service and RESTful AtomPub that can be used by applications to work with one or more Content Management repositories/systems".
[edit] Alfresco CMIS
Alfresco CMIS is a continually evolving implementation of the CMIS specification. It's released in several forms to provide the CMIS community a vehicle for experimenting with and providing feedback on CMIS as it continues towards final status, expected early 2010.
CMIS Feature Status
- Bindings Supported: RESTful AtomPub, Web Services
- Features Implemented: Read, Write, Query, Types, Versions, Checkout / In, Relationships, Allowable Actions
- Features Under development: Acls, Renditions, Change Log
CMIS Version Support
- Current version
- Community 3.2r2 : CMIS 1.0 Committee Draft 04
- http://cmis.alfresco.com : CMIS 1.0 Committee Draft 04
- svn HEAD : CMIS 1.0 Committee Draft 04
- Older versions
- Community 3.2r : CMIS 0.61
- Community 3.2 : CMIS 0.61
- Enterprise 3.2E : CMIS 0.61 (unsupported)
Overview
When Alfresco is installed and started, the following link http://<host>:<port>/alfresco/service/cmis/index.html provides access to the Alfresco CMIS implementation, including reference documentation for the RESTful AtomPub binding, Web Service WSDL and TCKs.
[edit] RESTful AtomPub Binding
All CMIS RESTful AtomPub services are implemented as Alfresco Web Scripts and support all Web Script capabilities such as authentication, content negotiation, and tunneling.
- CMIS Web Scripts Reference
- Alfresco Repository CMIS Service Document: http://<host>:<port>/alfresco/service/cmis
[edit] Web Services Binding
- Alfresco Repository CMIS WSDL: http://<host>:<port>/alfresco/cmis
[edit] Query Language
All capabilities of CMIS QL are supported (except join between Types). The Alfresco FTS language may be embedded in the CMIS QL contains() predicate.
Alfresco Aspects may also be queried as if they were tables and joined to Types by ObjectId.
select d.*, o.* from cmis:document as d join cm:ownable as o on d.cmis:objectid = o.cmis:objectid
[edit] Test Compatibility Kits
AtomPub Binding
The CMIS AtomPub Tck provides a series of tests that exercise a provider of the CMIS AtomPub binding. Tests are implemented as a series of JUnit test cases.
The Alfresco Repository has the AtomPub TCK built-in. It's accessible from:
http://<host>:<port>/alfresco/service/cmis/index.html
By default, the TCK tests the host Alfresco Repository, but may test any CMIS AtomPub binding provider.
Note: The TCK has now been contributed to Apache Chemistry where it is now maintained.
Web Services Binding
The CMIS Web Services Tck provides a series of tests that exercise a provider of the CMIS Web Service binding. Tests are implemented as a series of JUnit test cases.
At this time, the Web Services Tck are tied to Alfresco.
[edit] Apache Abdera CMIS Extension
Apache Abdera is an implementation of the Atom Syndication Format (RFC 4287) and Atom Publishing Protocol (RFC 5023) specifications. The CMIS RESTful AtomPub binding is an extension of the Atom Publishing Protocol. Therefore, Apache Abdera may be used as a client library to any CMIS AtomPub binding provider.
To support the custom CMIS schema, a CMIS extension for Apache Abdera is available:
Note: The CMIS extension is now part of Apache Chemistry. Note: There are in fact two extensions, which will be merged
[edit] Implementation Details
CMIS To Alfresco Mapping
The CMIS technical draft specification defines a domain model and set of API bindings.
The Alfresco Content Repository is mapped as follows:
Change List
- Changes from v0.7 to 1.0cd04
- Changes from v0.62f to v0.7
- Changes from v0.6 to v0.61
- Changes from v0.5 to v0.6
[edit] Interoperability
Although the CMIS specification is not yet final, several initiatives are underway to implement both CMIS providers and clients.
Discussion of interoperability problems between CMIS clients or servers
[edit] CMIS Providers
Vendor Repositories
- Alfresco Draft CMIS Implementation
- Hosted Alfresco Draft CMIS Implementation (username/password=demo/demo) Alfresco CMIS Demo Site
- EMC Documentum
- IBM FileNet P8 Content Manager 4.0
- sensenet
- Day Software (hosted)
- KnowledgeTree
- CMIS for SharePoint
[edit] CMIS Toolkits
Client APIs, Protocol Bindings, SPI, Test Repositories
- Apache Chemistry
- CMIS FileShare by Florian Mueller
- NCMIS (.NET)
- PHP CMIS Client API Module
- Python cmislib
- Flex CMIS Client API
- CMIS Spaces ActionScript (Flex+Browser, Flex+AIR) Client APIs for both CMIS Atom REST and CMIS Web Services
- Apache Chemistry AtomPub TCK Java CMIS Client
- A CMIS 1.0 Public Review Maven Archetype for simple CMIS app scaffolding using Chemistry AtomPub TCK CMISClient
[edit] CMIS Clients (User Interfaces, Tools)
User Interfaces, Tools
- CMIS Federated Search from AIIM iECM Demo
- Drupal CMIS Alfresco Module
- Joomla Integration
- Shane Johnson's Flex/AIR CMIS Browser Source code Google Group
- Steve Reiner's CMIS Spaces Flex+AIR and Flex+Browser Clients Source code Google Group
- Sten Andersons JavaFX Client
- Jan Pfitzner's Ext GWT Client
- Integrating External Document Repositories with SharePoint Server 2007
- sensenet CMIS Client sensenet CMIS Aggregation
- CMIS iPhone client (alpha)
[edit] PlugFests (Compatibility Testing Events)
- Redmond Aug 08
- Basel Apr 09 Report Day 1 live Day 2 live and results Day 1 report Day 2 report Interop Videos
[edit] Resources
If you still haven't had enough of CMIS...
- Alfresco Press Release
- Read what our CTO, John Newton has to say about CMIS
- Alfresco Labs 3 Final download
- Alfresco Draft CMIS Implementation Blog
- Alfresco Draft CMIS Implementation Forum
- CMIS Developer Toolbox
- CMIS Top Ten Questions.
- View the CMIS webinar recording on-demand
- "Getting Started with CMIS" tutorial on ECMarchitect.com
- Take the 1-minute CMIS Survey!
- EMC Corporation Press Release EMC Developer Network: CMIS Community EMC CMIS Webinar
- IBM's WebSite IBM CMIS Prototype for FileNet P8 Content Manager 4.0
- Microsoft Sharepoint Blog Announcement, Microsoft ECM Blog Announcement
Categories: CMIS | 3.0



