Changelog 10.4

Key

Subject

Description

Key

Subject

Description

ERA-9224

For a string field, the attribute "URL for auto-complete service" can be defined

As an administrator, I want to support the users with dynamic lists that can be used without form scripting so that it supports saved searches as well as the search in a context. 

Acceptance criteria:

  • designer: a new property of strings for "Autocomplete URL" can be defined on string fields

  • The field contains a URL of a custom microservice that will be used by client to provide/check the input values

  • The URL may be absolute or relative

  • It is forbidden to use both "Autocomplete indexing" (suggestions come from our search service) and "Autocomplete URL", since client cannot use both of them to provide autocomplete suggestions

  • Clarification: If classification "Dynamic lists" is used, user cannot define new values, just select from existing ones.
    If no classification or other classification (such as Email) is applied, user is supported when entering free-text strings, and suggestions are coming from the custom microservice

ERA-9724

Validation shows a warning if substitution is not allowed for workitem but email should be sent to substitutes

As a modeler, I would like to get information if some of the options I have selected in workflow cause unwanted side effects, in order to be able to correct them and improve user experience. 

Acceptance criteria:

  • A warning is issued if substitution is not allowed for workitem, but an email configuration specifies that an email should be sent to substitutes of assigned users

ERA-9750

Process-ID and Activity-ID are available as a new placeholder variable

As a BPM Process-Model developer I want to be able to use the Process-ID and the Activity-ID in various strings - just like it is already possible with {activityname} and {processname}.

Acceptance criteria:

  • The variables {activityid} and {processid} can be used as a placeholder 

  • They are replaced with corresponding values of the activity/process, where applicable. For instance they can be used in

    • Email subject

    • Text for workitems

    • Process subject or description

ERA-9896

A visual representation of a process model can be obtained

As a user, I would like to see an image that shows me the steps of a process model, in order to better understand its functionality.

Acceptance criteria:

  • there is an endpoint in core-service that delivers an image that depicts the structure of the process:
    GET /bpm/management/model/ {modelId}/image

  • the image is in SVG format 

ERA-9899

done() and save() are no longer needed to persist the process-state-changes made in event-scripts

As a script developer, I would like that all process-state-changes in workflow event-scripts are automatically saved, in order to write simpler and more understandnable scripts.

In particular, the done() and save() methods are often causing errors in development if they are forgotten, so instead of them, it is better to implicitly persist the changes at the end of script execution.

Acceptance criteria:

  • the done() method is marked as deprecated with hint in documentation

  • the save() methods are marked as deprecated and removed from documentation

  • if any of them are called in a script, they have no effect on execution and a warning is issued in log-file

  • the change in behavior is described in documentation

  • at the end of script execution, all changes on process state such as datafields are implicitly saved to database

    • same as before, if there was an unhandled exception during script execution, the whole transaction in which the script is executed is rolled-back so no changes are saved

    • the scripts containing conditions, such as loop- or transition-conditions, will not execute the automatic save, since it would be a major antipattern to allow state-change of a process within condition scripts

    • saving of changes on DMS objects is not affected by this change, and that method is still needed to persist changes on a DMS object. For instance:

      processFile[0].data.amount=1000; processFile[0].save(); //this is still neccessary to persist change of amount to 1000 in DMS

SPAR-756

A context path (like "api") is added to the endpoints of the office365 service.

As admin I want to be able to differenciate between API-endpoints and manage endpoints because I want secure them differently.

  • endpoints of O365-services have an additional context path

TUK-3769

The position of notifications is changed so they do not overlap the form buttons

As a user, I want to be able to determine a different position for a notification if the default is always overlaying a button and I have to wait or click around.

Acceptance criteria:

  • Show the first notification a bit higher.

TUK-3825

The extraction-service supports e-invoices of the format XRechnung version 3.0.1 in the syntax UNCEFACT

As an administrator, I would like my configured mapping of ZUGFerd/Factur-X attributes to object properties to work for e-invoices of the format XRechnung version 3.0.1 in the syntax UNCEFACT too.

Acceptance criteria:

  • The extraction-service recognizes XML files formatted as ZUGFerd 2.2/Factur-X  1.0 and XRechnung 3.0.1 and maps corresponding invoice attributes to the same FERD key so that the same alias for the mapping to object properties is used.

