Product Version 2022 Spring
Find our docker images and Helm Charts linked here:
>> Version Tags Services
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 some Update Instructions.
Core
Fail-safe AUTHENTICATION Service (KDDA)
It is now possible to operate multiple instances of the AUTHENTICATION service that use the same session state. Thus, in case one instance is not available for some reason, a parallel instance can step in and continue the running process without any interruption.
>> AUTHENTICATION Service - Running Multiple Instances
To allow the storage of individual user session states in the designated Redis database, the AUTHENTICATION service configuration must be adjusted:
>> Update Instructions 2022 Spring
Longer Tag Names
The length limit of the string tag names is extended to 128 characters.
>> Tagging
Validation of JSON Web Tokens
Internal requests within the yuuvis® Momentum cluster are authenticated via a valid JSON Web Token (JWT). The expiration date is now validated as well. Thus, it is no longer possible to authenticate with a token if its expiration date is exceeded.
>> Validating Internal JSON Web Tokens
Supported Authentication Providers
Keycloak version v15 is supported and is available via Docker image for test installations.
>> yuuvis® Momentum Requirements
Restoring Previous Object Versions (KDDA)
It is possible to restore an old version of an object via a new API endpoint.
>> POST /api/dms/objects/{objectId}/versions/{versionNr}/actions/restore
Custom Audit Entries
An endpoint allows for the creation of audit trail entries for individual objects.
>> POST /audit/api/dms/objects/custom
Changing the value for 'system:parentId'
If the value for the system:parentId
property is changed, added or removed, an audit entry with the specific action code 340
is created in addition to the usual audit entry corresponding to a metadata update.
>> Audit Trail - an "Object's History"
Product Version Information
A new endpoint retrieves information on the installed product version.
>> GET /api/dms/info
Loggers for Webhooks
The input and output data for each webhook can be monitored via loggers.
>> Loggers for Webhooks
Timeouts for Webhooks
In order avoid system bottlenecks, the time a called webhook may take to process can be limited.
>> Configuring Webhooks
Authentication via Certificates within the Cluster
Services within the yuuvis® Momentum Kubernetes cluster can use certificates in order to internally send authenticated requests instead of conventional user name and password credentials.
>> /wiki/spaces/YMY/pages/320050690
Performance Optimization for CONFIGSERVICE
At runtime, the CONFIGSERVICE applies all changes to configuration files to its local resources first. At regular intervals of 5 minutes, the remote resources on the git server are synchronized. The procedure of collecting and summarizing changes reduces the number of commits that have to be managed by the CONFIGSERVICE in case of a high frequency of change requests.
>> CONFIGSERVICE
This leads to some breaking changes that have to be taken into consideration during the version update.
>> Breaking Changes
Client Services & Client Development
Web-API Gateway
Retrieving User Permissions (KDDA)
A new endpoint provided in the dms-controller retrieves the permissions of the currently logged-in user according to the assigned roles and their definition in the corresponding role set.
>> GET /api-web/api/dms/permissions
Retrieving User Information
For the retrieval of user account-specific data, the user-controller endpoints call the Tenant Management API instead of the USERSERVICE now. This enables the usage of the Web-API gateway in combination with other identity providers than Keycloak. User-specific configurations and contents are still managed via the USERSERVICE.
Note: The API-WEB service requires a running instance of the TENANT-MANAGEMENT service.
>> Breaking Changes
Retrieving Previous Object Versions (KDDA)
Metadata and binary content files of previous versions of a DMS object can be restored via a new endpoint.
>> GET /api-web/api/dms/objects/{id}/versions/{Nr}/actions/restore
New Swagger UI Version
The new Swagger UI provides the Spring Boot Actuator endpoint of the API-WEB service in order to directly retrieve monitoring information. The configuration file authentication-prod.yml configuration file has to be manually adjusted.
>> Breaking Changes
Performance Optimization
The schemata are cached to allow for a faster startup of client applications.
Search Conditions with Negation
The search endpoint allows for negation in conditions now. Thus, e.g., it is possible to search for objects for which a specific property does not have the value null
.
>> Search via Web-API Gateway
USERSERVICE
Migration of User Information Endpoints
The USERSERVICE is now only responsible for the management of user-specific settings and contents. The retrieval of account-specific data belongs to the responsibility of the TENANT-MANAGEMENT service. Thus, the user information endpoints GET /userservice/api/users and GET /userservice/api/users/{userId} are removed from the USERSERVICE's API.
>> Breaking Changes
Developer Libraries
Session Management (KDDA)
In order to retrieve a DMS object via URL (e.g., a saved search, a bookmark or an e-mail), a valid authentication session has to be active in the user's browser. If no valid session is open, the user is redirected to a configurable log-in page. After successful authentication, the desired DMS object is retrieved.
Availability of Object Types (KDDA)
- The object creation dialog can be configured to offer only those object types for which the currently logged-in user has a creation permission.
Note: The permission to create new objects is now enabled via a create permission within one of the roles defined via a role set. The YUUVIS_CREATE_OBJECT role does no longer allow object creation. You need to adjust your corresponding role set accordingly.
>> Update Instructions 2022 Spring - The filter options to limit the hit list to objects of specified types offer only those object types for which the logged-in user has a reading access permission.
>> Defining Roles for a Library-based Client
Task Management (KDDA)
- The due date of a task can be displayed in the inbox view.
- It is possible to configure custom confirm actions for a BPM task including an optional form that is offered after activation of the corresponding confirmation action. These so-called outcomes can be configured in static BPM form files as well as in dynamic ones.
>> Connection of BPM Engine
Presentation of Object Properties (KDDA)
- The values for boolean properties in result lists are displayed as checkbox. A null value is now represented as crossed-out box.
>> Defining Object Types for a Library-based Client - A boolean object property can be classified as
switch
in order to be represented via a switch control.
>> Defining Object Types for a Library-based Client - Custom roles can be configured in order to display administrative properties of DMS objects only to the corresponding administrative users.
>> Customizing the Main Configuration - Properties can be classified such that they are not displayed in any standard form.
>> Defining Object Types for a Library-based Client - A title/name and a description property should be assigned to all objects that are managed via a library-based client as they are used in the object details header and the mixed result list. It is now possible to configure the properties in the
main.json
configuration file to be used for this purpose.
>> Customizing the Main Configuration
Restoring Previous Object Versions (KDDA)
Metadata and binary content files of previous versions of a DMS object can be restored via client application. A new endpoint of the Web-API gateway is called.
>> DmsService of Core Library
Navigation by Keyboard
The new commands library offers a QuickAccessComponent
that simplifies the navigation through the application via keyboard.
>> Custom Client Build with Libraries
Office 365 Integration
The functionality provided by the OFFICE365 and DASHLET services is integrated via plug-in configuration in combination with the VIEWER Service in a library-based client. Thus, it is possible to offer preview and editing possibilities for Microsoft Office content files in your client application.
>> Integration of Office 365 Functionalities
yuuvis® Momentum client as reference implementation
- All new features offered in our developer libraries are implemented in the client application for demonstration.
The standard column and filter configuration as well as its plug-ins cannot be managed any longer via the client application but via the Web-API Gateway instead.
>> Structure and Features of the Client
Tenant Management
Keycloak Version Update to v15
Our tenant management solutions use the Keycloak version v15.
>> Requirements for Tenant Management Services
Tenant Management API
Support of other Identity Providers than Keycloak
The Tenant Management API can be connected with other identity providers than Keycloak via a custom microservice. This connection allows only for reading user data but not for updating them. The Tenant Management API is called by the API-WEB service and the BPM-ENGINE service.
>> TENANT-MANAGEMENT Service
New Swagger UI Version
The new Swagger UI provides the Spring Boot Actuator endpoint of the TENANT-MANAGEMENT service in order to directly retrieve monitoring information. The authentication-prod.yml configuration file has to be manually adjusted.
>> Breaking Changes
Business Process Management (BPM)
BPM Engine
Task Delegation Management
The delegation-related functionality of the endpoint for applying actions to individual tasks is extended. Especially, the following actions allow to apply changes to variables as well:
delegate
resolve
Note: The specified values for the variables are updated even if the final resolving process fails.
>> POST /bpm-engine/api/tasks/{taskId}
Release Candidates
The Release Candidates (Alpha) provide the preliminary results expected to be ready at the corresponding date.
Alpha1 - 16 NOV 2021
Client Services & Client Development
Web-API Gateway
Retrieving User Permissions
- A new endpoint GET ../api/dms/permission provided in the dms-controller retrieves the permissions of the currently logged-in user according to the assigned roles and their definition in the corresponding role set. (internal: BUD-425)
Developer Libraries
Session Management
- If no valid session is open, a user requesting an object via URL is redirected first to the log-in page and then to the URL. (internal: BUD-449)
If the session is timed out, the just used URL will be reopened after logging in.
Permissions of Object Types
- The object creation dialog and the filter options offer only those object types for which the currently logged-in user has permission. (internal: BUD-9)
Task Management
- The due date of a task is displayed in the task list of the inbox view.
- The task list can be toggled between list and column mode.
Presentation of Object Properties
- The box icons for boolean fields have been optimized for a better user experience. Instead of a box in a box for the undefined
null
value we are offering a crossed-out box. - A field of type
boolean
can be classified as aswitch
.
yuuvis® Momentum client as reference implementation
- All new library features are introduced.
Alpha2 - 30 NOV 2021
Core
Fail-safe AUTHENTICATION Service
- Multiple instances of the AUTHENTICATION service use the same session state. (internal: OKTO-5011)
Longer Tag Names
- The length limit of the string tag names is extended to 128 characters. (internal: OKTO-5057)
Validation of JSON Web Tokens
- The validation of the internal JSON Web Tokens now considers the expiration date as well. It is not possible to authenticate with a token anymore if its expiration date is exceeded. (internal: OKTO-5015)
Client Services & Client Development
Web-API Gateway
Retrieval of User Information
- The Web-API Gateway uses the Tenant Management API idm-controller instead of the USERSERVICE to read user data. (internal: BUD-6)
New Swagger UI Version
- The actuator endpoint is offered in the Swagger UI for the Web-API Gateway for monitoring purposes. (internal: BUD-289)
Performance Optimization
- The schemata are cached to allow for a faster startup of client applications. (internal: BUD-515)
Search Conditions with Negation
- The search endpoint allows for negation in conditions. (internal: BUD-423)
Developer Libraries
Restoring Previous Object Versions
- It is possible to restore an older version. (internal: BUD-20)
yuuvis® Momentum client as reference implementation
- All new library features are introduced.
Tenant Management
Tenant Management API
New Swagger UI Version
- The actuator endpoint is offered in the Swagger UI of the Tenant Management API for monitoring purposes. (internal: BUD-289)
Business Process Management (BPM)
BPM Engine
Task Delegation Management
- An endpoint allows for updating variables and resolving for delegated tasks within a one single request. (internal: ERA-8284)
Alpha3 - 14 DEC 2021
Core
Supported Authentication Providers
- The Keycloak version v15 is supported and is available via Docker image for test installations. (internal: OKTO-5075)
Product Version Information
- A new endpoint retrieves information on the installed product version. (internal: OKTO-5051)
Tenant Management
Keycloak Version Update to v15
- The Keycloak Proxy Service is adapted. (internal: ERA-8317)
- The Tenant Management API Service is adapted. (internal: BUD-490)
- The custom Keycloak themes are adapted. (internal: BUD-491)
Tenant Management API
List of roles
- There is a new idm-controller that lists all roles of the tenant of the requesting user. This endpoint will serve the needs of the BPM-ENGINE Service. (internal: BUD-400)
Alpha4 - 11 JAN 2022
Core
Custom Audit Entries
- An endpoint allows the creation of individual audit trail entries by custom microservices. (internal: OKTO-4936)
Restoring Previous Object Versions
- It is possible to restore an old version of an object via API. (internal: OKTO-5079)
Loggers for Webhooks
- The input and output data for each webhook can be monitored via loggers. (internal: OKTO-5088)
Client Services & Client Development
Web-API Gateway
Restoring Previous Object Versions
- Metadata and binary content files of previous versions of a DMS object can be restored via a new endpoint. (internal: BUD-20)
Developer Libraries
Presentation of Object Properties
- In the history, the tags are differentiated by name and status including localization. (internal: BUD-564, BUD-559)
- You can set an old version as the current one. (internal: BUD-20)
- You can copy and paste the cell values of a result list. (internal: BUD-593)
- You can hide technical fields to be delivered with the standard form. (internal: BUD-487)
yuuvis® Momentum client as reference implementation
- All new library features are introduced.
Alpha5 - 25 JAN 2022
Core
Changing the Value for 'system:parentId'
- If the value for the
system:parentId
property is changed, added or removed, an audit entry with the specific action code340
is created in addition to the usual audit entry corresponding to a metadata update. (internal: OKTO-4876)
Timeouts for Webhooks
- In order avoid system bottlenecks, the time a called Webhook may take to process can be limited. (internal: OKTO-5086)
Tenant Management
Tenant Management API
Support of other Identity Providers than Keycloak
- The Tenant Management API can be combined with other identity providers than Keycloak via a custom IDM Proxy Service. All endpoints of the Tenant Management API idm-controller will read user data via this microservice. (internal: BUD-524)
Developer Libraries
Task Management
- A Taskflow example will be offered with all needed artifacts (process model, task forms, client plugin, localizations, catalog) to be manually deployed. After deploying these artifacts, a Taskflow can be started for each object and will be displayed in the Inbox's task aspect.
- It is possible to configure custom confirm actions for a BPM task including an optional form that is offered after activation of the corresponding confirmation action. These so-called outcomes can be configured in static BPM form files as well as in dynamic ones. (internal: BUD-789).
Presentation of Object Properties
- You can set up custom roles for users that should be allowed to see more advanced information in the object summary and history as well as in the 'My Processes' view. You can overwrite the YUUVIS_MANAGE_SETTINGS role that allows to save result list column and filter configurations. (internal: BUD-488)
- Custom history entries are listed in the object details history aspect and can be filtered. (internal: BUD-715)
A title/name and a description property should be assigned to all objects that are managed via a library-based client as they are used in the object details header and the mixed result list. It is now possible to configure the properties in the
main.json
configuration file to be used for this purpose. (internal: BUD-819)
Navigation by Keyboard
- The new
QuickAccessComponent
simplifies the navigation through the application via keyboard. (internal: BUD-560)
yuuvis® Momentum client as reference implementation
- All new library features are introduced.
Final - 22 FEB 2022
Core
Authentication via Certificates within the Cluster
- Services within the yuuvis® Momentum Kubernetes cluster can use certificates in order to internally send authenticated requests instead of conventional username and password credentials. (internal: OKTO-5064)
Postponed Features
These initially planned features could not be realized. Some of them are planned for the next version 2022 Summer.
Core
Deleting a Tenant (KDDA)
A tenant including all saved objects can be deleted from the yuuvis® Momentum system.
Client Services & Client Development
Developer Libraries
Presentation of Object Properties
A form field of type string and classification id:organization
can be configured such that it is available only for users with a specified role.
yuuvis® architect
Selecting the Target Tenant
System integrators cannot only maintain tenant-specific resources of their own tenant but can select a target tenant now.
Schema Modeling
Administrators are supported to model schemata via the graphical user interface of yuuvis® architect. As a first step, is possible to edit the properties of existing schema files via a self-explanatory form. Alternatively, the XML structure can be edited via an ASCII editor.
- Tenant administrators can load the deployed tenant schema, edit and save drafts, validate and deploy the drafts.
- System integrators can maintain the global schema as well as the app schemata.
- Deployed and draft schemata are shown next to each other for comparison. A difference mode marks the differences.
- Draft schemata are stored via the CONFIG service.
Configuration Management
Administrators can set up the standard column and filter configuration for their client application as well as its plug-ins.
Tenant Management
Tenant Management API
Support of other Identity Providers than Keycloak
An example custom IDM Proxy Service demonstrates how to connect a different identity provider than Keycloak that supports the idm-controller endpoints. The example microservice connects the web identity management system Auth0.
Changelog
Bugfixes
Hotfixes
Below you will find information about the provided hotfixes. The latest status about the atrefacts can be bound here: "Version Tags Services".