Product Version 2020 Winter eLTS
Table of Contents
Nomenclature of Releases
We changed retroactively the version labels in the documentation according to contracts beginning with former version 2.0 (2019 Winter):
Deprecated Version Name | Version Name |
---|---|
2.0 (Winter 2019) | 2019 Winter |
2.1 (Spring 2020) | 2020 Spring |
2.2 (Summer 2020) | 2020 Summer |
2.3 (Autumn 2020) | 2020 Autumn |
The next release will be 2021 Summer.
>> Product Version 2021 Summer
Features
Here you will find some of the new release's highlights. Check out the Change Log for further information on all changes.
Please pay attention also to the Breaking Changes.
DMS Endpoints
New endpoint for PDF rendition
A new endpoint returns the PDF rendition of an already uploaded content file of a DMS document object identified by its objectId
. You are able to render different files of different Microsoft Office and Excel types as well as image types into PDF format.
>> GET /api/dms/objects/{objectId}/contents/renditions/pdf
(internal: OKTO-4615)
Elasticsearch
Elasticsearch Version 7.9.3 Supported
We support Elasticsearch 7.9.3 and the corresponding plugins. The update can be done via our provided docker image that includes Elasticsearch version 7.9.3 as well as the two required plugins (Intrafind Linguistic Plugin and ICU Analysis Plugin) in the related versions.
>> yuuvis® Momentum Requirements
(internal: OKTO-4610)
Queriable Tables
Using a new elastic search index structure for queriable tables, single table cells can be accessed in search queries. The conditions can now be specified for single cell entries and not just for the entire JSON table structure. Queriable tables indexed for Elasticsearch with the former format are still accessible in the system, but not by means of single-cell search queries. They can be reindexed by Reindexing of Elasticsearch from Database using the Commander service. The reindexing will also apply to every tag in the system.
>> Queries on Queriable Tables
(internal: OKTO-4535)
Schema Validation
Table Column Names
In order to allow for single-cell search in tables, table column names must not have a prefix in their property definition in the schema. The schema validation will not anymore accept a schema containing table column names with prefixes.
>> Schema - Defining Object Types
(internal: OKTO-4639)
Schema - Defining Object Types
Folder in Folder
Folders are structuring elements in a global, tenant-specific or application schema. They do not have their own content files in contrast to document object types. Until now, folders could not be set up in a hierarchical structure – a folder inside a folder was not allowed. Now, folders inside a folder will be allowed and you are way more flexible in setting up hierarchical structures for your business use cases. The folder hierarchy will represent a tree structure where each folder cannot appear as a parent in different levels of the structure. Hierarchies that do not adher to this structure will not pass validation.
>> Folder Object Type Definition
(OKTO-4514)
Tagging
Tag Name Validation
We support now multiple colons as separators in tag names. The tag names are validated during a tag creation or update process. To pass the validation, they have to match the regular expression [a-z](:?[a-z][a-z0-9]*)* and must not be longer than 32 characters.
>> Tagging
Storage Format
The internal storage format in the Elasticsearch index was changed for tags, since they need to be stored in the new table format as well. Their functionality does not change, but since they are stored in the new table format, it is now possible to search for tag properties independently on the tag names. Therefore, their indexing has to be adjusted to the new standard. Any yuuvis® Momentum system already working with tags needs a reindexing via Commander service. The reindexing will apply also to every queriable table property assigned to any stored object.
>> Reindexing of Elasticsearch from Database
(internal: OKTO-4638)
Access Authorization and Permissions
Role sets for app schemata
Since product version 2020 Winter, yuuvis® Momentum has the ability to further structure the global role set into applications. This goes hand in hand with the usage of application schemas, as the new functionality is meant to exclude any role set entries related to an optional application schema from the main global role set.
>> Endpoints for Managing Permissions
(internal: OKTO-4455)
Authentication
Accessing External Services via AUTHENTICATION Service
The AUTHENTICATION service manages the access to the yuuvis® Momentum API gateway. With a suitable configuration, also the access to external services running in the same Kubernetes cluster can be managed via the AUTHENTICATION service of yuuvis® Momentum.
>> Accessing External Services via AUTHENTICATION Service
(internal: OKTO-4544)
Interceptor
New interceptor type configurable
The interceptors allow for project-specific extensions of the yuuvis® Momentum standard process flows. The running process flow can be redirected by a condition set on the processed object that has to be specified in the interceptor definition. The new interceptor POST dms.request.objects.upsert.database-before can be trigger by an object import, an update of the content or an update of the metadata. The take-off point from the regular process flow is after the REPOSITORY service.
>> POST dms.request.objects.upsert.database-before (Interceptor)
(internal: OKTO-4617)
Tenant Management API
This new API offers all necessary endpoints for developing tenant management tools. Tenants and associated users can be created and deleted by users with the appropriate administration permissions. The Tenant Management API requires the role set provided for the client-side services. The available roles can be assigned to users by means of the corresponding endpoints of this API.
>> Tenant Management Endpoints
This documentation shows some remarks about missing features. These will be implemented step by step until version 2021 Summer.
The API is used by the new view User management in yuuvis® architect.
(internal: COOL-12610, COOL-12612, COOL-14173, COOL-8979, COOL-14060, COOL-14167, COOL-13812, COOL-14041, COOL-14065, COOL-12610, COOL-12612)
Configuration
To use the API, it is necessary to manually configure its connection to the AUTHENTICATION service. In the file authentication-prod.yaml
under authorization.accesses
, please add endpoints:
/manage/refresh
as a new line at the end of the section ###
Manage-Endpunkte
.
(internal: COOL-14584)
Tooling
Commander Service
Reindexing of Elasticsearch from Database
Changes in the object structure might lead to differences between the index of Elasticsearch and the database. It is possible to reindex Elasticsearch according to the database by means of the dbs
reindex
command provided by the Commander service. This tool for yuuvis® allows you as a DevOp to perform low-level maintenance on your core system.
>> Reindexing of Elasticsearch from Database
(internal: OKTO-4423)
Comparing Elasticsearch and Database
Unforeseen circumstances might occur in any system and might lead to differences between database and Elasticsearch index. As an example, a deleted object was correctly removed from the database, but for whatever reason not from the Elasticsearch index. It is now possible to check the consistency of the stored objects by means of the maintain
compare
command provided by the Commander service.
>> Comparing Elasticsearch and Database
(internal: OKTO-4546)
Searching for Content Files without Object Reference
yuuvis® Momentum stores content files separately from their metadata. The content files are indicated by a contentStreamId
and can be stored in an S3 store. Each corresponding object with its metadata is stored in a database and contains a reference on the contentStreamId
of its content file. If the object is deleted, the metadata are read from the database and deleted. The content file is searched afterwards by the contentStreamId
that was read from the database before, and deleted. If an error occurs during this process, the object might be removed from the database but not the corresponding content file. Thus, over time, several content files might remain in the S3 store that are not referenced by an existing object. It is now possible to find those content files in the S3 store by means of the maintain
repository
command provided by the Commander service.
>> Searching for Content Files without Object Reference
(internal: OKTO-4616)
yuuvis® architect
yuuvis® architect was extended with the following features besides a new look and feel that will be used for any new administration tool as well.
Form modeler supports tables
The form modeler allows to configure which columns are available to users and in which order they are displayed. It is also possible to control this via scripting. During modeling, the form preview shows the current layout.
The Form modeling tile is available on the dashboard for users with the YUUVIS_TENANT_ADMIN or YUUVIS_SYSTEM_INTEGRATOR roles.
>> Form Modeling
(internal: COOL-13981, COOL-13715)
User management
Users with one of the roles YUUVIS_MANAGE_SETTINGS, YUUVIS_TENANT_ADMIN or YUUVIS_SYSTEM_INTEGRATOR can click the User management tile on the dashboard and open a new state that lists all users of the tenant. Selected users can be edited or deleted. New users can be added. New users will be invited via e-mail to register and set up their password.
>> User Management
(internal: COOL-14060, COOL-12612)
Localization
Users with the YUUVIS_TENANT_ADMIN or YUUVIS_SYSTEM_INTEGRATOR roles see the Localization tile on the dashboard. A click on it opens a new state that lists all technical names that are part of the schema, the group names in forms as well as the basic system parameters. Users can enter labels and descriptions for the selected language.
>> Localization
(internal: COOL-12414)
yuuvis® management console
Our new yuuvis® management console supports a host (provider of the installed yuuvis® system) administrator to manage organizations that can independently manage their tenants.
The host and organization members are registered in a Keycloack realm YMC
that is hosted in the Keycloak instance of the installed yuuvis® Momentum system.
Host members are offered the following features:
- Manage product packages with the maximum amount of objects and the maximum storage space (create, edit, deprecate, delete).
- Create new organizations and delete existing ones if there are no tenants included.
- Import existing tenants.
- Invite new members to the own organization. An invitation e-mail is sent.
- Display the users of a tenant and invite new users.
- Transfer tenants from one organization to another existing organization.
- Monitor the consumption statistics of tenants via metrics.
- Create a metrics report for the last month containing the consumption of each tenant as CSV export for billing purposes.
Organization members are offered the following features:
- Invite new members to the own organization. They will have the same permissions to manage the tenants and members of the organization.
- Create new tenants and assign a product package (delete will come in 2021 Summer).
- Manage the users of a tenant.
- Monitor the consumption statistics of tenants via metrics (number of objects and storage space used on a daily basis) with respect to the currently assigned package.
- Create a metrics report for the last month containing the consumption of each tenant as CSV export for billing purposes
(internal: COOL-12611, COOL-12610, COOL-13905, COOL-14041, COOL-14065, COOL-14037, COOL-14167, COOL-14128, COOL-14305)
yuuvis® themes for Keycloak login page
The login page of Keycloak got a yuuvis® Momentum look & feel that shows the product name as well as the tenant name the user is logging in. The product name is configurable using the set Keycloak 'Display name' of the realm for the yuuvis® tenant.
Functional Extensions - Client side
yuuvis® client as reference implementation
Accessibility
The reference client will be certified according to the BITV 2.0 standard (see DIRECTIVE (EU) 2016/2102 as well) within 2021. To reach this certification, all views and components will be optimized.
We started with the dashboard: all elements of the dashboard can be accessed now via keyboard control.
Table Properties are Supported
yuuvis® client displays tables in forms if defined in the schema. These forms can be customized with the Form Modeling of yuuvis® architect. Scripting for form tables is supported as well.
It is possible to search within tables using filters.
(internal: COOL-13808, COOL-13670)
Tags are supported
Tags can be used to check the processing status of imported objects with content files. Each tag value represents a specific processing step by an integer. Users who want to have an overview of the current process state within the system can search for objects with specific values of a specific tag. Tags can be configured as a columns of a hit list. The integer values can be localized via yuuvis® architect to show meaningful labels, e.g., to
be
classified
, to
be
extracted
or finished
.
(internal: COOL-13812)
Manage Language and Settings via Configuration FIles
Use a custom configuration file to make settings for yuuvis® client as reference implementation. The main settings for yuuvis® client as reference implementation can be customized for each tenant by users with the YUUVIS_SYSTEM_INTEGRATOR role.
(internal: COOL-13288)
helm-charts on GitHub
https://github.com/OPTIMALSYSTEMS/yuuvis-api-helm-charts/tree/master
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".