org.mule.modules

mule-module-cmis

1.5
Namespacehttp://www.mulesoft.org/schema/mule/cmis
Schema Locationhttp://www.mulesoft.org/schema/mule/cmis/1.1/mule-cmis.xsd
Version1.1
Minimum Mule Version3.2

Module Overview

CMIS (Content Management Interoperability Services) is a standard for improving interoperability between ECM systems.

Summary

Configuration
<cmis:config>
Configure an instance of this module
Message Processors
<cmis:apply-acl>
Set the permissions associated with an object.
<cmis:apply-policy>
Applies policies to this object.
<cmis:cancel-check-out>
If applied to a PWC (private working copy) of the document, the check out will be reversed.
<cmis:changelog>
Gets repository changes.
<cmis:check-in>
If applied to a PWC (private working copy) it performs a check in.
<cmis:check-out>
Checks out the document and returns the object id of the PWC (private working copy).
<cmis:create-document-by-id>
Creates a new document in the repository.
<cmis:create-document-by-path>
Creates a new document in the repository.
<cmis:create-folder>
Creates a folder.
<cmis:delete>
Remove an object


<cmis:delete-tree>
Deletes a folder and all subfolders.
<cmis:folder>
Navigates the folder structure.
<cmis:get-acl>
Returns the ACL if it has been fetched for an object.
<cmis:get-all-versions>
Retrieve an object's version history


<cmis:get-applied-policies>
Get the policies that are applied to an object.
<cmis:get-checkout-docs>
Retrieve list of checked out documents.
<cmis:get-content-stream>
Retrieves the content stream of a Document.
<cmis:get-object-by-id>
Returns a CMIS object from the repository and puts it into the cache.
<cmis:get-object-by-path>
Returns a CMIS object from the repository and puts it into the cache.
<cmis:get-object-relationships>
Returns the relationships if they have been fetched for an object.
<cmis:get-parent-folders>
Retrieves the parent folders of a fileable cmis object


<cmis:get-type-definition>
Returns the type definition of the given type id.
<cmis:move-object>
Moves a fileable cmis object from one location to another.
<cmis:query>
Sends a query to the repository


<cmis:repositories>
Returns all repositories that are available at the endpoint.
<cmis:repository-info>
Returns information about the CMIS repository, the optional capabilities it supports and its Access Control information if applicable.
<cmis:update-object-properties>
Update an object's properties


Configuration

To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:cmis="http://www.mulesoft.org/schema/mule/cmis"
      xsi:schemaLocation="
               http://www.mulesoft.org/schema/mule/core
               http://www.mulesoft.org/schema/mule/core/current/mule.xsd
               http://www.mulesoft.org/schema/mule/cmis
               http://www.mulesoft.org/schema/mule/cmis/1.1/mule-cmis.xsd">

      <!-- here goes your flows and configuration elements -->

</mule>

This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necesary as long as each carries its own name.

Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.

Attributes
TypeNameDefault ValueDescription
xs:string name Optional. Give a name to this configuration so it can be later referenced.
xs:string baseUrl URL base for the SOAP connector.
xs:string password Password
xs:string repositoryId The identifier for the Repository that this connector instance works with
xs:string username Username

Message Processors

<cmis:apply-acl>

Set the permissions associated with an object.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object whose Acl is intended to change.
objectId Optional. The id of the object
addAces Added access control entities
removeAces Removed access control entities
aclPropagation Wheter to propagate changes or not. can be REPOSITORYDETERMINED | OBJECTONLY | PROPAGATE
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the new access control list

<cmis:apply-policy>

Applies policies to this object.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The document from which to get the stream. Can be null if "objectId" is set.
objectId Optional. Id of the document from which to get the stream. Can be null if "object" is set.
policyIds Policy ID's to apply
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements

<cmis:cancel-check-out>

