release notes

Release notes Indicium (2021.1.16)

Related products: Indicium Service Tier
Release notes Indicium (2021.1.16)

Hello everyone,

in this sprint, we've added more awesome features and solved some issues. 

You can read the Indicium user manual to read about Indicium's features. We'll keep you updated regularly about Indicium's progress.

 

Indicium Universal

Multi-row task support using MultiselectParameterID

We've added support for executing multi-row tasks using a runtime XML parameter that is provided through the MultiselectParameterID extended property. For more details, see the blog on Multi-row task execution in our Community.

 

Message protocol-independent web services in process flows

In version 2021.1 of the Software Factory, 'Message protocol independent' web services in a process flows were introduced. As of this version, they are supported by Indicium Universal.

This feature allows you to create entirely custom APIs, receive and process the HTTP requests on the database, and set the HTTP response as well. Please note that this feature is not meant to simply create an API for a process flow because you want to start it with an API call. Every process flow already has an API  that allows you to start it with an API call. This feature is specifically meant for situations where you have limited control over the contents of an HTTP request, but you want to process it in your Thinkwise application. For instance, if you want to implement a webhook and a third-party service will send data in XML form to a certain endpoint and you want to process it, then this would be a good solution.

Message protocol-independent webservice

When the API checkbox is checked, Indicium Universal will create a special API endpoint for you:

/open/iam/<appl>/<process_flow_id>

If the API alias field is filled out, the endpoint will be:

/open/iam/<appl>/<process_flow_api_alias>

The first segment of the endpoint is /open because this is a special endpoint that is entirely separate from Indicium's regular OData endpoints. This endpoint will accept any type of request that you send to it, as long as the path of the URL is as shown above. No matter what the HTTP method is, whether you add a query string to the URL, which headers you include or what the request body is, all requests are valid.

Once the API checkbox is checked, you can choose to link properties to your process variables, similar to how this works for report parameters. These properties represent properties of HTTP requests and responses. When an HTTP request property (Method, Path, Query string, Request body, or Request headers) is mapped to a process variable, that process variable will be initialized with the corresponding value in the HTTP request that triggered the process flow. When an HTTP response property (Response body, Response code, Response headers) is linked to a process variable, the values of those process variables will determine the response that Indicium will give.

Please note the following restrictions that apply to these process variable properties:

  • Method - The domain must be a string type, such as (n)varchar or an equivalent type.
  • Path - The domain must be a string type, such as (n)varchar or an equivalent type.
  • Query string - The domain must be a string type, such as (n)varchar or an equivalent type.
  • Request body - The domain must be a string or binary type, such as (n)varchar, varbinary, or an equivalent type.
  • Request headers - The domain must be a string type, such as (n)varchar or an equivalent type. The value will be formatted in JSON like this: { "Header1": [ "value1", "value2" ], "Header2": [ "value"] }
  • Response body - The domain must be a string or binary type, such as (n)varchar, varbinary, or an equivalent type.
  • Response code - The domain must be an integer type, such as int or an equivalent type. The value must be a valid HTTP response status code (e.g. 200, 204, 404, etc.)
  • Response headers - The domain must be a string type, such as (n)varchar or an equivalent type. The value must be formatted in JSON like this: { "Header1": [ "value1", "value2" ], "Header2": [ "value"] }

For more information, see Message protocol-independent webservice.

Process variables

Changed

  • The title property in IAM's Global settings will now be used as the issuer for TOTP secrets (Time-based One-Time Password). This means that whatever is entered as the title in IAM will be shown in Authenticator apps as the application for which the TOTP codes are meant. This also makes it possible to register a TOTP secret for the same user in multiple IAM databases in one Authenticator app. Previously, 'Thinkwise' was always shown as the issuer. Now, only if no title property is entered, 'Thinkwise' is shown. Ensure that the latest hotfixes are applied, at least 20210203 - Add title to i_core_global_settings.sql.

 

Minor fixes and tasks

  • Database storage did not work if the storage column containing a binary large object (BLOB) was an expression column. This has been fixed.
  • We've fixed that informative messages were wrongly shown as errors on Indicium's pages.
  • The title property in IAM's Global settings will now be used as the page title on Indicium's authentication pages. Previously, 'Thinkwise Identity Provider' was displayed as the page title. If no title property is entered, 'Thinkwise Identity Provider' will still be used. Ensure that the latest hotfixes are applied, at least 20210203 - Add title to i_core_global_settings.sql.

To improve the stability of the new export feature we've fixed two issues and made one change:

  • Columns with GUID data types, like UNIQUEIDENTIFIER, will no longer cause the export to fail.
  • Having multiple columns with the same translation will no longer cause the export to fail.
  • File columns, including data storage columns (BLOBs), will now be skipped when exporting to avoid the export of sensitive information and instability of Indicium due to memory usage.

 

Indicium Basic

Minor fixes and tasks

  • Database storage did not work if the storage column containing a binary large object (BLOB) was an expression column. This has been fixed.

The title property in IAM's Global settings will now be used as the page title on Indicium's authentication pages. Previously, 'Thinkwise Identity Provider' was displayed as the page title. If no title property is entered, 'Thinkwise Identity Provider' will still be used.

I still have Thinkwise Identity Provider as the title. In IAM (2021.1) > Settings > Global Settings I have a title configured. I've restarted Indicium to be sure. We use it for OpenID purposes. Any suggestions?


Hello René,

I have just tested it on the 2021.1.16 release and it works for me, as you can see on the screenshot below.

Here are a few suggestions for troubleshooting this issue:

  • Try an incognito browser window, to avoid any caching issues.
  • Ensure that the IAM database in which you have changed the Title is the same IAM database as the one that Indicium refers to in its appsettings.json.
  • Ensure that the Indicium on which you are testing this is version 2021.1.16. You can see Indicium's version on the root page of Indicium.
  • Ensure that Indicium has really restarted after setting the title in IAM. You can check this by looking at Indicium's log files and seeing this message '[inf] Initiating startup license check’. Indicium will only read the title from IAM once, at startup. Any changes to it require a restart of Indicium.

I hope this helps

 


Hi,

I managed to find out what caused it: Hotfixes. I've applied the latest hotfixes, restarted Indicium and the problem is solved. Maybe it's a good addition to the release notes to ensure that the latest hotfixes are applied (at least 20210203 - Add title to i_core_global_settings.sql).


Hello René,

You're right, there is indeed a required hotfix for this to work which has slipped our attention. We will add it to the release notes, thanks!