1. General Information

1. General Information

Installation

To use the REST APIs, you need the following microservice from the enaio® service mananger setup:

  • DMS service

The microservice must be installed with at least one instance.

Release Information

For each released version of the DMS service you will find detailed information in our Documentation Portal (available in English and German):

Versioning

The mentioned microservice does not carry the same version number as enaio®. The following table shows which version is compatible with which enaio® version. It will be extended with each enaio® version released.

enaio®

DMS service – current version

First release

enaio®

DMS service – current version

First release

11.10 Final

Version 6.5.0 (

 

11.0 Final

Version 6.2.1 (Mar 2024)

in July 2023 with version 6.0.0

10.10 Final

Version 5.5.3 (Mar 2024)

in July 2022 with version 5.2.2

10.0 Final (out of maintenance)

Version 5.5.3 (Mar 2024)

in May 2021 with version 4.0.2

9.10 Final (out of maintenance)

Version 3.2.4

in April 2020 with version 3.0.0

Our general version management looks like this:

  • Major version number change (2.3.4): breaking changes. NOT backwards compatible. Please check the Changelog.

  • Minor version number change (2.3.4): new features plus fixed problems - backwards compatible

  • Patch version number change (2.3.4): fixed problems only - backwards compatible

Breaking Changes – DMS service for enaio® version 6.0.0 (as of enaio® 11.0.0)

The DMS service for enaio® 6.0.0 – which is available as of enaio® version 11.0.0 comes with some breaking changes. They provide a more uniform API and avoid the output of not requested data in the search result. Please read the following information carefully and check/adjust your custom code accordingly.

Native Search Endpoint

The  /objects/search/native search endpoint was removed. Please use /objects/search instead.

Default Job Options

By default, the following server job options in GetResultList are no longer queried in /objects/search.
It is now necessary to set them manually in the query options (see below).

  • Status: 1

  • FileInfo: 1

  • Rights: 1

  • Variants: 1

By default, the object icon based on an icon catalog on the form is no longer queried in /objects/search.
It is now necessary to query it manually with the query option:

  • Icon: 1

Native Options

The nativeOptions were replaced by options in /objects/search query JSON

OLD (line 6 onwards)

{    "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)",    "skipCount" : 0,    "maxItems" : 50,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",    "nativeOptions": {        "includePermissions": true,        "registerContext": true,        "exportDepth": 5    } }

NEW (line 6 onwards)

{    "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)",    "skipCount" : 0,    "maxItems" : 50,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",    "options": {        "Rights": 1,        "RegisterContext": 0        "ExportDepth": 5,        "Baseparams": 1    } }

Top Level Parameters

Top level parameters in /objects/search query JSON were moved to the above mentioned options object:

OLD (lines 5/6/7)

{    "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)",    "skipCount" : 0,    "maxItems" : 50,    "baseParameter" : true,    "exportDepth" : 5,    "includePermissions" : true,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",    } }

NEW (line 6 onwards)

{    "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)",    "skipCount" : 0,    "maxItems" : 50,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",    "options": {        "ExportDepth": 5,        "Baseparams": 1,        "Rights": 1,    } }

 

System Fields in /objects/search

In the result JSON, the following system fields are now of type Integer instead of String.

  • system:OBJECT_FLAGS

  • system:OBJECT_MAIN

  • system:OBJECT_CO

  • system:OBJECT_MEDDOCID

  • system:OBJECT_LINKS

  • system:OBJECT_SYSTEMID

  • system:OBJECT_INDEXHISTFLAGS

  • system:OBJECT_DOCHISTFLAGS

  • system:OBJECT_MIMETYPEID

  • system:OBJECT_SIGNSTATE

  • system:OBJECT_PDFANNOTATIONCOUNT

  • system:OBJECT_TXTNOTICECOUNT

  • system:SDSTA_ID

  • system:SDREG_ID

  • system:SDREG_TYPE

  • system:REG_STAID

  • system:REG_PARID

  • system:FOLDERTYPE

  • system:PARENTREGTYPE

  • system:REG_COLAB

  • system:STAMM_COLAB

  • system:OBJECT_LOCATIONSCOUNT

In the result JSON, the following system fields are now ISO-DateTime strings instead of Unix timestamps.

  • system:OBJECT_DELETED

  • system:OBJECT_CHECKOUTTIME

The OBJECT_USERGUID system field that contains the owner, now contains the user name instead of the user guid. As do the system fields system:createdBy and system:lastModifiedBy which also contain user names instead of guids.

By default, if no search server job options are set, only three system fields are returned:

  • system:objectId

  • system:objectTypeId

  • system:baseTypeId

A new option is available for SELECT * FROM MyObjectType WHERE … to define which system fields are to be returned.

To return all system fields for the object type, set the option SystemFields with a star value

{ "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)",    "skipCount" : 0,    "maxItems" : 50,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",     "options": {        "SystemFields": ["*"] } }

To return only specific system fields in addition to all index data fields (because of the SELECT * FROM …) they can be listed seperated by a semicolon

{ "statement" : "SELECT * FROM sysemail WHERE email = @emailAddress AND sysfrom IN @from AND CONTAINS(@text)", "skipCount" : 0,    "maxItems" : 50,    "handleDeletedDocuments" : "DELETED_DOCUMENTS_EXCLUDE",    "options": {     "SystemFields": [ "system:OBJECT_LOCATIONSCOUNT", "system:OBJECT_PDFANNOTATIONCOUNT"                                                               ] } }

Table Conditions

A table column condition with a <> operator (not equal) will now also include NULL values.
A conditionGroup is created for DMS.GetResultList like this:

<FieldGroup operator="OR">    <TableCondition internal_name="Relocatons">            <TableColumn internal_name="station">                   <NULL/>            </TableColumn>    </TableCondition>    <TableCondition internal_name="Relocatons">            <TableColumn internal_name="station" operator="!=">                    <Value>IS-RR</Value>            </TableColumn>    </TableCondition> </FieldGroup>