Difference between revisions of "CMIS"

From LogicalDOC Community Wiki
Jump to navigationJump to search
(Supported Functionality)
m (Current Status)
 
(31 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
management domain-specific data model, a set of generic services that act on that data model and several protocol bindings for these services, including: SOAP and Representational State Transfer (REST).
 
management domain-specific data model, a set of generic services that act on that data model and several protocol bindings for these services, including: SOAP and Representational State Transfer (REST).
  
The LogicalDOC CMIS API allows CMIS compliant clients to communicate with a LogicalDOC repository using the AtomPub format. However, the current implementation is incomplete and the LogicalDOC CMIS implementation should be considered as an experimental/unfinished feature at this time.
+
The LogicalDOC CMIS API allows CMIS compliant clients to communicate with a LogicalDOC repository using the AtomPub format.
 
 
 
New functionality will be added over time.  Check this page for the latest updates.
 
New functionality will be added over time.  Check this page for the latest updates.
  
Line 18: Line 17:
 
* The combination of an open standards based interface and open source means even more peace of mind knowing that your document repository is completely future-proof.
 
* The combination of an open standards based interface and open source means even more peace of mind knowing that your document repository is completely future-proof.
  
===Get Involved===
+
===Versions===
 
 
'''To get involved in testing our CMIS interface, [http://www.logicaldoc.com/community-download download the latest Community Edition] or retrieve the latest code from [http://github.com/ktgit/logicaldoc/tree/master our SVN code repository].'''
 
 
 
===CMIS Version===
 
  
LogicalDOC is currently implementing the CMIS Specification at version 0.61c.
+
The LogicalDOC CMIS connector supports CMIS 1.0 specifications starting from LogicalDOC 6.5.1.
  
 
===Communication Protocol===
 
===Communication Protocol===
Line 30: Line 25:
 
The LogicalDOC CMIS API currently accepts requests and returns responses using the Atom Publishing Protocol (AtomPub.)
 
The LogicalDOC CMIS API currently accepts requests and returns responses using the Atom Publishing Protocol (AtomPub.)
  
==CMIS Clients==
+
==Usage==
 
+
Make sure that the LogicalDOC server is started: 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/logicaldoc.
The LogicalDOC CMIS implementation has been tested with the following CMIS clients with varying results:
 
 
 
===CMISSpaces===
 
 
 
:''Main Article: [[CMISSpaces]]''[[Image:CMISSpaces_Screenshot.png|right|thumb|A content  repository in CMISSpaces]]
 
  
[[CMISSpaces]] is an Adobe Air based client. For compatibility you will want Build 7 or 8.  Earlier builds are not compatible with CMIS 0.61 and Build 9 and later are built against newer versions of the specification. 
+
===AtomPub===
  
Currently supported functionality includes:
+
You can use a CMIS 1.0 AtomPub client and point it at http://localhost:8080/logicaldoc/service/cmis.
  
*Browsing
+
If you want to check the AtomPub XML returned using the command line, this can be done using curl or wget:
*Folder (Space) creation and deletion
+
<pre>
*Document creation and deletion
+
curl -u admin:admin http://localhost:8080/logicaldoc/service/cmis
 +
</pre>
  
As the specification is updated we will attempt to keep LogicalDOC in sync with both the specification and at least one client (with CMISSpaces as our current first choice.)
+
===CMIS Clients===
  
===CMIS Explorer===
+
Several free clients for CMIS 1.0 are available.
:''Main Article: [[CMIS Explorer]]''
 
  
[[Image:Cmis-explorer.png|right|thumb|CMIS Explorer]]CMIS Explorer is an Adobe Air based client. 
+
The best one is the [http://chemistry.apache.org/java/developing/tools/dev-tools-workbench.html CMIS Workbench], part of OpenCMIS.
Note: Adobe Air is required to run this client.
 
  
Currently supported functionality includes:
+
Other older clients are available:
  
*Repository Information
+
    http://code.google.com/p/cmisspaces/ is an Adobe AIR client,
*Repository Object Types and Type Definitions
+
    http://code.google.com/p/cmis-explorer/ is another Adobe AIR client
*List folder contents (children or descendant collections) and browse into sub-folders.
 
*Create Documents (upload)
 
  
CMIS Explorer can be [http://code.google.com/p/cmis-explorer/ downloaded here].
+
And of course you can use the [http://chemistry.apache.org/ Chemistry libraries] to produce your own client (Java, Python, PHP, .NET). Documentation and sample for using OpenCMIS libraries can be found on the [http://chemistry.apache.org/java/developing/index.html OpenCMIS developer wiki] with also [http://chemistry.apache.org/java/examples/index.html example code] and [http://chemistry.apache.org/java/how-to/index.html howtos].
  
 
==Supported Functionality==
 
==Supported Functionality==
  
 
This section lists the functions which are supported by the LogicalDOC CMIS API.  Not all of these will necessarily be available in all CMIS clients.
 
This section lists the functions which are supported by the LogicalDOC CMIS API.  Not all of these will necessarily be available in all CMIS clients.
 +
 +
'''This list refers to LogicalDOC 6.8.2'''
  
 
#View repository information and capabilities.
 
#View repository information and capabilities.
Line 72: Line 61:
 
#Add Folders and Documents
 
#Add Folders and Documents
 
#Deletion of Documents and Folders
 
#Deletion of Documents and Folders
#Viewing of Documents via the document's contentStream property.
+
#Viewing/Download of Documents via the document's contentStream property
 
+
#Viewing/Editing of Documents custom attributes
NOTE: to get all of the latest functionality you may need to check out the latest code from the source repository.  Refer to the LogicalDOC documentation for your version to see what CMIS functionality is present in that version.
+
#Get the Document or Folder object by it's path
  
 
==Current Status==
 
==Current Status==
  
This section describes CMIS functionality which is currently ''under development''.  Functionality listed here may be available if you are using the daily builds but may also be not present, partial, or broken.
+
This section describes CMIS functionality which is currently ''production ready'' (LD 6.8.1).<br/>  
 
+
Functionality listed here are already available:
We are in the process of updating our existing implementation to 1.0 draft 7.
 
 
 
===Known Issues===
 
 
 
Document Check-in supports uploading of a new content stream but the CMIS Clients tested so far do not, so check-in via CMIS can currently not be used to update the actual document content.  Investigations are in progress to determine what can be done about this.
 
 
 
==See Also==
 
  
*[[CMISSpaces]]
+
#Moving of Documents and Folders
*[[CMIS Webservice]]
+
#Update Document metadata
*[[CMIS Explorer]]
+
#Update Folder metadata (folder rename, update folder description)
 +
#Update of document content
 +
#Search for documents (full-text)
 +
#Search for documents (parametric)
 +
#Folder search
 +
#Retrieve of a Document or Folder by it's path (starting from LD 6.8.2)
 +
<br/>
 +
<br/>
 +
<br/>
 +
<br/>

Latest revision as of 09:03, 20 January 2014

Cmis logo.png

Content Management Interoperability Services (CMIS) is a technical specification domain model for interacting with an document centric ECM repository via Web Services. It provides a content management domain-specific data model, a set of generic services that act on that data model and several protocol bindings for these services, including: SOAP and Representational State Transfer (REST).

The LogicalDOC CMIS API allows CMIS compliant clients to communicate with a LogicalDOC repository using the AtomPub format. New functionality will be added over time. Check this page for the latest updates.

Background

Oasis logo.png

CMIS is an OASIS initiative, a consortium focused on driving the definition and uptake of open standards on the web. OASIS is an incubator for a number of draft standards significant in the content management space, in particular, (CMIS) and the recently initiated Integrated Collaboration Object Model (ICOM) specifications.

Aim

  • Seamless (and out-the-box) integration between LogicalDOC and your existing content management infrastructure;
  • Federated searching among multiple LogicalDOC repositories and other content management systems;
  • A far richer set of tools and plugins integrated with LogicalDOC such as the AIR/FLEX and JavaFX Clients;
  • The combination of an open standards based interface and open source means even more peace of mind knowing that your document repository is completely future-proof.

Versions

The LogicalDOC CMIS connector supports CMIS 1.0 specifications starting from LogicalDOC 6.5.1.

Communication Protocol

The LogicalDOC CMIS API currently accepts requests and returns responses using the Atom Publishing Protocol (AtomPub.)

Usage

Make sure that the LogicalDOC server is started: 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/logicaldoc.

AtomPub

You can use a CMIS 1.0 AtomPub client and point it at http://localhost:8080/logicaldoc/service/cmis.

If you want to check the AtomPub XML returned using the command line, this can be done using curl or wget:

curl -u admin:admin http://localhost:8080/logicaldoc/service/cmis

CMIS Clients

Several free clients for CMIS 1.0 are available.

The best one is the CMIS Workbench, part of OpenCMIS.

Other older clients are available:

   http://code.google.com/p/cmisspaces/ is an Adobe AIR client,
   http://code.google.com/p/cmis-explorer/ is another Adobe AIR client

And of course you can use the Chemistry libraries to produce your own client (Java, Python, PHP, .NET). Documentation and sample for using OpenCMIS libraries can be found on the OpenCMIS developer wiki with also example code and howtos.

Supported Functionality

This section lists the functions which are supported by the LogicalDOC CMIS API. Not all of these will necessarily be available in all CMIS clients.

This list refers to LogicalDOC 6.8.2

  1. View repository information and capabilities.
  2. List folder contents (children or descendant collections) and browse into sub-folders.
  3. Fetch Folder or Document parent object
  4. Add Folders and Documents
  5. Deletion of Documents and Folders
  6. Viewing/Download of Documents via the document's contentStream property
  7. Viewing/Editing of Documents custom attributes
  8. Get the Document or Folder object by it's path

Current Status

This section describes CMIS functionality which is currently production ready (LD 6.8.1).
Functionality listed here are already available:

  1. Moving of Documents and Folders
  2. Update Document metadata
  3. Update Folder metadata (folder rename, update folder description)
  4. Update of document content
  5. Search for documents (full-text)
  6. Search for documents (parametric)
  7. Folder search
  8. Retrieve of a Document or Folder by it's path (starting from LD 6.8.2)