If applied to a PWC (private working copy) of the document, the check out will be reversed. Otherwise, an exception will be thrown.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
document Optional. The checked out document. Can be null if "documentId" is set.
documentId Optional. Id of the checked out document. Can be null if "document" is set.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements

<cmis:changelog>

Gets repository changes.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
changeLogToken Optional. The change log token to start from or
null
includeProperties Indicates if changed properties should be included in the result
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a
    ChangeEvents instance

<cmis:check-in>

If applied to a PWC (private working copy) it performs a check in. Otherwise, an exception will be thrown.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
document Optional. The document to check-in. Can be null if "documentId" is set.
documentId Optional. Id of the document to check-in. Can be null if "document" is set.
content File content (no byte array or input stream for now)
filename Name of the file
mimeType Stream content-type
major Whether it is major
checkinComment Check-in comment
properties Optional. Custom properties
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the
    ObjectId of the checkedin document

<cmis:check-out>

Checks out the document and returns the object id of the PWC (private working copy).


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
document Optional. The document to be checked out. Can be null if "documentId" is set.
documentId Optional. Id of the document to be checked out. Can be null if "document" is set.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • PWC ObjectId

<cmis:create-document-by-id>

Creates a new document in the repository.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
folderId Folder Object Id
filename Name of the file
content File content (no byte array or input stream for now)
mimeType Stream content-type
versioningState An enumeration specifying what the versioing state of the newly-created object MUST be. If the repository does not support versioning, the repository MUST ignore the versioningState parameter.
objectType The type of the object.
properties Optional. The properties optional document properties to set
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the
    ObjectId of the created

<cmis:create-document-by-path>

Creates a new document in the repository.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
folderPath Folder in the repository that will hold the document
filename Name of the file
content File content (no byte array or input stream for now)
mimeType Stream content-type
versioningState An enumeration specifying what the versioing state of the newly-created object MUST be. If the repository does not support versioning, the repository MUST ignore the versioningState parameter.
objectType The type of the object.
properties Optional. The properties optional document properties to set
force Optional. If should folder structure must be created when there are missing intermediate folders
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the
    ObjectId of the created

<cmis:create-folder>

Creates a folder. Note that this is not recusive creation. You just create one folder


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
folderName Folder name (eg: "my documents")
parentObjectId Parent folder for the folder being created (eg: repository.rootFolder)
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the
    ObjectId of the created

<cmis:delete>

Remove an object


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object to be deleted. Can be null if "objectId" is set.
objectId Optional. The object's id. Can be null if "cmisObject" is set.
allVersions Optional. If true, deletes all version history of the object. Defaults to "false".
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements

<cmis:delete-tree>

Deletes a folder and all subfolders.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
folder Optional. Folder Object. Can be null if "folderId" is set.
folderId Optional. Folder Object id. Can be null if "folder" is set.
allversions If true, then delete all versions of the document. If false, delete only the document object specified.
unfile Optional. Specifies how the repository must process file-able child- or descendant-objects.
continueOnFailure Specified whether to continue attempting to perform this operation even if deletion of a child- or descendant-object in the specified folder cannot be deleted or not.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a list of object ids which failed to be deleted.

<cmis:folder>

Navigates the folder structure.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
folder Optional. Folder Object. Can be null if "folderId" is set.
folderId Optional. Folder Object id. Can be null if "folder" is set.
get NavigationOptions that specifies whether to get the parent folder, the list of immediate children or the whole descendants tree
depth Optional. If "get" value is DESCENDANTS, represents the depth of the descendants tree
filter Optional. Comma-separated list of properties to filter (only for CHILDREN or DESCENDANTS navigation)
orderBy Optional. Comma-separated list of query names and the ascending modifier "ASC" or the descending modifier "DESC" for each query name (only for CHILDREN or DESCENDANTS navigation)
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the following, depending on the value of "get" parameter:
    • PARENT: returns the parent Folder
    • CHILDREN: returns a CmisObject ItemIterable with objects contained in the current folder
    • DESCENDANTS: List> representing the whole descentants tree of the current folder
    • TREE: List> representing the directory structure under the current folder.

