Hello everyone,
In this sprint, we have added UI and HTTP license endpoints for licensing an IAM environment. We have also added support for the upcoming Thinkwise Platform release 2023.2. In addition, support for versions 2021.2 and 2021.3 has ended.
You can read more about Indicium's features in the Indicium user manual.
About Indicium
Two types of the Thinkwise Indicium Application Tier are available:
-
Indicium: for use with the Universal GUI and via APIs. This version uses the full range of Indicium functionality.
Download Indicium release 2023.2.10 here. -
Indicium Basic: for use with the Windows GUI. This basic version does not support, for example, system flows and OpenID.
Download Indicium Basic release 2023.2.10 here.
Contents
Breaking
Support for Thinkwise Platform releases 2021.2 and 2021.3 has ended
Indicium
Indicium Basic
In accordance with our Lifecycle Policy, we have ended the support for platform versions 2021.2 and 2021.3 as of this release.
New
License endpoints
Indicium
Main Administrator
We have added UI and HTTP endpoints for licensing an IAM environment. Users can use these endpoints to update the license information of their IAM environment without having to log into IAM.
The UI page is available at <Indicium URL>/license
for logged in users who are a Main Administrator. You can also access this page by clicking on the License link on the root page of Indicium.
If Indicium detects that the environment is not registered, it displays the link Register environment. Afterward registering your environment, you can check for an updated license without restarting Indicium.
The /license
HTTP endpoint can also be used to fetch a JSON representation of the current status of the license. Make sure to include an Accept
header containing application/json
in your GET request to the endpoint:
GET /license
Accept application/json
Example responses:
// If unregistered
200 OK
{
"state": "Unregistered",
"refresh_on": "2023-06-27T08:54:56.92Z",
"valid_until": "2023-06-27T09:04:56.92Z",
"is_updating": false,
"registration_url": "http://tcp.thinkwise.app/<rest of url>"
}
// If valid
200 OK
{
"state": "Valid",
"refresh_on": "2023-07-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// If stale because the refresh date has been passed
200 OK
{
"state": "StaleByDate",
"refresh_on": "2023-07-25T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// or if the IAM contains a model that wasn't part of the current license
200 OK
{
"state": "StaleByGuid",
"refresh_on": "2023-07-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// If expired
200 OK
{
"state": "Expired",
"refresh_on": "2023-06-27T08:53:51.1337524Z",
"valid_until": "2023-07-25T08:53:51.1337529Z",
"is_updating": false
}
You can also trigger the check for an updated license by making a POST request to a /license/update
endpoint. Use this together with the Licensing:ScheduleUpdate
setting to, for example, disable the hourly update schedule and have a CI environment perform the update at a specific time of the day instead.
The procedure for this is as follows:
POST /license/update
// If the update completes within 10 seconds, which it should in most cases, you will receive the same response data as with a GET request to /license e.g.
200 OK
{
"state": "Valid",
"refresh_on": "2023-08-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
// If it somehow takes longer than that, the client will instead receive a 201 Created response with a Location header that points to the /license endpoint.
// The idea is that now, to prevent queuing another license update, the client must poll the /license endpoint every so often until it confirms that the "is_updating" property specifies false.
// For example
// It took longer than 10 seconds to perform the license update
201 Created
Location <Indicium>/license
// Poll /license
GET /license
Accept application/json
// If not done updating
200 OK
{
"state": "Expired",
"refresh_on": "2023-06-27T08:53:51.1337524Z",
"valid_until": "2023-07-25T08:53:51.1337529Z",
"is_updating": true
}
// When done updating
200 OK
{
"state": "Valid",
"refresh_on": "2023-08-27T08:53:51.1337524Z",
"valid_until": "2023-09-25T08:53:51.1337529Z",
"is_updating": false
}
Questions or suggestions?
Questions or suggestions about the release notes? Let us know in the Thinkwise Community!.