---
title: CMIS Setup in FileNet
slug: docuflow-for-filenet/cmis-setup-in-filenet
createdAt: 2024-07-30T16:30:46.225Z
---

To enable CMIS with FileNet there are few mandatory classes and properties that must be defined in the object stores.&#x20;

To enable CMIS functionality, the FileNet Object store MUST have these base document classes:

It is recommended the following naming be used. This naming can be altered but must then be reflected in the mapping section ***contentServer.cmis.documentColumns*** section in the INI configuation file (see ***CMIS Setup in Docuflow*** documentation node)

## Object Type:   cmis\:document

cmis\:objectId&#x20;
cmis\:baseTypeId
cmis\:objectTypeId
cmis\:secondaryObjectTypeIds
cmis\:name
cmis\:description
cmis\:createdBy
cmis\:creationDate
cmis\:lastModifiedBy
cmis\:lastModificationDate                                                                                                                   cmis\:changeToken                                                                                                                                                           cmis\:isImmutable
cmis\:isLatestVersion
cmis\:isMajorVersion
cmis\:isPrivateWorkingCopy
cmis\:versionLabel
cmis\:versionSeriesId
cmis\:isVersionSeriesCheckedOut
cmis\:versionSeriesCheckedOutBy
cmis\:versionSeriesCheckedOutId
cmis\:checkinComment
cmis\:contentStreamLength
cmis\:contentStreamMimeType
cmis\:contentStreamFileName
cmis\:contentStreamId             &#x20;

## Object Type:   cmis\:folder object-type                                                                                                                      &#x20;

cmis\:objectId&#x20;
cmis\:baseTypeId
cmis\:objectTypeId
cmis\:secondaryObjectTypeIds
cmis\:name
cmis\:description
cmis\:createdBy
cmis\:creationDate
cmis\:lastModifiedBy
cmis\:lastModificationDate                                                                                                                   cmis\:changeToken                                                                                                                                       cmis\:parentId
cmis\:path
cmis\:allowedChildObjectTypeIds

## Object Type: Others

To enable archivelink document management, the document classes **sapbo\:basedocument** and **sapbo\:Archivelink** are required

- sapbo\:baseDocument

sapbo\:basedocument\:synchronized                                                                                                                             sapbo\:basedocument\:Document                                                                     sapbo\:basedocument\:DocumentComponentID

- sapbo\:ArchiveLink

sapbo\:ArchiveLink\:ArchiveLinkDocument

To enable DMS document management, the document classe&#x73;**&#x20;sapbo\:basedocument** and **sapbo\:KnowledgeProvider** are required

- sapbo\:baseDocument

