CMIS is the upcoming specification from OASIS for content management interoperability. It is currently in draft form but has been submitted to the OASIS instances for ratification. It is expected that CMIS will be released as an OASIS standard, CMIS 1.0, early May 2010.
Outline of this document:
Status
Nuxeo supports CMIS through the following modules:
- the Apache Chemistry library, maintained by Nuxeo and others, which is a general-purpose Java library allowing developers to easily write CMIS clients and servers,
- specific Nuxeo Chemistry backend OSGi bundles, allowing Nuxeo to be used as a CMIS server with the help of Chemistry.
Versions
Currently a subset of CMIS 1.0 is supported by Apache Chemistry and the Nuxeo Chemistry backend. The Nuxeo Chemistry backend is included by default in Nuxeo DM since version 5.3.1.
Online demo
A demo server has been set up with recent snapshots of the Chemistry and Nuxeo Chemistry add-ons.
You can try it here: http://cmis.demo.nuxeo.org/ (login: Administrator / password: Administrator).
The service document is here: http://cmis.demo.nuxeo.org/nuxeo/site/cmis/repository (same credentials).
Downloads
Packaged DM release
The Nuxeo DM version 5.3.1 release now provides CMIS by default. You can get it from here:
http://nuxeo.com/en/downloads/download-dm-form
Nuxeo CoreServer
We're now also providing an extra lightweight packaging of a Nuxeo repository that only includes CMIS access to the repository (no web UI at all).
You can grab it here:
http://www.nuxeo.org/static/releases/nuxeo-5.3.1/nuxeo-coreserver-5.3.1-tomcat_02.zip
Usage
Start the Nuxeo server and check that there are no errors in the startup logs and that you can normally connect to your server using a browser, at http://localhost:8080/nuxeo.
AtomPub
You can use a CMIS 1.0 AtomPub client and point it at http://localhost:8080/nuxeo/site/cmis/repository. Note that you will need to use HTTP Basic Auth.
If you want to check the AtomPub XML returned using the command line, this can be done using curl or wget:
curl -u Administrator:Administrator http://localhost:8080/nuxeo/site/cmis/repository
To do a query you can do:
curl -u Administrator:Administrator "http://localhost:8080/nuxeo/site/cmis/query?q=SELECT+cmis:objectId,+dc:title+FROM+cmis:folder+WHERE+dc:title+=+'Workspaces'"
You should probably pipe this through tidy if you want a readable output:
... | tidy -q -xml -indent -wrap 999
SOAP
The following SOAP endpoints are available at the moment:
- http://localhost:8080/nuxeo/webservices/cmis/RepositoryService
- http://localhost:8080/nuxeo/webservices/cmis/DiscoveryService
- http://localhost:8080/nuxeo/webservices/cmis/ObjectService
- http://localhost:8080/nuxeo/webservices/cmis/NavigationService
Authentication is done using WSS UsernameToken.
Here is a working example of a SOAP message to the DiscoveryService:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://docs.oasis-open.org/ns/cmis/messaging/200908/"> <soapenv:Header> <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <UsernameToken> <Username>Administrator</Username> <Password>Administrator</Password> </UsernameToken> </Security> </soapenv:Header> <soapenv:Body> <ns:query> <ns:repositoryId>default</ns:repositoryId> <ns:statement>SELECT cmis:objectid, dc:title FROM cmis:Document WHERE dc:title = 'Workspaces'</ns:statement> <ns:maxItems>20</ns:maxItems> <ns:skipCount>0</ns:skipCount> </ns:query> </soapenv:Body> </soapenv:Envelope>
CMIS Clients
Several free clients for CMIS 1.0 are available:
- http://code.google.com/p/cmisspaces/ is an Adobe AIR client (you will need to change the cmisUrl parameter in the file CMISSpacesConfig.xml to point it to your Nuxeo server),
- http://code.google.com/p/cmis-explorer/ is another Adobe AIR client,
- http://www.ibm.com/developerworks/lotus/library/quickr-cmis/ is a Firefox plugin (see bottom of page for download link).
A command-line shell is also available:
- CMIS Shell (direct 2MB download of most recent version)
And of course you can use Chemistry libraries to produce your own client (java, python). Documentation and sample for using Chemistry libraries can be found:
- on the Chemistry wiki pages,
- in the ESUP community wiki (french),
- on the sample client we made available for checkout and analysis here.
Documentation
You can download the latest CMIS drafts:
Source Code
The Nuxeo Chemistry Backend source code is available through Nuxeo's Mercurial server: http://hg.nuxeo.org/addons/nuxeo-chemistry/.
The Apache Chemistry source code is available via Apache's Subversion server: http://incubator.apache.org/chemistry/source-repository.html. For the trunk, you should checkout http://svn.apache.org/repos/asf/incubator/chemistry/trunk.
Additional Resources
- CMIS: Overview of a Rapidly Evolving ECM Standard, presentation on SlideShare
Comments (1)
Apr 29
Anonymous says:
hi Florent there is a problem with CoreServer's download link. Seems to be htt...hi Florent
there is a problem with CoreServer's download link. Seems to be http://www.nuxeo.org/static/releases/nuxeo-5.3.1/nuxeo-coreserver-5.3.1-tomcat_02.zip.
regards,
marc
Anonymous replies:
Help Tips
- Text formatting
- Headings
- Lists
Full notation guide*bold*bold_italic_italich1.Large headingh5.Small heading*Bulleted point#Numbered pointAdd Comment