We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

CMIS Server plugin 2.0

Description

This plugin CMIS server feature to an existing JCMS application (CMIS version 1.1).

A CMIS repository is a workspace with some properties to activate the feature, like a category to declare the navigation root. Folder are descendant categories of the navigation root and documents are documents with categories in this branch.


Installation

Installing the module

With assistance

The module comes with an ant script for updating a web application.

Its location is WEB-INF/plugins/CMISServerPlugin/build.xml

The execution of this script is done by specifying as basedir in the WEB-INF directory

Example with Ant

<subant target="">
   <property name="basedir" value="${app_webapp}/WEB-INF/" />
   <fileset dir="${app_webapp}" includes="WEB-INF/plugins/**/build.xml" />    
</subant>

or with the command line

ant -Dbasedir=/home/ludovic/dev/tmp/webapp/WEB-INF/ -f plugins/CMISServerPlugin/build.xml

Without assistance

  • Decompressing plugins in a blank JCMS
  • Modify the content of the web.xml to add elements concerning filters, listeners and servlets
    • The elements to be copied are to be extracted from the WEB-INF/plugins/CMISServerPlugin/snippet/xxx.snippet files contained in the plugin, in CDATA blocks

 

Login

CMIS clients must be configured with the following parameters:

  • Connection type: Atom Pub
  • URL : https://mon-appli:port/context/cmis/atom11  (HTTPS is recommended)
  • user: application's user
  • password : user's password
  • type of authentication: standard (the module takes the pro elements performs an internal delegation of authentication on the JCMS authentication process)

Note: Other connection modes (e.g. web services) are not yet available.

Features

The module proposes to expose via CMIS the documents present in the configured spaces, whatever their type (normal or basic).

The configuration of a space is presented in the following video Configuration d'un entrepôt CMIS

For each space configured as a CMIS warehouse, a navigation category will be defined. It is this category that will indicate the CMIS tree structure. The documents (inheriting from FileDocument) present in these categories will be presented via CMIS.

Here is a list of the functionalities present within the module:

  • warehouse shipping
  • management of directories (creation, update, deletion, move, ...) with rights management
  • Document management (creation, update, checkin/checkout, versioning, deletion, moving, ...) with rights management
  • Query features (querying in metadata or document content). This point is subject to constraint and it is necessary to consult the Limit paragraph to know its scope
  • Pagination
  • Consulting CMIS types and their metadata

 

The following points are not implemented or only partially implemented :

  • Managing relationships between CMIS objects
  • The management of ACLs (although JCMS rights are applied to the objects)
  • Policy management
  • The "renditions" and/or documents associated with a CMIS document are not available
  • The management functionalities of the CMIS types (outside consultation) are not available

Example of possible queries

  • SELECT * FROM cmis:document
  • SELECT cmis:name FROM cmis:document
  • SELECT cmis:name as test FROM cmis:document
  • SELECT cmis:name, cmis:objectId FROM cmis:document
  • SELECT cmis:objectId, cmis:name as test FROM cmis:document
  • SELECT * FROM cmis:com_jalios_jcms_DBFileDocument
  • SELECT cmis:objectId FROM cmis:document where IN_TREE('a_12345')
  • SELECT cmis:objectId FROM cmis:document where IN_FOLDER('a_12345')
  • SELECT cmis:objectId FROM cmis:document ORDER BY cmis:lastModificationDate DESC
  • SELECT cmis:objectId FROM cmis:document ORDER BY cmis:lastModificationDate ASC
  • SELECT cmis:objectId FROM cmis:document where cmis:creationDate > 123456789
  • SELECT cmis:objectId FROM cmis:document where cmis:creationDate > '2016-09-01T18:33:38Z'
  • SELECT cmis:objectId FROM cmis:document where cmis:creationDate >= 123456789
  • SELECT cmis:objectId FROM cmis:document where cmis:creationDate < 123456789
  • SELECT cmis:objectId FROM cmis:document where cmis:lastModificationDate = '2016-09-01T18:33:38Z'
  • SELECT cmis:objectId FROM cmis:document where jalios:pdate <= '2016-09-01T18:33:38Z'
  • SELECT cmis:objectId FROM cmis:document where jalios:pstatus = 0
  • SELECT cmis:objectId FROM cmis:document where jalios:pstatus > -1
  • SELECT cmis:objectId FROM cmis:document where jalios:pstatus <= 0
  • SELECT cmis:objectId FROM cmis:document where jalios:pstatus IN (0,1,2,3)
  • SELECT cmis:objectId FROM cmis:document where cmis:name = 'A.txt'
  • SELECT cmis:objectId FROM cmis:document where cmis:name LIKE 'A.txt'
  • SELECT cmis:objectId FROM cmis:document where cmis:name LIKE 'A%'
  • SELECT cmis:objectId FROM cmis:document where cmis:name LIKE 'A.t_t'
  • SELECT cmis:objectId FROM cmis:document where cmis:name LIKE 'A%txt'
  • SELECT cmis:objectId FROM cmis:document where cmis:name LIKE 'A%.tt'
  • SELECT cmis:objectId FROM cmis:document where cmis:name <> 'A.txt'
  • SELECT cmis:objectId FROM cmis:document where cmis:name NOT LIKE 'A%'
  • SELECT cmis:objectId FROM cmis:document where IN_TREE('a_12345') and cmis:name LIKE 'A_txt'
  • SELECT cmis:objectId FROM cmis:document where CONTAINS('ContentA')
  • SELECT cmis:objectId FROM cmis:document where CONTAINS('ContentA%')
  • SELECT cmis:objectId FROM cmis:document where CONTAINS('ContentA%') and cmis:lastModificationDate > 123456789

 

Limits

Here are the current limitations of the module:

  • The connection is only via the ATOM PUB channel, not webservices
  • Checkout management is based on locks and not on working copies. This constraint should be removed once the core will be able to make working copies of the base objects.
  • The titles (and therefore the CMIS paths) are all given in the language of the site. This does not prevent the storage of titles in other languages (but in the metadata of the documents or categories).
  • The internal JCMS query engine does not support all CMIS queries and therefore the following elements are not supported:
    • multiples clauses "ORDER BY"
    • Opérateur OR
    • Opérateur NOT
    • Opérateur NOT IN
    • Opérateur ANY IN
    • Opérateur ANY NOT IN
    • Opérateur ANY =
    • Opérateur IS NULL
    • Opérateur IS NOT NULL
  • Dates (whether in a query or in metadata) must be provided in ISO8601 format in UTC time zone with or without milliseconds (java format yyyy-MM-dd'T'HH:mm:ss.SSS'Z') or in POSIX time (Posix timestamp, Epoch time or Unix time).
  • MultiFiling support is not provided and therefore a document can only be present once in the CMIS navigation branch. On the other hand it can have several categories in other branches than the CMIS navigation branch.
  • In the case of the deletion of a document, if this last category is only a category of the CMIS branch, it is then deleted from the platform. In the other case, it is simply de-categorized (and thus will no longer be visible on the CMIS side but will still be present on the platform).

Changes

Information

Version
  • 2.0
Stability
  • Stable
Compatibility
  • JPlatform 10
Certified by Jalios
  • Yes
Price
  • Paid Plugin
Support
  • Jalios Support
Author
  • JALIOS
License
  • Jalios
Size
  • 1.81 MB
Updated
  • 1/21/20
Download
  • 5
Required Plugins
CMIS
v 3.1