Product Version 2023 Spring
Table of Contents
Features
Here you will find some of the new release's highlights. Check out the Change Log for further information on all changes.
Please also pay attention to the Breaking Changes and Update Instructions 2023 Spring.
Core
Assigning SOTs without Schema References
The system base type system:document
that only has system properties can now be instantiated. It is predefined in the global schema that is available for all tenants and cannot be manipulated or overwritten. Thus, it is now possible to import objects with system:document
as value for the system:objectTypeId
property even if no schema has been defined before. As a new feature of this particular object type, it is not required to define references to secondary object types (SOTs) anymore. All SOTs that are defined in a schema are automatically available to be assigned to an object of type system:document
. Nevertheless, the rules for the contentStreamAllowed
attribute for the the individual SOTs have to be considered before they are assigned to an object.
>> Schema - Defining Object Types
Changing Deletion into Update by Webhook
It is possible to turn a deletion request into a metadata update via a webhook of type dms.request.objects.delete
now.
>> POST dms.request.objects.delete
New Metrics Endpoints (KDDA)
The core system now offers the possibility to retrieve tenant metrics via API gateway endpoints.
>> Metrics
In this product version, it is possible to dynamically calculate the binary storage used by individual tenants. This information could be useful, e.g., for billing purposes. The number includes all binary content files assigned to a DMS object or an old version of a DMS object. Rendition files are not included. The used storage is initially determined from the database. Afterwards, the result is dynamically updated during each individual action that creates or deletes a binary content file. The dynamically determined number can be reset. The number will be redetermined from the database to initialize the dynamic calculation again. The following new endpoints are created in the API gateway:
- GET /api/admin/metrics/{metric} - Retrieve the specified metric for the currently active tenant.
- DELETE /api/admin/metrics/{metric} - Reset the specified metric for the currently active tenant. Not available for the
storage
metric. - GET /api/system/metrics/{metric} - Retrieve the specified metric for all tenants.
- DELETE /api/system/metrics/{metric} - Reset the specified metric for all tenants.
- GET /api/system/tenants/{tenant}/metrics/{metric} - Retrieve the specified metric for the specified tenant.
- DELETE /api/system/tenants/{tenant}/metrics/{metric} - Reset the specified metric for the specified tenant. Not available for the
storage
metric.
The new endpoints' URLs contain the metric
path parameter to specify the type of metric. In this product version, only the value storage
is accepted.
Note: The AUDIT service now requires the redis
profile.
>> Breaking Changes
Asynchronous Object Deletion
It is now possible to delete DMS objects asynchronously. The users' waiting time is reduced especially for deletion processes of objects with many old versions or large images as binary content files. The deletion request waits only for the success of the first deletion step: the objects to be deleted receive the OBJECT_FLAGGED_FOR_DELETE flag and are thus not retrievable for users anymore. Afterwards, a background process can delete the objects with this flag from the search index, database and repository (if necessary).
>> DELETE /api/dms/objects/{objectId} | DELETE /api/dms/objects
Note: The asynchonous deletion has to be activated.
>> Configurations enabling new Features
'greedy' Parameter for Batch Deletion
The endpoint DELETE /api/dms/objects accepts an optional boolean query parameter greedy
. It specifies whether the entire deletion request should fail as soon as one object cannot be deleted (false
- default) or not (true
). Thus, it is now possible to continue with the deletion processing by deleting as many referenced objects as possible. In the response body, the users are informed about the success of the deletion for each individual object that was referenced in the request.
Note: The endpoint's response is different even in case of a default request with greedy=false
.
>> Breaking Changes
Slide Renditions for Thumbnails
It is possible to create slide renditions for binary content files and store them in the rendition repository. Those thumbnail images can be used, e.g., for content visualization within hit lists in client applications. The following new endpoints are created in the API gateway:
- GET /api/dms/objects/{objectId}/contents/renditions/slide - Retrieves the
slide
rendition of the binary content file that is assigned to the DMS object specified byobjectId
. - GET /api/dms/objects/{objectId}/versions/{versionNr}/contents/renditions/slide - Returns the content file's
slide
rendition of the DMS document object version specified byobjectId
andversionNr
.
>> Renditions
Database Connections Optimizations (KDDA)
In the context of resources optimization measures, the number of database connections within the cluster is reduced. The individual services do not use their own database connection pools anymore. Instead, the connections are centralized now. The new default configuration is documented here:
>> application-dbs.yml
Note: This feature has been subsequently added to yuuvis® Momentum product versions 2023 Spring and 2022 Winter LTS.
Client Services & Client Development
Web-API Gateway
Export of Search Results (KDDA)
Usage of byte order mark (BOM) for CSV exports can be activated or deactivated via the api-web-prod.yml
configuration file.
>> API-WEB Service
Default Sorting of Full-text query result list
For each object in the result list, the score
is provided as object property. The results are sorted by their score values unless otherwise specified via sort
parameter.
>> Search via Web-API Gateway
New idm-controller (KDDA)
The new idm-controller facilitates the fine tuning of access control for endpoints that retrieve user data. The following new endpoints are available:
- GET /api-web/api/idm/roles
- GET /api-web/api/idm/search
- GET /api-web/api/idm/users
- GET /api-web/api/idm/users/{userId}
- GET /api-web/api/idm/whoami
The following endpoints in the user-controller have been deprecated and are scheduled to be removed with the next product version:
Manual configuration updates are required:
>> Breaking Changes
Configurable Role Filtering
The endpoints for role (user) retrieval exclude technical roles (users with technical roles). These roles can now be configured in the api-web-prod.yaml
configuration file.
>> API-WEB Service
Developer Libraries
User Comfort
A high-contrast theme for better accessibility is available.
Customizable Dashboard
The @yuuvis/widget-grid
library is now ready to be used in productive systems.
Handling of Process Instances
To specify multiple users as recipients for a process, roles can be selected. All users having at least one of the selected roles are allowed to take responsibility for the specified work item.
>> Defining Object Types for a Library-based Client - Property Classifications
Hit List Configuration
In the main.json
configuration file, a hit list grid can be configured that will be used as default for client users that did not save their own hit list configuration.
>> Customizing the Main Configuration
yuuvis® client as reference implementation
- A high-contrast theme can be activated via the Settings menu.
- A customizable dashboard is offered to users.
>> Structure and Features of the Client
Business Process Management
BPM Engine
Filtering of Task Lists
The GET /bpm-engine/api/tasks endpoint for the retrieval of a task list now accepts the boolean query parameter isAssigned
instead of filter
.
>> Breaking Changes
Tenant Management
Tenant Management API
Role Management
The following endpoints for the retrieval of roles accept the optional search
query parameter to filter the result.
- GET /tenant-management/api/idm/roles
- GET /tenant-management/api/system/tenants/{tenant}/roles
- GET /tenant-management/api/admin/roles
Release Candidates
The Release Candidates (Alpha) provide the preliminary results expected to be ready at the corresponding date.
>> Version Tags Services - Release Candidates
Alpha1 - 19 DEC 2022
Core
Assigning SOTs without Schema References
- The system base type
system:document
can now be instantiated. As a new feature of this particular object type, it is not required to define references on secondary object types (SOTs) anymore. (internal: OKTO-5440)
Client Services & Client Development
Web-API Gateway
Export of Search Results
- Usage of byte order mark (BOM) for CSV exports can be activated or deactivated via configuration. (internal: BUD-2144)
Developer Libraries
User Comfort
- A high-contrast theme for better accessibility is available. (internal: BUD-2136)
yuuvis® client as reference implementation
- A high-contrast theme can be activated via the Settings menu. (internal: BUD-2136)
Alpha2 - 19 JAN 2023
Core
Changing Deletion into Update by Webhook
- It is possible to turn a deletion request into a metadata update via a webhook of type
dms.request.objects.delete
. (internal: OKTO-5288)
Client Services & Client Development
Web-API Gateway
New idm-controller
- A new idm-controller was created. It provides endpoints for the retrieval of roles and user information. (internal: BUD-2252)
Tenant Management
Tenant Management API
Role Management
- The endpoints for the retrieval of roles accept the optional
search
query parameter to filter the result. (internal: BUD-2252)
Alpha3 - 30 JAN 2023
Core
New Metrics Endpoints
- The core system now offers the possibility to dynamically determine the binary storage used by individual tenants. (internal: OKTO-5444)
Asynchronous Object Deletion
- It is now possible to delete DMS objects asynchronously. (internal: OKTO-5020)
Alpha4 - 13 FEB 2023
Core
greedy
Parameter for Batch Deletion
- The endpoint DELETE /api/dms/objects accepts an optional boolean query parameter
greedy
. (internal: OKTO-5499)
Client Services & Client Development
Developer Libraries
Handling of Process Instances
- To specify multiple users as recipients for a process, roles can be selected. (internal: BUD-2247)
Business Process Management
BPM Engine
Filtering of Task Lists
- The GET /bpm-engine/api/tasks endpoint for the retrieval of a task list accepts the boolean query parameter
isAssigned
instead offilter
. (internal: ERA-9055)
Final - 03 MAR 2023
Core
Slide Renditions for Thumbnails
- It is possible to create slide renditions for binary content files and store them in the rendition repository. (internal: OKTO-5549)