<cmis:get-acl>

Returns the ACL if it has been fetched for an object.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object whose Acl is needed
objectId Optional. The id of the object
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • the object's Acl

<cmis:get-all-versions>

Retrieve an object's version history


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
document Optional. The document whose versions are to be retrieved
documentId Optional. Id of the document whose versions are to be retrieved
filter Optional. Comma-separated list of properties to filter (only for CHILDREN or DESCENDANTS navigation)
orderBy Optional. Comma-separated list of query names and the ascending modifier "ASC" or the descending modifier "DESC" for each query name (only for CHILDREN or DESCENDANTS navigation)
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • versions of the document.

<cmis:get-applied-policies>

Get the policies that are applied to an object.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The document from which to get the stream. Can be null if "objectId" is set.
objectId Optional. Id of the document from which to get the stream. Can be null if "object" is set.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • List of applied policies

<cmis:get-checkout-docs>

Retrieve list of checked out documents.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
filter Optional. Comma-separated list of properties to filter
orderBy Optional. Comma-separated list of query names and the ascending modifier "ASC" or the descending modifier "DESC" for each query name
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • list of
    Document.

<cmis:get-content-stream>

Retrieves the content stream of a Document.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The document from which to get the stream. Can be null if "objectId" is set.
objectId Optional. Id of the document from which to get the stream. Can be null if "object" is set.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • The content stream of the document.

<cmis:get-object-by-id>

Returns a CMIS object from the repository and puts it into the cache.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
objectId The object id
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a
    CmisObject instance

<cmis:get-object-by-path>

Returns a CMIS object from the repository and puts it into the cache.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
path Path of the object to retrieve
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a
    CmisObject instance

<cmis:get-object-relationships>

Returns the relationships if they have been fetched for an object.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object whose relationships are needed
objectId Optional. The id of the object
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • list of the object's relationships

<cmis:get-parent-folders>

Retrieves the parent folders of a fileable cmis object


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object whose parent folders are needed. can be null if "objectId" is set.
objectId Optional. Id of the object whose parent folders are needed. can be null if "object" is set.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a list of the object's parent folders.

<cmis:get-type-definition>

Returns the type definition of the given type id.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
typeId Object type Id
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • type of object
    ObjectType

<cmis:move-object>

Moves a fileable cmis object from one location to another. Take into account that a fileable object may be filled in several locations. Thats why you must specify a source folder.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. The object to move. Can be null if "objectId" is set.
objectId Optional. The object's id. Can be null if "cmisObject" is set.
sourceFolderId Id of the source folder
targetFolderId Id of the target folder
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • The object moved (FileableCmisObject)

<cmis:query>

Sends a query to the repository


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
statement The query statement (CMIS query language)
searchAllVersions Specifies if the latest and non-latest versions of document objects should be included
filter Optional. Comma-separated list of properties to filter
orderBy Optional. Comma-separated list of query names and the ascending modifier "ASC" or the descending modifier "DESC" for each query name
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • an iterable of
    QueryResult

<cmis:repositories>

Returns all repositories that are available at the endpoint.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a list of
    Repository.

<cmis:repository-info>

Returns information about the CMIS repository, the optional capabilities it supports and its Access Control information if applicable.


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • a
    RepositoryInfo instance

<cmis:update-object-properties>

Update an object's properties


XML Sample
INCLUDE_ERROR

Attributes
config-ref Optional. Specify which configuration to use.
cmisObject Optional. Object to be updated. Can be null if "objectId" is set.
objectId Optional. The object's id. Can be null if "cmisObject" is set.
properties The properties to update
retryMax 1 Optional. Specify how many times this operation can be retried automatically
Child Elements
Return Payload
  • The updated object (a repository might have created a new object)