DMS service
Here, you will find information about the DMS service.
Installation Requirements
An overview of the installation requirements can be found in the developer documentation.
Installation
Services are installed via the os_service-manager_setup.exe file in the \Win32\Disk1\Microservices\Service-Manager directory. Updates take place via enaio_services_versionfix.exe in the \Win32\Disk1\SP\Microservices directory.


The DMS service for enaio® is the new REST API (including API project) for Version 9.10 and is already included in enaio® coLab. The first official version is available now. More features and bugfixes will be released regularly.
Our new DMS service means that an alternative is available in addition to enaio® appconnector (OSRest). Although it currently has a significantly reduced scope in terms of functionality, it does feature a new technology stack: a scalable, cloud-enabled microservice built for large systems. The long-term goal is to let this REST API grow steadily and to align its range of functions with those in enaio® appconnector.
Version 3.0.0 of the DMS service for enaio® is the first official release of the new microservice. The REST API consists of the Core API and an enaio-specific part: the Native API. It is identical to the 'yuuvis-core' codebase and allows you to use plug-ins developed for both the enaio® and yuuvis® product lines. The detailed range of functions and further information can be found in the developer documentation.
The first batch of functions were taken from enaio® appconnector (OSRest). The roadmap for further versions is in progress. Should you have any specific requests regarding new projects or would like to receive an up-to-date comparison list of the two REST APIs, please contact pm@optimal-systems.de directly.

Object History: New Endpoints
- GET dms/objects/{objectId}/history – returns the history of a document
- POST dms/objects/search – query for system:history is possible
The following endpoints have been corrected. The return values have a slightly changed structure.
-
POST dms/objects/search
-
POST dms/objects/search/native
-
GET dms/objects/{objectId}
-
POST dms/objects
Some system fields now return an integer value as a bit combination instead of the description, for example 'system:OBJECT_FLAGS'. The reason for this is that multiple values are possible rather than just one.
Further information can be found in the developer documentation.
If you are already using the DMS service, please check the processing.

Variant Administration: New Endpoints
-
POST dms/objects/{objectId}/native/variants
-
PUT dms/objects/{objectId}/native/variants/{activateId}
-
GET dms/objects/{objectId}/native/variants
Moving Objects: Extensions
-
PATCH api/dms/objects/{objectId}
-
Typeless documents in the external tray can be typed.
Setting Retention with the new 'OBJECT_RETENTION_PLANNED' Parameter
-
POST dms/objects
-
POST dms/properties/{objectId}
-
PATCH dms/properties/{objectId}
New Query Parameter
-
GET dms/objects/{objectId}
-
A query parameter for querying the insertable child object types has been added.
Schema Returns Child Objects
-
GET dms/schema
-
The schema returns static insertable child object types by default.
POST, PATCH api/dms/objects/{objectId}
-
Previously, a single object was accepted as an input, contrary to the documentation. This is no longer the case. As has been already documented, the input must be an array.
-
The result is now output as a JSON with a result list instead of a single DMS object. In the future, the DMS service will always return result lists by default. The documentation refers to this fact.
If you are already using the DMS service, please check the processing. Further information can be found in the developer documentation.

Changes in Parameters
-
The spelling of one parameter has been changed. Please note the camel case:
includeallowedchildobjecttypeids -> includeAllowedChildObjectTypeIds
The rights parameter has been renamed to includePermissions.
A few optional parameters have been added. The default settings do not cause any changes in the return values.
- POST /api/dms/objects
The multipart 'data' section now requires the 'application/json' content type.
- POST /api/dms/objects/<objectId>
- PATCH /api/dms/objects/<objectId>
The multipart 'data' section now requires the 'application/json' content type.
The request body requires the 'application/json' content type.
System Information: New Endpoints
-
enaio® version and DMS version
-
enaio® version, DMS version, and detailed information on the user and the service URIs
Editing History: Extensions
-
GET /api/dms/objects/{objectId}/history
size – number of returned entries per page
page – page number of page returned
New Parameter 'minimalResponse'
The following endpoints now use the minimalResponse parameter for faster operation:
Tables
Column names are also returned for tables in index data forms.
If you are already using the DMS service, please check the processing. Further information can be found in the developer documentation.

Changes in Parameters
The system:versionSeriesCheckedOutBy parameter has been replaced by system:versionSeriesLockedBy.
Marking Documents as Checked Out/Checked In
-
PATCH /dms/objects/<objectId>/contents/native/locked
Mark document as checked out
- PATCH /dms/objects/<objectId>/contents/native/unlock
Mark document as checked in
Expanding Searches
-
Search for all checked-out documents
SELECT * FROM system:locked
It is currently still not possible to limit this search using clauses.
If you are already using the DMS service, please check the processing. Further information can be found in the developer documentation.

History entries
-
POST /api/dms/objects/{objectId}/history
Entries can be written to the editing history of objects.