TUK-4241

License-Management-Service enhancements

As a programmer, I want to be able to request a new license file while uploading an existing one including license parameters with its values that should be changed.

Acceptance criteria:

  • There is a License Management Service available on a test system that offers the following features:

    • There is an endpoint that allows pre-uploading a license file and returning its current parameters.

      • The file is validated. If it is not OK, an error is returned.

      • It is checked whether the given yR-system is in the database

        • if the system exists the current license parameters in the database are returned

        • if the system does not exist the system is created in the database

    • There is an endpoint that allows the creation of a new license file based on the given mandatory parameters

      • If the license is new it is created in the database.

      • If a former license exists its parameters are updated with the new ones

      • A new license file is created and persisted

      • Question: will this file be returned

    • There is an endpoint that returns the license file for a given system.

  • There is an endpoint that reports all systems of a customer ident including their license parameters.

  • There is an endpoint that deletes an existing system.

  • An API-key (e.g. for yuuvis RAD as a Service) is available that can be read by the core-service when starting up and that can be used to request the License-Management-Service as follows:

    • A GET endpoint is available that can be requested by the core-service with the PROVISIONAL license file and that responds the PRODUCTION license file with unlimited concurrent users and an activated encryption feature.

    • The responded license file is uploaded, validated, and activated

    • The newly generated license file is saved

    • To be clarified: How can we synchronize with the customer data in enaio-Bär?

  • The features are documented here: https://wiki.optimal-systems.de/display/PM/License+Management+Service 

TUK-4322

When creating a 'Chart' widget with an 'Attribute for aggregation' of type number an appropriate starting point, interval, and partial values are offered

As a user, I want to be supported by the preset of starting point, interval, and partial values when I am creating a chart for an 'Attribute for aggregation' of type number so that I do not have to do it by myself.

Acceptance criteria:

  • The found min and max values are presented in the chart.

  • With the help of the found min and max values the three parameters are calculated, see the following examples:

 

image-20240528-153817.png

This is how we get min and max for an attribute with an additional feature:

{     "aggs": {         "<qname of attribute>": {             "metrics" : ["min","max"]  }     } }

The response is:

{    ...     "aggregations": {         "min#<qname of attribute>_min": {             "value": 123.0         },         "max#<qname of attribute>_max": {             "value": 155.0         }     } }

Here we see some examples for different languages:
https://stackoverflow.com/questions/361681/algorithm-for-nice-grid-line-intervals-on-a-graph
https://stackoverflow.com/questions/72756959/generating-an-interval-based-on-max-and-min-value

TUK-4643

The service-manager setup offers a hot deployment of the managed services

As an administrator, I want the service-manager not to be stopped in case of an update if only the services are updated he is managing so that the downtime is decreased.

Acceptance criteria:

  • The setup checks whether the service-manager has to be stopped or a hot deployment is possible. Information about the situation is given.

  • In this case of a hot deployment, the service-manager keeps running and the managed services are saved to the update folder so that the service-manager handles their exchange.

  • If you want to use the hot deploy capability of the service-manager setup of version 10.4 make sure that the service name in the Windows services is equal to the value of the registry-key Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\OPTIMAL SYSTEMS\yuuvis RAD\service-manager\ServiceName. The default is yuuvis_rad_service-manager

 

TUK-4767

For line charts, number attributes can be selected for aggregation

As a user, I want to be able to select a number attribute for aggregation in a line chart like it is possible for a date attribute.

Acceptance criteria:

  • In the case of a line chart the selection dialog 'Attribute for aggregation' offers the number attributes as well.

  • if a number attribute is selected the relevant fields for offset and interval are offered instead of the date histogram.

  • The line charts are working well with the given number ranges as is possible for the date histograms.

TUK-4826

In the folder view, a Strg + left mouse click on a list item of 'Most recent changes' or 'Latest edited' opens it in a new browser tab

As a user, I want to be able to open an object in a new browser tab with Strg + left mouse click on a list item of 'Most recent changes' or 'Latest edited' of the folder view so that I can use it on a second monitor.

Acceptance criteria:

  • In the folder view, a Strg + left mouse click on a list item of 'Most recent changes' or 'Latest edited' opens it in a new browser tab.