sapbo\:basedocument\:synchronized                                                                                                                             sapbo\:basedocument\:Document  (**Index&#x20;**&#x66;ield for better retrieval performance)                                                                     sapbo\:basedocument\:DocumentComponentID

- sapbo\:KnowledgeProvider

sapbo\:KnowledgeProvider\:LogicalDocument

FileNet does not allow the metadata property internal (symbolic) name to have special characters. So map all the properties to the custom ones as explained in CMIS Setup in Docuflow middleware.

We have ACCE JScript to create CMIS properties. Please reach out if you would like to use the script.&#x20;

## Example Mapping

```ini
CS1FN_TEST.contentServer.cmis.contentTypes = {"cmis:document":"cmisDocument", "cmis:folder":"cmisFolder"}
CS1FN_TEST.contentServer.cmis.documentChildType = {"sapbo:basedocument":"sapboBaseDocument"}
CS1FN_TEST.contentServer.cmis.folderChildType = {"sapbo:BusinessObjectType":"sapboBusinessObjectType"}
CS1FN_TEST.contentServer.cmis.documentColumns = {"cmis:path":"cmispath", "cmis:objectTypeId":"cmisobjectTypeId","cmis:objectId":"cmisobjectId","cmis:name":"cmisname","cmis:lastModifiedBy":"cmislastModifiedBy","cmis:lastModificationDate":"cmislastModificationDate","cmis:createdBy":"cmiscreatedBy","cmis:baseTypeId":"cmisbaseTypeId","cmis:creationDate":"cmiscreationDate","cmis:contentStreamFileName":"cmiscontentStreamFileName","cmis:contentStreamMimeType":"cmiscontentStreamMimeType","sapbo:basedocument:Document":"sapbobasedocumentDocument","sapbo:basedocument:DocumentComponentID":"sapboBasedocumentDocumentComponentID"}
CS1FN_TEST.contentServer.cmis.folderColumns = {"cmis:path":"cmispath", "cmis:objectTypeId":"cmisobjectTypeId","cmis:objectId":"cmisobjectId","cmis:name":"cmisname","cmis:lastModifiedBy":"cmislastModifiedBy","cmis:lastModificationDate":"cmislastModificationDate","cmis:createdBy":"cmiscreatedBy","cmis:baseTypeId":"cmisbaseTypeId","cmis:creationDate":"cmiscreationDate","cmis:contentStreamFileName":"cmiscontentStreamFileName","cmis:contentStreamMimeType":"cmiscontentStreamMimeType"}
```

mapping json overview (pretty print)

```json
{
    "cmis:document": "cmisDocument",
    "cmis:folder": "cmisFolder"
}
{
    "sapbo:basedocument": "sapboBaseDocument"
}
{
    "sapbo:BusinessObjectType": "sapboBusinessObjectType"
}
{
    "cmis:baseTypeId": "cmisbaseTypeId",
    "cmis:contentStreamFileName": "cmiscontentStreamFileName",
    "cmis:contentStreamMimeType": "cmiscontentStreamMimeType",
    "cmis:createdBy": "cmiscreatedBy",
    "cmis:creationDate": "cmiscreationDate",
    "cmis:lastModificationDate": "cmislastModificationDate",
    "cmis:lastModifiedBy": "cmislastModifiedBy",
    "cmis:name": "cmisname",
    "cmis:objectId": "cmisobjectId",
    "cmis:objectTypeId": "cmisobjectTypeId",
    "cmis:path": "cmispath",
    "sapbo:basedocument:Document": "sapbobasedocumentDocument",
    "sapbo:basedocument:DocumentComponentID": "sapboBasedocumentDocumentComponentID"
}
{
    "cmis:baseTypeId": "cmisbaseTypeId",
    "cmis:contentStreamFileName": "cmiscontentStreamFileName",
    "cmis:contentStreamMimeType": "cmiscontentStreamMimeType",
    "cmis:createdBy": "cmiscreatedBy",
    "cmis:creationDate": "cmiscreationDate",
    "cmis:lastModificationDate": "cmislastModificationDate",
    "cmis:lastModifiedBy": "cmislastModifiedBy",
    "cmis:name": "cmisname",
    "cmis:objectId": "cmisobjectId",
    "cmis:objectTypeId": "cmisobjectTypeId",
    "cmis:path": "cmispath"
}
```

## Object Hierarchy

### enableSAPFolderFormat  is enabled

The hierarchy of the cmis properties is as follows:

Depending on Docuflow configuration setting :                                                                                                      If `xxx.contentServer.cmis.enableSAPFolderFormat`  is **enabled**

This requires to add a new class **sapbo\:baseFolder**



- sapbo\:baseFolder

sapbo\:basefolder\:multiBoReference                                                                                                              sapbo\:basefolder\:synchronized                                                                                                                                                                                                                                                                                                                                                                           &#x20;

![](https://api.archbee.com/api/optimize/1hH4CNQG9tP4YS-TB-TC6/W5HvtVy7L2ygcEXmosXdB_image.png)

### enableSAPFolderFormat  is disabled

if` xxx.contentServer.cmis.enableSAPFolderFormat`  is **disabled**

::Image[]{src="https://api.archbee.com/api/optimize/1hH4CNQG9tP4YS-TB-TC6/hBZ8sClzVzeuO8LGrM5jQ_image.png" size="90" width="988" height="503" position="center" showCaption="false"}

## FileNet Security

The service account/technical user used by docuflow to connect to FileNet P8 requires:&#x20;

- On Domain:
  - Permission Group “Use stores and services”
- On Object Store:
  - Permission Group “Use object store”
- On used Document classes and Folder classes:&#x20;
  - Security of the class
    - View all Properties  
    - Read Permission&#x20;
    - Create instance&#x20;
  - Default Instance Security access control list (ACL)
    - Permission Group “Full Control”

If for compliance or other reasons "Full Control" cannot be granted certain actions will fail. E.g. if no 'Delete' rights granted and SAP request a delete of a document the request would fail (error code 500)

