release notes

Release notes Indicium (2021.2.17)

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

Hello everyone,

This sprint, we have made some big changes to Indicium's query generation in order to better support OData's $apply function and we have worked towards improving the developer experience. Aside from that, we have also solved some issues.

In addition to these features that are directly visible in Indicium, we have been working on enhancements for the Universal GUI and the next Thinkwise Platform release as these also contain an Indicium component.

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

 

BREAKING. As of this release of Indicium Universal, it is mandatory for the Application Pool user to have read and write access to Indicium's Cache folder, including permissions to create it if it does not exist. Previously, Indicium would show and log an error message if the Cache folder could not be created. The absense of the Cache folder can cause a multitude of other issues, which have led us to make it so that Indicium no longer starts without it, to make it more clear what the actual issue is.

 

Improved support of OData's $apply feature

Over the last few weeks we have worked on enriching Indicium Universal's support of OData's $apply feature. It was already possible to do a single compute, groupby, aggregate, groupby+aggregate or filter transformation in the $apply clause, but as of this release it is possible to chain them indefinitely, with each transformation applying to the result set of the previous transformation.

To illustrate this, the URL below selects all customers for which more than 5 projects were done in the year 2021.

/project?$apply=compute(year(project_date) as project_year)
/filter(project_year eq 2021)
/groupby((customer_id), aggregate(project_id with count as count))
/filter(count gt 5)&$select=customer_id

 

Configuration option to disable scheduled system flows

In this release we have added an Agent:Enabled setting to the appsettings.json. The default value of this option is true.

Setting this options to false will turn off all background operations that are managed by Indicium Universal and IAM. Currently, the only example of such a background operation is the scheduling of system flows.

Example

{
"Agent":
{
// Skip registering this Indicium instance as an agent on IAM.
// Also disables adding all agent related services such as the scheduled system flow runner.
"Enabled": false
}
}

 

Disable Scheduled License Update Checks

In this release we have added an Licensing:ScheduleUpdate setting to the appsettings.json. The default value of this option is true.

Normally, Indicium Universal performs a license check on startup in order to obtain a new, updated license, if necessary. This check then recurs periodically in order to keep the license valid. When this option is set to false, Indicium will not perform this check.

Example

{
"Licensing":
{
// Only check and potentially update the current license once on startup and skip scheduling further checks from being run in the background.
"ScheduleUpdate": false
}
}

 

Changes

  • Default values (including default expressions) are now applied to imported rows.

 

Minor fixes and tasks

  • Various improvements have been made to Indicium's error logging. Some errors lacked the necessary information to troubleshoot them easily and in this release we have improved many of these error messages. We will continue to work on this in the future.
  • Fixed an issue that caused Indicium to return records in a different order despite the $orderby parameter being the same. This could occur when the values of the sorted columns were not unique within the table for view. This has been fixed by appending the primary key to the end of the order by clause to make the sorting deterministic.
  • Indicium would apply percent-encoding to file names, causing spaces to be returned as %20 for example. This has now been fixed.

I see the Agent update in appsettings.json, but not the Licensing.
Is this correct?
I'll manually add the Licensing setting, but just wanted to let you know.


Hello Wim,

For now we have decided to not add the Licensing configuration to the appsettings by default, because we expect it to be quite rare that people would want to turn this off. The Agent configuration will be quite a bit more common in development scenarios.

We will update our documentation accordingly, but if we receive many questions about it then we will add it to the appsettings by default.

Thank you for letting us know.


We have found an issue in version 2021.2.16 of Indicium Universal that could cause the Universal GUI to be unable to determine the correct page of a record after saving it, causing it to be unable to jump to that page. This issue has been fixed in version 2021.2.17, which is available for download in TCP.

Our apologies for any inconvenience caused by this issue.