Breaking Changes

Each yuuvis® Momentum version update introduces changes in the system. In general, we try to deploy such changes in a non-breaking way. If this is not possible, you will find all necessary and vital information on this page. The following breaking changes are incompatible changes we had to deploy into operation, and therefore you—as a yuuvis® user—need to be aware of them and take action accordingly. An update to a new version that skips some of the previous versions is possible and does not require updating to each version in between. However, in this case, you must carry out all actions in the order in which they are listed below. Starting with your current version up to the version you want to update to.

Product Version 2020 Winter (as of March 05, 2021)

Elasticsearch Index

Queriable Tables

Using a new Elasticsearch index structure for tables, single table cells can be accessed in search queries. Tables indexed for Elasticsearch with the former format are still accessible in the system, but not by means of single-cell search queries.

Action: If you have already been using table properties in your system, please reindex them by means of the COMMANDER service. The process can run in the background, the operation of the system does not have to be interrupted. Use the command Reindexing of Elasticsearch from Database. The reindexing will also apply to every tag in the system.

Tagging

Storage Format of Tags

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.

Action: If you have already been using tags in your system, please reindex them by means of the COMMANDER service. The process can run in the background, the operation of the system does not have to be interrupted. Use the command Reindexing of Elasticsearch from Database. The reindexing will apply also to every queriable table property assigned to any stored object.

Tag Name Validation

Tag names are now 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.

Action: Please check your used tag names and replace any used capital letter by a lowercase letter.

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 no longer accept a schema containing table column names with prefixes.

Action: Please update all column names of table properties accordingly in your sources.

yuuvis® client as reference implementation / yuuvis® architect

According to the new indexing of table properties, the endpoints for getting a schema definition provide table column names without any prefix. Especially if the table property is defined in a tenant schema or in an app schema, the table column names will also not have any prefix. Since the reference client uses the exact value of table columns for localization, form modeling and scripting, changes have to be adopted.

Action: Please remove the prefixes from table column names referenced in the localization, in forms and in scripts.

Product Version 2020 Autumn (as of October 30, 2020)

yuuvis® client as a reference implementation

Schema definition

All of your document object type definitions used in the client must have a static reference (static="true") to the secondary object type appClientsystem:leadingType. The type comes with a reference to appClientsystem:leadingTypeId property and is defined in our newly delivered app schema Clientsystem

The property (field) is used to handle the transformation of a document object type during its lifecycle:

  • In case of regular document object types with a static reference to this secondary object type the value contains the value of system:objectTypeId.
  • In case of document object types with a floating reference to a secondary object type for a classification(static="false") at later point in time, their object type IDs are assigned as leading type

The values are set for each update by the new sothook, which has to be installed and configured. It writes the current leading object type IDs into the property.
>> "Referencing the 'appClientsystem:leadingType' Object Type" | "/wiki/spaces/YM20WI/pages/319784094"

Permissions

In Keycloak, you have to assign the new 'YUUVIS_CREATE_OBJECT' role  to all users who need to be able to create new objects.
>> "Access Authorization and Permissions"

API-WEB microservice

The Search Service API supports rapid development of custom clients and is part of the API-WEB service. It is used by our reference implementation: yuuvis® client. The API has been changed and a query's result is now an array instead of an object. 
>> "Search Service API"

Product Version 2019 Winter (as of December 13, 2019)

Renaming of system properties from "enaio" to "system"

The API comes with a personal, tenant-specific schema, which consists of unchangeable system properties, and the global schema. It determines the attributes and properties that objects must or may have. Our system properties have been renamed from "enaio" to "system".

Example: System properties enaio:objectId, enaio:createdBy and enaio:creationDate have been renamed to system:objectId, system:createdBy and system:creationDate.

Action: Please update all used system properties accordingly in your sources.
>> Schema

Schema version has been updated to 5.0

Your personal, tenant-specific schema consists of unchangeable system properties and the global schema. It determines the attributes and properties that objects must or may have. 
You can retrieve your schema by sending a GET request to the URL /admin/schema ("Get the raw tenant schema" endpoint) and bring in your schema modifications update using
POST request to the URL /admin/schema ("Update the tenant schema" endpoint).

Note that the schema's version has been modified from 4.0 to 5.0.

<schema xmlns="http://optimal-systems.org/ns/dmscloud/schema/v5.0/" ...

Action: If you are going to update a schema, make sure that you use the new version number 5.0.
>> Admin Endpoints