Breaking Changes / Deprecated Features 10.x

 

Breaking Changes

You will find all breaking changes for the major and minor releases below.

License Control

  • Implementation of a License Control, starting with version 10.0:

    • Differentiation between named and concurrent user

    • Differentiation between PRODUCTION, TEST, and PROVISION (trial) system with the control of an expiration date

    • Later and step by step: Control of functions like Import/Export (ETL), Signing, OCR, ...

Localization

  • Beginning with version 10.6: In the past, the localization of labels, error messages, and audit information was handled on the core-service side. Step by step, most of these items have to be configured on the client side. With the next step the basis parameters like title, description, created, modified, creator, modifier, etc. are no longer handled on the core-service side.
    Therefore, basis parameter labels on the client side must be localized within the <language iso code>.json files (e.g. ja.json).

  • CSV Export

    • Beginning with version 10.8: The client requests the search-service for the CSV export with a list of the fields and their labels concerning the language the user has configured.

    • Attention: If a CSV export is requested via search API, keep in mind that the column labels are only in English if the fields are not explicitly listed in the payload. The list of fields controls the column sequence in the CSV file. The value of the fields contains the qualified name of the field (object type property) followed by the label (all characters after the first space). If no label is given, the technical name is used for it.
      Used endpoint of the search API: http://mydomain.de/search/export

      { "types": [ "personaldossier" ], "options": { ... }, "fields": [ "type Type", "personaldossier.dateofdeployment Date of employment", "personaldossier.class Class", "personaldossier.firstname First name", "personaldossier.surname Family name", ... "created Created", "creatortitle Creator", "modified Edited", "modifiertitle Editor" ] }

BPM-Scripting

  • In yuuvis® RAD version 8 LTS, the BPM-Scripting API call "$.history.createEntry" was deprecated by a new method "$.history.addEntry".
    The deprecated method is removed with version 10.0.

  • The script engine is running in strict mode, so some of the errors that were previously present in scripts (and were ignored by the engine) are now visible.

    • If a read-only property of an object belonging to the workflow scripting API is changed, an exception will be thrown. In previous versions, it would appear as if they could obtain a new value, but when saving the state of properties, they would not be saved. 

      • This change in particular affects manipulation of performers in scripts, where old examples were using read-only fields in an improper manner.

      • We have introduced a new approach to obtain the correct OrgObject (with method getObjectById() ), details can be found in How to Update/Upgrade 10.x

    • Use of undeclared variables results in an error. This is a frequent issue in Javascript that does not run in strict mode and is typically caused by a typo (either a name of a previously declared variable is mistyped, or var declaration is forgotten). The issue is corrected by using the correct name, or by properly declaring the variable.

Client

Core-service API

  • Introduction of the new feature in process development that allows modeler to exclude certain users, roles, and groups from participation in a workitem has caused the following API changes: 

    • GET  /bpm/process/processId/activity/activityId/performer has new response format that lists exclusions as well.

      • GET /bpm/process/{processId}/activity/{activityId}/inboxitem has been extended to contain excluded members (https://jira.optimal-systems.de/browse/ERA-9010), but there are no breaking changes (users of the endpoint may decide to use this new information).

    • PUT /bpm/process/{processId}/activity/{activityId}/performer has been changed (https://jira.optimal-systems.de/browse/ERA-9796).

      • Its payload structure has been changed to allow adding of both performers and performers.exclusions.

      • It can only add performers and performers.exclusions to the existing list (up to version 9.16 it was possible to replace the whole configuration if parameter "replace" is set to "true").

    • POST /bpm/process/{processId}/activity/{activityId}/performer has been added to replace the complete performer- and performer.exclusions-configuration.

      • It uses the same payload structure as GET and PUT endpoints.

  • GET /bpm/process/<processId>/history has a new optional parameter "includeData" that controls the size of its response.

    • The parameter is "false" by default.

    • If the includeData parameter is not set or set to "false" the data object (containing all variables and its values for every history entry) is not written into response.

    • If the includeData parameter is set to true, the data object containing the variables will also be returned.

Service-Infrastructure

signing-service

Beginning with version 10.10 the signing-service uses the new Elasticsearch API instead of the yuuvis® RAD search API. After the update, it is necessary to adjust the servicewatcher-sw.yml for the signingservice section. "es" must be added to the profile.

- name: signingservice type: microservice profiles: prod,cloud,es instances: 1 memory: 256M ....

Deprecated Features

You will find all deprecated features for the major and minor releases below.

10.0

  • Qlik, the new owner of Talend Open Studio has discontinued it from January 31st, 2024.
    For this reason, we are forced to deprecate the Talend connectors for yuuvis® RAD but we will continue to offer support in form of bug fixes in yuuvis® RAD version 10.0.

  • In BPM-Scripting API, the class "Variable" has been deprecated and we recommend using the new class "Datafield" instead. It is similar to the deprecated class "Variable" but offers a simpler and more consistent API when working with complex data types (e.g., lists of lists).
    Details and examples can be found in BPM-Scripting API documentation in core-service. It is allowed to use "Datafield" and "Variable" classes in different scripts of the same workflow model, but not to mix them in the same script. This also means that if the model's global script was adjusted to use the class "DataField" instead of "Variable", it must be ensured that other scripts calling affected global script methods are adjusted, too. And vice-versa: if global script uses the class "Variable", then its client should also use the class "Variable".