release notes

Thinkwise Platform release 2022.2

Related products: Software Factory Intelligent Application Manager
Thinkwise Platform release 2022.2

We are very excited to announce version 2022.2 of the Thinkwise Platform.

This release contains so many new and improved features! For example, handler procedures for replacing GUI actions, OpenID provider registration and user provisioning, new process flow actions and connectors, improved file storage handling, time zone support, and a lot more.

We will highlight some of these features in this blog. The release is available for download in TCP now.

For more extensive information on these features and a complete listing of everything new, improved, and fixed in this release, please refer to the release notes in the Thinkwise Docs. Do not forget to check the breaking issues and data model changes which may affect your custom code.

 

Some highlights in this release

 

A new logic concept: handler procedures

A highly requested functionality in our Thinkwise Community has come available: you can now replace the insert, update and delete GUI actions by handler procedures.

This new logic concept allows you to override the default insert, update and delete SQL commands initiated by the user interface and Indicium with your own business logic. It can be used best for actions that need to be performed row-by-row.

Like other logic concepts, you can (de)activate the handler logic per table and action (menu User interface > Subjects > tab Default > tab Settings > tab Performance). In Functionality (menu Business logic), you have to assign code group HANDLERS to the control procedure. Then, you can assign the templates.

Activate the handlers

To set a good example, we have replaced delete tasks in the Software Factory and IAM by a handler, where possible. As a result, you can now delete a record and its underlying data simply by executing delete from the CRUD action bar. This change only applies to the delete tasks for the immediate corresponding subject, such as delete table for tables, delete column for columns, etc.

‘Delete’ in the CRUD actions

 

OpenID provider registration and user provisioning

Another wish from our Community was OpenID provider registration and user provisioning. So, that is another feature we built.

It was already possible in IAM to configure external OpenID clients, thus using the Thinkwise Platform as an OpenID provider. External OpenID provider configuration (using the Thinkwise Platform as a client) was only possible in Indicium's appsettings.json.  

As of this release, the external OpenID provider configuration is available in IAM instead, in menu Authorization > OpenID providers

When registering an OpenID provider, it is possible to enable provisioning. In that case, users will be created and updated in IAM after authentication, based on the claim values received from the OpenID provider. If you configure user groups, they will also be automatically created or updated for the user. You can set up a template for automated provisioning, manually modify requested scopes, update mappable claims, and provide mappings when necessary.

OpenID provider settings in IAM

File storage handling

It is now possible to deviate from the initially configurated file storage location type. For example, the Software Factory writes its code files to disk (default) but this can be switched to AWS. Then, if a system flow contains a Write file connector using the reconfigured file storage, Indicium would write it to AWS S3. This is available for applications in IAM and runtime configurations in the Software Factory.

  • The initial file storage location for a project version is set in the Software Factory, in the menu Projects > Project overview > tab Project version > tab File storage locations.
  • In IAM, you can override the file storage location for an application in the menu Authorization > Applications > tab File storage locations > task Switch file storage location type.

  • In the Software Factory, you can configure the base file storage location for each runtime configuration in the menu Maintenance > Runtime configurations > tab File storage locations > task Switch file storage location type.

 

New and changed in process flows

A big change in the process flows is the renewal and extension of the file- and folder connectors. The reason is the change from ad-hoc disk connectors to file storage-based connectors.

To keep the two apart, the old connectors have been renamed (for example, from Copy file to Copy disk file (non-file storage), and moved to the bottom of the list of available process flow connectors. They should no longer be used if they are not necessarily required. We strongly advice using the new, file-storage based connectors.

Thus, renaming the ad-hoc disk connectors has made room for adding new file storage-based connectors. An example is the new Copy file connector, that allows copying files from one storage location to another. If you select this or one of the other new file storage-based connectors, it is mandatory to select the file storage location.

New file storage-based connectors

In addition to the new file and folder connectors, the SMTP connector now also supports file storage to store attachments.

Other new process flow actions are:

  • Download file - Make a file available for download to the end-user. The file can originate, for example, from a database, or from file storage using a Read file connector, or it can be the result of a Generate report connector.
  • Zip and Unzip - Process flow actions for zipping and unzipping files and folders.
  • Activate scheduler - Allows users to navigate to a specific date and time inside the scheduler.
  • Activate maps - Allows users to open the Maps component and zoom in on a specific coordinate.
  • Send user notification - send a notification text to a specified user as soon as they are logged in. Note: in IAM, you can send notifications without a system flow in menu Analysis > Notifications > tab Notifications.
  • Encrypt and Decrypt - Store sensitive data in databases with the new Encrypt and Decrypt system flow actions. Indicium will take care of the sensitive data by encrypting them and returning them to be processed afterward. 

 

Other highlights

  • Time zone setting for users
    In IAM, it is now possible to set a time zone for a user. In addition:
    - If you are using the Universal GUI and select a control for a domain with a DateTime value, you can choose whether it should display the time for the user's current time zone or as stored in the database.
    - If you are using OpenID Connect provisioning, you can add time zone claim mappings for users.
  • Icon repository - It is no longer necessary to download and re-upload icons you already used. By introducing the Icon repository, the icons within a project version can now be selected from the central repository.
  • Performance improvements
    - The source code generation for program objects has been improved. Program objects are objects such as triggers or defaults, layouts or handler procedures.
    - Many generation-related subroutines have been improved by reducing CPU pressure on the Software Factory database.
    - We have added a system flow for `tsf_optimize`. This is a procedure inside the SQLSERVER_DB base project. It can speed up the performance of SQL Server when many indexes are fragmented and statistics outdated. If you would like to use it, you need to add your own schedule for the system flow.

Nice! Congrats with the release.

 

Really useful to have the icon library! 


With regards to the icon library, I find myself to replace icons by accident. This modifies ofcourse all current instances of the icon. To my opinion it is to easy to change an icon. I would like to have a little warning when an icon already is in use. Something like “do you know for sure, the icon is already in use on the following places: …. “ 


With regards to the icon library, I find myself to replace icons by accident. This modifies ofcourse all current instances of the icon. To my opinion it is to easy to change an icon. I would like to have a little warning when an icon already is in use. Something like “do you know for sure, the icon is already in use on the following places: …. “ 

Hey Kasper,

Thanks for the feedback, would you mind creating an Idea for this? I think your suggestion could be a nice addition 😄


With regards to the icon library, I find myself to replace icons by accident. This modifies ofcourse all current instances of the icon. To my opinion it is to easy to change an icon. I would like to have a little warning when an icon already is in use. Something like “do you know for sure, the icon is already in use on the following places: …. “ 

Hey Kasper,

Thanks for the feedback, would you mind creating an Idea for this? I think your suggestion could be a nice addition 😄

ofcourse :) 


As of this release, the external OpenID provider configuration is available in IAM instead, in menu Authorization > OpenID providers

Two remarks on the migration from appsettings.json > IAM for existing OpenID Provider configuration:

  • Make sure to use in column Identity provider the exact same name as used in the Reply URL in the configured App of the OpenID provider: <url/indicium/signin-{name}>
  • When using Azure AD: make sure to add claim ‘email’ and use that in column Identifying claim

We encountered issues with our migration if above criteria were not met.


Hi @Arie V, good point! We made some adjustments to the extended version of the release notes.