Document child types

ImageMaster CMIS for ERP supports child types (subtypes) of cmis:document, enabling integration and storage of data from cloud-based platforms such as the SAP Integration Suite (formerly SAP CPI) via SAP BTP.

Key functionalities

  • Type Inheritance: Child types inherit all properties, constraints, and behaviors from their parent CMIS types, following the CMIS 1.1 specification.

  • CRUD and Query Support: The CMIS implementation provides full support for create, read, update, and delete operations, as well as CMIS query compatibility, for objects of child types.

  • Property Handling: Custom and inherited properties, including validation rules and secondary object types, are fully supported.

Scope of Support

The CMIS interface supports the functionalities described here. In contrast, the ERP REST service continues to support standard SAP document types.

Configuration and behavior

  • Documents of child types are stored in the same document type as defined for the parent type cmis:document.

  • By default, cmis:document child types are not enabled. To enable this feature, use the flag documentChildTypesAllowed.

    See section Creation of a CMIS repository.

  • The usage of child types requires the structure of cmisObjectTypesConfig that is supported since ImageMaster 9.14.2.11.

    See section Reduced schema for cmisObjectTypesConfig.

  • SAP Links (documents of type “sapecm:uri”) are also defined as cmis:document child types. However, to maintain backward compatibility, the technical details of how documents of type “sapecm:uri” are stored remain unchanged.

Important notes:

  • The attribute that stores the cmis:objectTypeId to differentiate the type of the documents in this document type should be set as an index in the database to speed up queries for cmis:document or the child type.

  • When the document child types are enabled after the document type has already been used as CMIS repository document type, a new attribute must be added to the document type to ensure that there is no value present in any of the previous documents. This attribute must be optional (as existing documents won’t have any values filled).

  • When a document does not have any value in the dedicated attribute, this is resolved as cmis:document anywhere.

  • When a query for the parent type (cmis:document) is performed, all documents in the repository document type with a cmis:document value or with no value in the configured attribute are returned, as well as all documents of the child types. Consequently, when the query for one child type is performed, all documents of that child type are returned.

  • Once child type support is enabled for a CMIS repository, it cannot be disabled as long as any documents of a child type exist. An exception is SAP Links (documents of type “sapecm:uri”), which are stored in a separate system document type and are therefore handled differently.