Skip to main content

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings
  • 506 Product updates
featured-image

Release notes Indicium (2022.1.15)

Hello everyone, In this sprint, we enhanced the error logging, and the Application connector process action has three new status codes related to the database server connection. Finally, you can now patch a property to its current value when hidden or read-only, making the Indicium API more usable for third-party applications. In addition to these changed features, we are working hard on upcoming features in the 2022.2 Thinkwise platform release, and on features that are lifted over multiple sprints, for example, horizontal scaling. You can read more about Indicium's features in the Indicium user manual. We will keep you updated regularly about Indicium's progress. Download Indicium Universal release 2022.1.15 here. Download Indicium Basic release 2022.1.15 here. Contents of this release Breaking Install Indicium 2022.1.15 together with Universal 2022.1.13 (BETA) Indicium Basicand Indicium Universal Log SQL statements with database errors Indicium Universal New status codes for Application Connector Allow patching a property to its current value when hidden or read-only Breaking Install Indicium 2022.1.15 together with Universal 2022.1.13 (BETA) The Universal GUI now communicates differently with Indicium when executing a task on multiple rows with the Popup for each row setting enabled. This makes this release dependent on the 2022.1.13 release of Universal: If you install this Indicium 2022.1.15 release, you must also install the Universal 2022.1.13 (BETA) release Indicium Basic and Indicium Universal Log SQL statements with database errors When an error occurs at the database level, Indicium now logs the associated error messages, including the SQL statements in the error log. These SQL statements can make it easier to determine which query caused the error. Indicium Universal New status codes for Application Connector In a process flow, the Application connector process action has three new status codes for the executed action: -7 - Unsuccessful (could not open database)-8 - Unsuccessful (could not connect to database server)-9 - Unsuccessful (invalid credentials for database connection) Allow patching a property to its current value when hidden or read-only Patching a value to a resource equal to the current value, for example, for hidden or read-only columns, resulted in an HTTP Forbidden error. Now, this value is accepted (HTTP OK), making the Indicium API more usable for third-party applications.

Related products:Indicium Service Tier
featured-image

Release notes Thinkwise Deployment Center (2.2.0)

Hello everyone, In this release, we have added: Support for deploying the Thinkwise Upcycler. A separate deployment option for synchronizing the meta model of an application into IAM without installing or upgrading the database. A settings file for the Deployment Center's GUI in which you can store some default values for various screens during startup. We have also improved working with the Manifest. Download the Thinkwise Deployment Center 2.2.0 here. Contents New Support for deploying the Thinkwise Upcycler (GUI and CLI) Application model synchronization as a separate deployment option (GUI and CLI) Skip synchronizing the application model into IAM (GUI and CLI) Settings file for the Deployment Center's GUI Manifest - Specifying a directory path in a supportedVersion Manifest - Override the fallback encoding of script files Changed IP validation for bindings when creating a new site (GUI) Next New Support for deploying the Thinkwise Upcycler (GUI and CLI) It is now possible to deploy the Thinkwise Upcycler with the Deployment Center.Deploying the Thinkwise Upcycler through the GUI or CLI is similar to the Thinkwise Software Factory. Deploy the Upcycler through the GUI To deploy the Upcycler through the CLI: twdeployer.exe upcycler auto -m ".../Manifest.json" -s ".\sqlserver" -n "THINKWISE_UPCYCLER" --iam-name "THINKWISE_IAM" twdeployer.exe upcycler install -m ".../Manifest.json" -s ".\sqlserver" -n "THINKWISE_UPCYCLER" --iam-name "THINKWISE_IAM" twdeployer.exe upcycler upgrade -m ".../Manifest.json" -s ".\sqlserver" -n "THINKWISE_UPCYCLER" --iam-name "THINKWISE_IAM" twdeployer.exe upcycler hotfix -m ".../Manifest.json" -s ".\sqlserver" -n "THINKWISE_UPCYCLER" Application model synchronization as a separate deployment option (GUI and CLI) We have added a separate deployment option for synchronizing the meta model of an application into IAM without installing or upgrading the database.Currently, this is available for deployment packages generated by the Software Factory if the Deployment Center detects a 'MetaModel' folder on the same directory level as an 'Install' or 'Upgrade' package. The synchronization deployment for the Software Factory and Upcycler requires the name of a matching database due to their post-synchronization scripts. These products use the database name, for example, to create an application record inside the target IAM. For applications other than the Software Factory and Upcycler, providing a database name is optional since the Deployment Center cannot detect if the post-synchronization scripts use it. We are still looking into extending the manifest specification to make the model synchronization a separate package type with options to specify parameters included in the post-synchronization scripts. Synchronizing the meta model through the GUI To synchronize the meta model in the CLI: twdeployer.exe iam sync-model -m ".../Manifest.json" -s ".\sqlserver" -n "THINKWISE_IAM"twdeployer.exe sf/upcycler/app sync-model -m ".../Manifest.json" -s ".\sqlserver" --iam-name "THINKWISE_IAM" --db-name "THINKWISE_SF/UPCYCLER" Skip synchronizing the application model into IAM (GUI and CLI) You can now skip the synchronization of the application model during the installation or upgrade of a Software Factory, Upcycler, or customer app. This can be useful when a single IAM has been configured with multiple instances of the same application on different servers. In the GUI, you can skip the synchronization step by clearing the Import application model checkbox on the new Synchronization options screen: Clear the Import application model checkbox to skip synchronization In the CLI, the auto, install, and upgrade commands for the Software Factory (sf), Upcycler (upcycler), and app (app) have been updated with a --skip-model-sync switch: twdeployer sf/upcycler/app auto/install/upgrade ... --skip-model-sync Note that the --iam-name option is no longer required if --skip-model-sync is used. Settings file for the Deployment Center's GUI We have added a settings file for the Deployment Center's GUI that you can use to store some default values for various screens during startup. The default template is: { "DbConnection": { "Host": "", "Username": "" }, "IISApi": { "ServerUrl": "https://localhost:55539", "ApiKey": "", "Username": "", "TrustInvalidSSLCert": false }, "Manifest": { "SelectionDirectory": "", "LoadOnStartup": [ ], "HideLoadAfterLoadOnStartup": true }} DbConnection - use this section to specify a default Host and Username when making a connection to a database server, for example, when starting an install or upgrade flow. If Username is empty or otherwise unspecified, the GUI assumes you want to use Integrated Security instead. After a successful connection to a database server, the GUI will continue to load the information of the last successful connection for subsequent screens, like in previous releases. { "DbConnection": { "Host": ".\\sql2019", "Username": "sa" }} Result of DbConnection settings in the GUI IISApi - Use this section to specify default connection settings to a Microsoft IIS Administration API instance. { "IISApi": { "ServerUrl": "https://localhost:55539", "ApiKey": "not a real key just an example", "Username": "tsf\\thisisausername", "TrustInvalidSSLCert": true }} Result of IISApi settings in the GUI Manifest - Use this section to indicate how manifests are loaded by the GUI at startup. LoadOnStartup - Use this section to specify multiple manifest files to load during startup. When you leave this unspecified or empty, the GUI will default look for a Manifest.json/yaml/yml file in the executable's directory. Paths are relative to the location of the executable. So, if you also want to load the default manifest locations, you must add them as well. For example: { "Manifest": { "LoadOnStartup": [ "Manifest.json", "C:\\Manifests\\Manifest_2021_2.json", "C:\\Manifests\\Manifest_2021_3.json", "C:\\Manifests\\Manifest_2022_1.json" ] }} Result of Manifest settings in the GUI HideLoadAfterLoadOnStartup - By default, the GUI hides the separate manifest loading and selection screens if a manifest is loaded during startup. You can now change this behavior by setting it to false. { "Manifest": { "LoadOnStartup": [ "C:\\Manifests\\Manifest_2022_1.json" ], "HideLoadAfterLoadOnStartup": false }} The separate manifest loading and selection screens are no longer hidden SelectionDirectory - Use this setting to change the file picker on the Load Manifest screen, to always try and open in the specified directory. If the directory does not exist or cannot be found, the file picker control will fall back on the default Windows behavior. In that case, it tries to open the last directory from which a user has selected a file. The directory path must be specified using Windows style path separators (backslash). Since the settings file uses JSON, this means you always need to escape it. So, use: C:\\Manifests instead of C:/Manifests or C:\Manifests \\\\unc_share\\directory instead of \\unc_share\directory { "Manifest": { "SelectionDirectory": "C:\\Manifests" }} File picker opens in specified directory Manifest - Specifying a directory path in a supportedVersion When the Deployment Center was first made, the the Software Factory and IAM upgrade scripts were released with all generated scripts concatenated into one. This was more convenient because the install and upgrade scripts had to be run manually through, for example, SQL Server Management Studio. And sometimes, a separate pre-upgrade script had to be run before an upgrade. There was no real pattern for naming these scripts. Therefore, we made a decision in the design of the deployment manifest to specify the path to each script for each supportedVersion in an upgrade package, using the files property. Then, since the 2018.3 Thinkwise Platform release, we decided to skip the concatenating step and release the generated scripts as-is. That did not really change anything for the manifest since files could still be specified as always: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" packages: - type: "Upgrade" path: "IAM/Upgrade" supportedVersions: - version: "2021.3" upgradesTo: "2022.1" files: - "2022.1\\020_Upgrade.sql" - "2022.1\\030_Checks.sql" - "2022.1\\040_Constraints.sql" - "2022.1\\050_Indexes.sql" - "2022.1\\060_Functions.sql" - "2022.1\\065_Table_valued_functions.sql" - "2022.1\\070_Views.sql" - "2022.1\\080_Procedures.sql" - "2022.1\\090_Instead_of_triggers.sql" - "2022.1\\100_Triggers.sql" - "2022.1\\110_Tasks.sql" - "2022.1\\120_Defaults.sql" - "2022.1\\130_Layouts.sql" - "2022.1\\140_Contexts.sql" - "2022.1\\145_Badges.sql" - "2022.1\\150_Processes.sql" - "2022.1\\999_Apply_roles_on_database.sql" - "2022.1\\999_Manual.sql" It did, however, cause the manifest to grow larger and larger with each consecutive platform release since each supported upgrade version added about 12-17 script files. To reduce that amount, you can now use a path property to specify the directory containing the upgrade scripts: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" packages: - type: "Upgrade" path: "IAM/Upgrade" supportedVersions: - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" Some rules apply when you use the path property for a supportedVersion: Only the immediate directory is scanned for .sql files. Subdirectories will be skipped. All .sql files inside the specified directory must adhere to the <order/sequence number>_<code file name>.sql format the Software Factory uses to generate the code files. The path of a supportedVersion is relative to the path of the upgrade package, which in turn is relative to the location of the manifest file. Using the manifest above as an example: If the manifest file is located at "C:\Manifests", the path of the upgrade package resolves to "C:\Manifests\IAM\Upgrade", and the path of the 2021.3 -> 2022.1 supportedVersion resolves to "C:\Manifests\IAM\Upgrade\2022.1". Manifest - Override the fallback encoding of script files Due to technical reasons, the Deployment Center has always assumed that the default encoding of script files generated by the Software Factory is windows-1252 . However, the script generation process has been changed in platform release 2021.3. Since it is now run by Indicium, these reasons no longer apply. Therefore, the V2 specification of the manifest file has been extended to allow overriding the encoding for script files. This is a backward-compatible way to change the encoding of the generated scripts in a future platform release. The encoding property can be set at the following levels inside an IAM, Software Factory, Upcycler, or application type product: Product level. Package level. supportedVersion level inside an upgrade package. To maintain backward compatibility with previously generated manifests using the V2 specification, the default value of the encoding property is still windows-1252. Meaning that the following manifest: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" packages: - type: "Install" path: "IAM/Install" - type: "Upgrade" path: "IAM/Upgrade" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" - type: "Hotfix" path: "IAM/Hotfixes" is interpreted by the Deployment Center as: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "windows-1252" packages: - type: "Install" path: "IAM/Install" encoding: "windows-1252" - type: "Upgrade" path: "IAM/Upgrade" encoding: "windows-1252" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "windows-1252" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "windows-1252" - type: "Hotfix" path: "IAM/Hotfixes" encoding: "windows-1252" When the encoding is changed at higher levels, the Deployment Center will also use that encoding at lower levels or until it encounters another override value. Notes: Because the meta model import is not a separate package type inside manifests using schema V2, it currently assumes the same encoding as the install or upgrade package, depending on which was used to detect the presence of the import scripts (usually the install package). encoding specifies the fallback encoding it should use if it does not detect a BOM. This means that technically you could mix file encodings in a package as long as encoding with a defined BOM is used. But if possible, it is still best to use a single encoding. Examples: Change the default script encoding for the entire product to UTF-8: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" - type: "Upgrade" path: "IAM/Upgrade" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" - type: "Hotfix" path: "IAM/Hotfixes" Manifest as interpreted by the Deployment Center: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" encoding: "utf-8" - type: "Upgrade" path: "IAM/Upgrade" encoding: "utf-8" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "utf-8" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "utf-8" - type: "Hotfix" path: "IAM/Hotfixes" encoding: "utf-8" Change the default encoding of the product to UTF-8 but leave the upgrade package at Windows-1252: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" - type: "Upgrade" path: "IAM/Upgrade" encoding: "windows-1252" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" - type: "Hotfix" path: "IAM/Hotfixes" Manifest as interpreted by the Deployment Center: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" encoding: "utf-8" - type: "Upgrade" path: "IAM/Upgrade" encoding: "windows-1252" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "windows-1252" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "windows-1252" - type: "Hotfix" path: "IAM/Hotfixes" encoding: "utf-8" Change the default encoding of the product to UTF-8 but leave the supportedVersion upgrade for 2021.2 to 2021.3 at Windows-1252: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" - type: "Upgrade" path: "IAM/Upgrade" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "windows-1252" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" - type: "Hotfix" path: "IAM/Hotfixes" Manifest as interpreted by the Deployment Center: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" encoding: "utf-8" - type: "Upgrade" path: "IAM/Upgrade" encoding: "utf-8" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "windows-1252" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "utf-8" - type: "Hotfix" path: "IAM/Hotfixes" encoding: "utf-8" Change the default encoding of the product to UTF-8, leave the upgrade package at Windows-1252 but use UTF-8 again for the 2021.3 to 2022.1 supportedVersion upgrade: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" - type: "Upgrade" path: "IAM/Upgrade" encoding: "windows-1252" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "utf-8" - type: "Hotfix" path: "IAM/Hotfixes" Manifest as interpreted by the Deployment Center: schema: 2products: - type: "IAM" version: "2022.1" projectFolder: "T:\\Product Innovation\\Applications" dependencies: - "CompatibilityLevel140" encoding: "utf-8" packages: - type: "Install" path: "IAM/Install" encoding: "utf-8" - type: "Upgrade" path: "IAM/Upgrade" encoding: "windows-1252" supportedVersions: - version: "2021.2" upgradesTo: "2021.3" path: "2021.3" encoding: "windows-1252" - version: "2021.3" upgradesTo: "2022.1" path: "2022.1" encoding: "utf-8" - type: "Hotfix" path: "IAM/Hotfixes" encoding: "utf-8" Changed IP validation for bindings when creating a new site (GUI) In the GUI, the Next button will no longer be enabled when you enter an invalid IP address. No IP address (bind to all IP addresses), Next is enabled: Valid IP input, Next is enabled: IP not parsable, Next is disabled: Next For future releases, we are still working on: Move Deployer CLI to .NET 6. Check access rights on the target directory when installing Indicium to a local IIS. A UI-assisted meta source selection for simple configuration modes during Indicium and Windows GUI flows Would like to have: A simple configuration mode for Windows GUI flows to make it easier to get a basic installation up and running.

Related products:Deployment Center
featured-image

Release notes Universal GUI (2022.1.12)

March 11, 2022: Changed beta release to the full version: 2022.1.12 Hotfixes for issues found in the previous beta release: When editing in a grid, the checkboxes in the selected record were not aligned identically as in the other rows. This has been fixed. For checkboxes, the asterisk that indicates a mandatory field was displayed too high. This has been fixed. In a grid, conditional layouts did not work until clicking a row. This has been fixed. When clicking a splitter, user interface elements stopped responding until dragging the splitter. This has been fixed. Grid headers were misaligned, and the sort icons were not displayed correctly. This has been fixed. When hovering over a grid, the color used for fixed columns was slightly different than for non-fixed columns. This has been fixed. The task bar component could disappear from the corresponding subject, especially when displayed directly below the default action bar of the subject. The task buttons in the default action bar could also disappear when the taskbar was placed elsewhere in the subject. This has been fixed. Note that within tabs that are located at the top of the subject, tasks may still pop up in these cases. We will improve this later on. Hello everyone, In this sprint, we made it possible to (re)position task buttons across the entire subject screen type by dragging a Task bar component to a screen type. Also, the filter form now uses the (default) Filter condition settings from the Software Factory. More new functionality and improvements are listed below. As always, we have made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with the Universal GUI. We will keep you updated regularly about Universal's progress. Universal GUI version 2022.1.12 Do not forget the documentation and be sure to keep the following in mind: A modern browser is required to access the Universal GUI, e.g., a recent version of Chrome, Firefox, Edge, or Safari mobile. Using the Universal GUI with IE is not supported. The Universal GUI must be deployed on the same server as Indicium or an allowed origin in appsettings.json. The Universal GUI only works with version 2019.2 and up of the Thinkwise Platform. Make sure you run all hotfixes on the IAM and SF that you plan to use for the Universal GUI. Make sure you are using the latest version of Indicium Universal. Download the Universal GUI version 2022.1.12 here Contents of this release Universal GUI version 2022.1.12 New Task bar as screen component Grouping fields in a grid and show a group label​ Looking ahead in the resource scheduler Changed Filter form conditions Minor fixes and tasks What we will be working on next sprint New Task bar as screen component You can now (re)position task buttons across the entire subject screen type by dragging a Task bar component to a screen type. The task buttons then disappear from the standard action bar at the top. menu User interface > Screen types > tab Design There are some considerations to keep in mind: A task bar must be placed horizontally. Vertical task bars are not displayed yet. Buttons are not sizable yet. Grouping fields in a grid and show a group label​ In a grid, you can group fields that logically belong together by checking the Next group option for the first field in the group. You can now also provide a Group label. This label appears as a group header in the grid. menu User interface > Subjects > tab Default > tab Components > tab Grid For example, see the group labels IAM root administration and Tenant self-administration group labels on the Tenants page: Example: Tenants page with group labels Looking ahead in the resource scheduler In the resource scheduler, you can now look ahead for a specified period. This allows users to view year-end appointments. The scheduler appears on the current date. This period can be configured by setting the new (global) extended property SchedulerPeriodInYears to the number of years to look ahead. Note that displaying many appointments in the future may decrease the performance. Changed Filter form conditions The filter form now uses the (default) Filter condition settings from the Software Factory. These settings can be specified for several control types at the application and project version levels and also for a specific column in a subject: Application level: menu User interface > Subjects > tab Default settings > Filter area Default filter condition settings Specific column: menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Filter Column-specific filter condition settings More specific column filters override the default condition. For example, when the default condition is set to Contains and the user performs a quick filter on a column value (Equal to), the filter control temporarily changes to Equal to as long as the quick filter is active. Previously, you could only use the Equal to condition. As of this version, you can use the following filter conditions: (not) Equal to Contains Starts with Ends with Greater than (or equal to) Smaller than (or equal to) The following filter conditions are not supported (yet): (not) Between Does not contain Is (not) null Does not start with Does not end with Examples of filter form conditions Minor fixes and tasks When a screen contained more than one snackbar, the timer did not start counting down until the previous snackbar was closed. This has been fixed. Now, the timer starts counting down immediately and closes at the end of the set period. When making a new appointment in the resource scheduler, other appointments were not visible. This has been fixed. When opening a screen containing a map, the default activated base layer differed from the layer shown in the Windows and Web GUI. This has been changed. The default behavior is now the same in all GUIs. The selected base layer is also preserved when switching open documents or tabs. If a column contained a lookup value 0 (zero), it was not visible in edit mode even though it would be saved and presented correctly in preview mode. This has been fixed. When exporting data spread over several pages in a grid or list to Excel, an incorrect number of records (the number of rows on a single page) was displayed on the toolbar button. This has been fixed. When a column was changed to mandatory using a layout, combo boxes in a grid contained an empty option. This has been fixed. When tabbing from one field to another, for example, from field1 to field2 in the default procedure below, the Universal GUI would wrongly focus field2 after closing the message popup, even though cursor_to_col_id specifies that the focus should go back to field1. This has been fixed. exec tsf_send_message 'wrong_value_in_field1', null, 0set @cursor_to_col_id = 'field1' In the Preview component, images could contain a horizontal scrollbar. This has been fixed (images have a maximum of 100% width). When changing the value of a Datetime column and immediately focusing on another Datetime column, defaults, layouts, and contexts were not executed. In a map component, the settings to change the border width and border opacity of a polygon were ignored, and the default Universal GUI values were displayed instead. Now, these border settings are used. When using the process action Go to row to navigate to another record not shown on the current page, this record was not always selected and not scrolled to. This has been fixed. What we will be working on next sprint The next sprint we will be working on: Grid attribute grouping - Apply the group until settings from the model to the entire dataset of the subject and show the grouping columns on the grid. Taskbar screen component icon sizes - Allows for modeling of three different icons with sizes small, medium, and large for the task bar screen component. Maps overlays - Overlay maps with specialist tile layers, like weather, wind, environmental zones. In progress: Technical design for storing local user preferences.

Related products:Universal GUI
featured-image

Release notes Windows GUI and Web GUI (2022.1.13)

Hello everyone, In this sprint, we replaced the integrated browser component used for previewing web content, Indicium (Basic) now supports the Concurrent access (Claims) feature, and we solved an issue. You can read more about the Windows and Web GUI's features, in the GUI user manual. We will keep you updated regularly about the Windows and Web GUI's progress. Download Windows GUI 2022.1.13 here. Download Web GUI 2022.1.13 here. Breaking New web browser component for previewing (Windows GUI) The integrated browser component used for previewing web content has been replaced. Instead of the full CefSharp browser (270 MB in size), the Windows GUI now ships with the Microsoft Edge Webview2 installer that installs the browser component if not already available. The installation does not require administrator privileges. In addition to the smaller size of the Windows GUI, this also ensures the security of the browser component, as Windows takes care of keeping the browser component up-to-date. Installing Microsoft Edge Webview2 Runtime New Indicium (Basic) supports the Concurrent access (Claims) feature (Windows GUI) To use the Concurrent access (Claims) feature via Indicium (Basic), you need to install the latest Software Factory and IAM hotfixes (Platform improvements). Concurrent access delimits the number of concurrent users that can log into an application simultaneously. For more information on the Concurrent access settings, please refer to the corresponding IAM documentation. Support for additional OAuth2 prompt options The Windows GUI now supports the new OAuth2 prompt options. These options were originally added in IAM hotfix 20220216. The available OAuth2 prompt options have been made editable and have been expanded with the prompt options login, select account, and none. Minor fixes and tasks (Windows GUI and Web GUI) When a primary key column had data type VARBINARY, an incorrect row was selected after data refresh. This has been fixed.

Related products:Windows GUI
featured-image

Release notes Indicium (2022.1.13)

Hello everyone, In this sprint, we added various performance metrics for requests using Server-Timing response headers. We also added the Agent ID to the Indicium landing page, and Indicium now automatically retries when encountering a database connection failure on startup. You can read more about Indicium's features in the Indicium user manual. We will keep you updated regularly about Indicium's progress. Download Indicium Universal release 2022.1.13 here. Contents of this release Breaking Changes Thinkwise Platform support release 2020.1 ends Indicium Universal Measuring Server-Timing responses Retry start-up on connection failure Agent ID on the Indicium landing page Language of translated messages by application connector Messages filtered out in log files Minor fixes and tasks Breaking Changes Thinkwise Platform support release 2020.1 ends Indicium support for Thinkwise Platform release 2020.1 is ending. Please upgrade to at least release 2020.2 to use this release of Indicium. Indicium Universal Measuring Server-Timing responses In this release of Indicium Universal, we have added various performance metrics for requests using Server-Timing response headers. Browser developer tools can interpret these headers and visualize these performance metrics. The goal of these features is to give more detailed insight into performance and help solve potential performance issues, which are almost always caused by specific queries, layout procedures, file storage operations, etc. that can be optimized fairly easily. We have already added dozens of these performance metrics, which are listed below, and we are looking into adding more of them in the future. CRUD operations All SELECT queries for requested subjects of an application (tables and views). When the $count operation requests the total number of records, this will be measured and returned separately. When the $expand operation joins a lookup or a detail subject, these will each be measured and returned separately. Insert statements. Update statements. Delete statements. Expression queries while adding or editing a record. Default value queries when entering edit mode to add a new record or start a task or report. Lookup validations when changing a lookup value or a lookup filter value. Application logic Tasks Subroutines Default procedures. Layout procedures. Context procedures. Badge procedures. Change detection procedures (the new logic concept). File storage Fetching the database record for a file to be downloaded. Calculating the hash of a file. File access (this can be considered as obtaining a file connection, but does not include the entire download process). Writing files (this does include the entire upload process). Miscellaneous Fetching records by primary key. This is, for instance, done when starting a task in the context of a record. This record will first need to be fetched. Loading the application model. After restarting Indicium or changing the application model, the model needs to be loaded, which may take multiple seconds on top of the request performed. Once you have installed this version of Indicium Universal, you can see these metrics under Server timings in your browser's developer tools. Some examples (partially in Dutch) are shown below. The first request to an application After changing a column value - 1 After changing a column value - 2 Downloading a file Examples of Servertiming metrics Retry start-up on connection failure When Indicium encountered a database connection failure during start-up, it would not automatically retry. As of this version of Indicium, a retry occurs every two minutes for up to 10 minutes. The cause of the connection failure could be a temporary issue with the database server or network that resolves itself. Agent ID on the Indicium landing page Indicium's landing page will now show the Agent ID of the Indicium instance. This Agent ID corresponds to the IDs that you will find on the 'Agent check in' screen in IAM's advanced menu. It can help you troubleshoot issues regarding system flows. You can also use the Agent ID to test if your load balancer's sticky sessions configuration is working by refreshing the landing page a few times and checking whether the Agent ID stays the same. Indicium Landing page with Agent ID Language of translated messages by application connector If a tsf_send_message procedure sends a message to the application connector, the message is now translated into the language of the user who initiated the process flow. If the application connector is called from a system flow, then the message is translated into the application fallback language. Messages filtered out in log files The following messages are now filtered out in the log files because they often occur and can quickly fill the log files, making them difficult to search for errors: schedule_not_found system_flow_already_running system_flow_still_running Minor fixes and tasks In the database event log, SQL queries and messages did not contain newline characters, which made the statements poorly readable and could cause problems with single-line comments. This has been fixed. Example of a SQL query with newlines

Related products:Indicium Service Tier
featured-image

🚀 Platform improvements for week 8

Hello everyone! We’ve released the following platform improvements this week: SF and IAM 2020.2 and up 20220225 - Match checkbox and element filter and search conditions The database values for default filter and search conditions for checkboxes and elements are different from the default filter and search conditions (equals, starts with etc) of all other control types. The i_ui_gui_appl view will now convert these database values so they match the other control types. 20220225 - Remove grid text scaling for Universal GUI With the introduction of Compact mode and with the changes in font-size, automatic scaling of text in the grid is no longer needed. The scaling was originally in place to ensure no unnecessary whitespace or margin was left. Due to it no longer being needed, it has been removed. SF and IAM 2020.2, 2021.1 and 2021.2 20220222 - Added confirmation message value to i_core_task Due to the confirmation message value being present in the GUI, but not in the values returned to Indicium a 400 error occured in Universal. This has been hotfixed in the 2020.2, 2021.1 and 2021.2 version of the Software Factory and IAM by adding the value of the confirmation message to the information returned by i_core_task. SF and IAM 2021.3 and 2022.1 20220224 - Maps i_ui improvements Some improvements have been made in the data mapping, base layer and overlay interface views to Universal (i_ui views) for Maps. It is not possible anymore that values are retrieved while the 'Show' setting is empty. It is not possible anymore that too many values are retrieved because of an incomplete join. SF 2022.1 20220225 - Invisible table tile images restored Due to a missing line of code, table tile images were not available for the Universal GUI to show. This has been fixed. Please note: Some files are currently being processed by our production pipeline and will become available at a later time today.

Related products:Software FactoryIntelligent Application Manager

🚀 Platform improvements for week 7

Hello everyone! We’ve released the following platform improvements this week: SF 2020.2 and up 20220215 - Removed session properties from i_ui_extended_property The session properties have been excluded from the i_ui_extended_property. This has been changed in every version of the Software Factory that is currently supported. In the 2022.2 version of the Software Factory an extra property will be added (Expose to front-end) to the extended properties that allows the developer to mark specific extended properties as allowed to be exposed to the front-end. SF 2021.3 and 2022.1 20220214 - Unit test datatype usage fix Some data types used in the Unit test process had an insufficient width causing errors in situation where the used parameters were larger than 100 characters. This has been fixed. 20220218 - Writing of messages Execute source code performance improved fix The processing of returned messages during the executing of code files has been improved upon, resulting in a significant performance boost. SF and IAM 2020.2 and up 20220214 - Add UI and core views for drag-drop information In preparation for drag-drop functionality in Universal, both Indicium and Universal GUI will obtain the model information. SF and IAM 2021.2 and up 20220216 - Added additional OAuth2 prompt options The available OAuth2 prompt options has been made editable and has been expanded with the prompt options login, select account and none.

Related products:Software FactoryIntelligent Application Manager
featured-image

Release notes Universal GUI (2022.1.11)

February 18, 2022: Changed beta release to the full version: 2022.1.11 Hotfixes for issues found in the previous beta release: In non-edit mode, conditional layouts did not work. This has been fixed. Some mandatory fields no longer had a mandatory asterisk. This has been fixed. When a process flow with a Start table task process action was executed, the application could become unresponsive. This has been fixed. Hello everyone, In this sprint, we added two extended properties that can be very useful when executing a task offline. And when importing, you can now also update the existing matching rows. Furthermore, we added change detection for auto-refresh, and form controls in edit and non-edit mode now have the same style. More new functionality and improvements are listed below. As always, we have made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with the Universal GUI. We will keep you updated regularly about Universal's progress. Universal GUI version 2022.1.11 Like with every blog, we have released a version to test the Universal GUI out for yourself. Do not forget the documentation and be sure to keep the following in mind: A modern browser is required to access the Universal GUI, e.g., a recent version of Chrome, Firefox, Edge, or Safari mobile. Using the Universal GUI with IE is not supported. The Universal GUI must be deployed on the same server as Indicium or an allowed origin in appsettings.json. The Universal GUI only works with version 2019.2 and up of the Thinkwise Platform. Make sure you run all hotfixes on the IAM and SF that you plan to use for the Universal GUI. Make sure you are using the latest version of Indicium Universal. Download the Universal GUI version 2022.1.11 here Contents of this release Universal GUI version 2022.1.11 New Hiding read-only task parameters when offline Repeat offline executable tasks Update Existing rows Grouping by a time interval in cube charts Splitter position preserved Changed Process flows with multiple start actions New Change detection performance setting for auto-refresh Same styling for form controls in edit and non-edit mode Minor fixes and tasks What we will be working on next sprint New Hiding read-only task parameters when offline We added a new extended property HideOfflineTasksReadonlyParameters. This property hides all read-only task parameters when offline. This way, you don't have to create a duplicate task for offline use that does not contain these read-only task parameters. This Application property just needs to be present, no value is necessary. Repeat offline executable tasks You can now configure a task to repeat after execution in offline mode. For example, to scan an entire store stock very quickly with a barcode scanner. In future platform releases, this will be a task-level setting in the Software Factory. For now, this can be enabled by setting the new Extended property RepeatOfflineTasks. This will only be applied to tasks marked as "Offline executable". Update Existing rows The Import dialog now also includes an Update existing rows checkbox. To import new rows and also update the existing matching rows, select the Update existing rows check box. The import dialog for the Projects screen Grouping by a time interval in cube charts Universal cube charts now support the following time intervals: Date, Year, Quarter, Month, and Week of year. Splitter position preserved When a splitter was moved, and the user changed tab pages or changed documents and then reopened it, the new position was not remembered. This has been changed. Now the splitter position is preserved. Changed Process flows with multiple start actions The Universal GUI now supports process flows with multiple start actions modeled after the start flag. For example: running the same flow both after opening a document for the first time and after reactivating it. Example of a process flow with multiple start actions New Change detection performance setting for auto-refresh The logic concept Change detection that is available as of Thinkwise Platform release 2022.1 can now be applied before an auto-refresh on a subject takes place. Before the auto-refresh starts, this logic concept checks whether or not a subject has been changed. This prevents unnecessary auto-refresh actions and works especially well when the refresh is a bit 'heavy'. The Change detection setting can be specified in menu User interface > Subjects > tab Default > tab Settings > tab Performance. New Change detection setting Same styling for form controls in edit and non-edit mode In a previous release, we changed the style of form controls in edit mode by adding a background color. Now we applied this style to non-edit mode too, which makes the positioning of controls clearer and provides a better indication of their boundaries. The transition from non-edit to edit mode is now smooth and less "jumpy". The label and data value stay at the same position with and without the new style.Note: If you have set the useFormFieldBackgroundColor setting in config.json to false, the default background color for form fields is not used. Same styling for form controls in edit and non-edit mode Minor fixes and tasks When editing a Formlist field, the tooltip displayed the previous value instead of the new value. This has been fixed. Primary key columns with a Datetime domain were not parsed correctly resulting in errors. This has been fixed. When switching chart views or opening a new chart after a failed network request to get the chart data, the charts stopped working. This has been fixed. When moving a splitter in a screen that also contained (for example) a preview component or HTML editor, the splitter did not move correctly. When a mandatory field with control Checkbox, Combo, or File link was not filled in, no error was shown under the appropriate field. In a selection control (lookup), when clearing the field by pressing backspace, the default procedure was executed immediately. As a result, the previous default value was immediately refilled. This has been fixed. The lookup now first sends data to Indicium when leaving the field. When selecting a record in an auto-refresh screen, the top row was selected first and then the original row. This has been fixed. When loading a screen, the profile picture could disappear for a short time. This has been fixed. In a screen containing a map, when the domain element of a custom marker did not have an image, the application could stop responding. This has been fixed. What we will be working on next sprint The next sprint we will be working on: Grid column label grouping - Use grouped header labels. Scheduler time period configuration - The ability to change the displayed time period in the resource scheduler. Filter form conditions - The ability to use several filter conditions in the Universal GUI defined in SF → Subjects → Data → Filter conditions (with some exceptions). Action bars positioning - The ability to position action bars with tasks anywhere on the screen. Technical design for storing local user preferences.

Related products:Universal GUI
featured-image
featured-image

Release notes Indicium (2022.1.11)

Hello everyone, In this sprint, we made it possible to authenticate personal and work accounts separately with Microsoft Azure Active Directory using tenants. Furthermore, Indicium now supports authentication by Amazon Simple Notification Service (Amazon SNS for short) to receive messages published by Amazon SNS. Finally, we support a new quarter standard computation. You can read more about Indicium's features in the Indicium user manual. We will keep you updated regularly about Indicium's progress. Download Indicium Universal release 2022.1.11 here. Contents of this release Breaking changes Windows users can no longer be impersonated as Database Pool User Indicium Universal Authenticating users in Microsoft Azure Active Directory using tenants Amazon SNS authentication support New: quarter standard computation Minor fixes and tasks Breaking changes Windows users can no longer be impersonated as Database Pool User In this version, it is no longer allowed to configure a Windows account as Database Pool User in the appsettings.json configuration file. This support is removed because it caused performance issues and is considered a potentially dangerous security practice. You can easily circumvent this by configuring the IIS Application Pool Identity property, or by configuring an RDBMS user as a Database Pool User. See also: Configuring pool users . Indicium Universal Authenticating users in Microsoft Azure Active Directory using tenants One of the limitations of our support for authenticating against Microsoft Azure Active Directory via OpenID was that each configuration would only work on one specific tenant. In the case of multiple tenants, you would need to configure multiple OpenID servers, which would also result in multiple login buttons. In addition, the common (all Microsoft accounts) and organizations (all work and school accounts) tenants were not supported at all. In this Indicium Universal release, we have added two new settings for OpenID server configurations that enable the use of these two global tenants. You can now define multiple valid tenants within your organization. Furthermore, you can now completely disable issuer validation. This allows you to use the common and organizations tenants to accept logins from Microsoft accounts that do not belong to a tenant under your control. When using Microsoft Azure Active Directory to authenticate your users, it is now possible to explicitly specify one of the following: Both personal Microsoft accounts and work or school accounts can log in to the application. Only users with work or school accounts can log in. Only users with personal accounts can log in (this was already possible in earlier versions by using the consumers tenant) User accounts in a specific tenant can log in (possible in earlier versions). In all cases, the Microsoft account that tries to log in must already be available in IAM. Otherwise, Indicium will not accept the authentication. We will be working on a user provisioning feature that removes this necessity in the near future by creating IAM accounts for unknown users automatically. Aside from each company-specific tenant identified by a GUID, Microsoft defines the following 'global' tenants: organizations (this is an umbrella tenant for all organization tenants) consumers (this can be seen as a singular company-specific tenant where the company is Microsoft and it encapsulates all personal accounts) common (all organization tenants and Microsoft's tenant for personal accounts) For more information, refer to the Microsoft OpenID Connect documentation. The base configuration for OpenIDConnect for Microsoft is: "Microsoft": { "MetadataEndpoint": "https://login.microsoftonline.com/<tenant>/v2.0/.well-known/openid-configuration", "ClientId": "client-id", "ClientSecret": "client-secret", "ButtonIcon": "windows_64px.png", "ButtonText": "Sign in with Microsoft", "SignOutButtonIcon": "windows_64px.png", "SignOutButtonText": "Sign out of Microsoft", "IncludeEmailScope": true, } To support the common and organizations tenants: If you want to allow everyone with a Microsoft account to log in, specify common for <tenant>. If you want to allow all work and school accounts to log in, specify organizations for <tenant>. In both cases, disable the issuer validation because the tenant that issues the token is not known in advance: "ValidateIssuer": false If your organization has multiple Azure AD's but you want a single sign-in button then you can also use the organizations tenant, but you don't need to turn issuer validation off. Instead, you can use the ValidIssuers settings to supply a list of tenants corresponding to all of your Azure AD's. This way, accounts of other organizations will not be able to sign in. "MetadataEndpoint": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration", "ValidIssuers": [ "https://login.microsoftonline.com/<tenant-one>/v2.0", "https://login.microsoftonline.com/<tenant-two>/v2.0" ] To enable users to sign in with personal accounts, specify consumers for <tenant>. ValidateIssuer does not need to be turned off for this to work. Amazon SNS authentication support Indicium now supports authentication by Amazon Simple Notification Service (Amazon SNS for short) to receive messages published by Amazon SNS. To use Amazon SNS to send notification messages, subscribe to Amazon SNS topics on one or more HTTPS endpoints. You still need to confirm your subscription by going to the SubscribeURL, either with the HTTP Connector or manually from the browser.The endpoint can for example be an Indicium Process Flow API endpoint. This makes it possible to create custom logic to handle the message. Please refer to the Amazon documentation for full details on how to subscribe New: quarter standard computation Indicium now supports a quarter standard computation. This computation calculates the quarter of the year (1, 2, 3, or 4). Syntax: $apply=compute(quarter(*column name*) as *alias*)) Minor fixes and tasks When uploading a file with an extension that was not allowed, the readability of the error message was poor. The file extensions are now separated by slashes and displayed without single quotes. We fixed an issue with document preview in combination with an Excel file in the Windows Server 2019 Datacenter Edition. The $apply operation could return an empty object ( {} ). These records will now be removed from the result. When calling a task or report in the context of a table that uses context logic, the call failed if the context logic output parameter for that task or report was disabled. This has been fixed and also fixes some issues with calling certain Software Factory tasks via the API, such as the task to copy a project version.

Related products:Indicium Service Tier
featured-image

Thinkwise Platform release 2022.1

We are very excited to announce version 2022.1 of the Thinkwise Platform. It is available for download in TCP now! Here, we would like to highlight two features: the full integration of the Thinkstore into the Software Factory and the redesigned deployment processes. For an overview of everything new, improved, and fixed in this release, please consult the release notes in the Thinkwise Docs. Thinkstore fully integrated Let's start with the Thinkstore. Perhaps you have tried it already in the Community? It has been fully integrated into the Software Factory to improve its ease of use. What is the Thinkstore? The Thinkstore is already available in the Community. It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform. In the Community, solutions can only be downloaded and installed manually. To improve this, you can now access the Thinkstore in the Software Factory from the menu Enrichment > Thinkstore. Here, you can select, download, and install samples and models right from the Thinkwise IDE into your projects. You can install a solution multiple times under different project names and project versions. Thinkstore fully integrated into the Software Factory Redesigned deployment processes In the previous release (2021.3), we have redesigned the Creation process. In this release, we have continued improving the entire Deployment process. In the Creation process, writing program objects to disk is available again in the Generate source code step. In the Execute source code step, we have improved the information on the user input that is sometimes required when the execution is aborted. The icons for the available tasks to continue the execution have also been improved. New in the Execute source code step is the possibility to determine the error handling behavior in API calls via Indicium for the tasks Connect to database and Execute source code. Finally, we have improved the error log when the source code is executed via the user interface or Indicium's API. As a follow-up to the redesigned Creation process, the Deployment processes Synchronization to IAM and Deployment package have also been redesigned. Both the processes now run through Indicium, so automation via the Indicium API is possible. In the task Synchronize to IAM, you no longer need to enter a host, database, or authentication. Instead, you only need to select a Target IAM (as set in menu Maintenance > IAM configurations). In the task Synchronize to disk (previously: Write to disk), you no longer need to enter a file location. A location field is displayed on the screen. You can easily navigate to this file or folder using the buttons next to it. In both tasks, the new Note field allows you to place a comment, like the reason for synchronizing. This comment is visible in the History tab's grid. Synchronization to IAM redesigned In the Deployment package process, you no longer need to enter a file location. After a successful run, all deployment package files are written to the project folder. A field containing the exact location appears on the screen. You can easily navigate to this folder using the button next to it. The new Note field allows you to place a comment, like the reason for creating the deployment package. This comment is visible in the History tab's grid. Deployment package redesigned Other highlights Of course, this release brings many more new features and changes. Some other highlights are: Expandable validation messages in the tree - Now, validations only show the first 25 messages. This benefits the performance and overview of the screen. When there are more than 25 messages, a node to expand the validation is added to the tree. Import and export projects for reuse - You can now share a project between different environments by exporting it. This is a fast and easy way to enrich your projects. A new logic concept: Change detection - This logic concept allows you to inform the user interfaces during certain events whether or not a subject has been changed and needs a refresh. Task to copy user and group preferences - In IAM, it is now possible to copy all preferences to selected users or user groups.

Related products:Software FactoryIntelligent Application ManagerThinkstoreUpcycler
featured-image

Release notes Universal GUI (2022.1.10)

January 28, 2022: Changed beta release to the full version: 2022.1.10 Hello everyone, In this sprint, we finished the FormList component in a basic form, and added some CSS styling classes for custom.css. Also, you can now execute a task on multiple rows in a grid in combination with a Popup for each row. And when importing rows, you can now download the rows that were not imported successfully. As always, we have made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with the Universal GUI. We will keep you updated regularly about Universal's progress. Universal GUI version 2022.1.10 Like with every blog, we have released a version to test the Universal GUI out for yourself. Do not forget the documentation and be sure to keep the following in mind: A modern browser is required to access the Universal GUI, e.g., a recent version of Chrome, Firefox, Edge, or Safari mobile. Using the Universal GUI with IE is not supported. The Universal GUI must be deployed on the same server as Indicium or an allowed origin in appsettings.json. The Universal GUI only works with version 2019.2 and up of the Thinkwise Platform. Make sure you run all hotfixes on the IAM and SF that you plan to use for the Universal GUI. Make sure you are using the latest version of Indicium Universal. Download the Universal GUI version 2022.1.10 here Contents of this release Universal GUI version 2022.1.10 New FormList component Execute a task for multiple rows with a popup for each row CSS styling classes for custom.css Download failed rows Changed Hide actions bar buttons when there are no editable components on the screen Marker popup in the maps component contained too much padding Minor fixes and tasks What we will be working on next sprint New FormList component The Universal GUI now supports the FormList component in a basic form. In a FormList, each record in a dataset is represented as a separate form. This form looks and feels like a default-editable autosave form. Using a FormList, you can create a dynamic form without the need to re-generate your Software Factory projects. This first, basic support is targeted at making questionnaires. Suppose a survey contains multiple questions with different types of answers. For example, a full name (string), a birth date (DateTime), and a Yes/No checkbox that indicates whether the end-user wants to receive commercial emails or not. But you could also think of a five-point scale that measures user satisfaction. Using a FormList, this survey would look like this: Example of a FormList In this example, a Layout control procedure in combination with an answer type field can be used to show the correct answer field for the related question. The corresponding stored procedure is then executed to determine the visibility of each control. Using a Group label control type in a Form or FormList component results by default in a bold (group) label. See the labels Full name, Birth date and Allow communication in the image above. The Universal GUI supports the following control types: Default, Multiline, Numeric, Currency, Date, DateTime, Time, Checkbox, and RadioButton. HTML, file, and lookup controls are not yet supported. The component and fields are always in edit mode. There can only be one form column. Multiple form columns are not supported yet. For adjacent fields, the width is evenly distributed over the available width, regardless of the settings in menu User Interface > Subjects -> tab Components -> tab Form. When grouping controls for a single record, the field in next group and field in next tab options are not supported. FormList is default editable and works around the subject editing mechanism. Without any other editable components, like form or grid, CRUD buttons are hidden on the action bar. FormList patches directly to the table just after changing a value. To keep the editing experience fast and smooth for now, no data is refreshed and field visibility has not been updated yet. The layouts are not re-fetched after a patch. The dataset is not re-fetched after a patch. As layout mode, only the navigation layout mode can be used. Execute a task for multiple rows with a popup for each row In the Universal GUI, you can now execute a task on multiple rows in a grid with a Popup for each row. With this general task setting enabled the GUI displays a popup for each row to give the user the opportunity to give input to the task execution. Currently, a popup will be displayed for all rows. In the Universal GUI, it is not yet possible to abort this flow. Until now, tasks with a Popup for each row could only be executed for a single row. CSS styling classes for custom.css When using custom CSS to enhance theme settings, you can now specify style sheet rules that are specific for light or dark mode, and for comfortable or compact mode. You can use the following classes: .light{ } .dark{ } .comfortable{ } .compact{ } Download failed rows When importing rows, you can now download failed rows using the DOWNLOAD FAILED ROWS button in the summary dialog. Example of a dialog with a 'Download Failed Rows' button Changed Hide actions bar buttons when there are no editable components on the screen If a screen does not contain any editable components, the action bar now no longer contains buttons for adding, editing and copying. These buttons are not necessary when viewing a cube or chart, for example. Tip: you may also be interested in hiding the toolbar . Marker popup in the maps component contained too much padding In the Maps component, the marker popup was not displayed correctly, it contained too much whitespace. This has been corrected. Minor fixes and tasks When the browser autofills the username/password dialog, the Login button would remain disabled until the user clicked somewhere on the page. This was unintended behavior. The Login button is now always available. If the user clicks on the button with an empty username, it will disable and focus the username field. In a tree component, icons were not displayed correctly in compact mode. This has been fixed. When a screen with detail tab pages with badges was opened, and the dataset took a while to load, a 400 network error would occur. This has been fixed. Badges showed a 0 (zero) when there were no rows or when a row was added. This was unintended behavior. Now, the badge will be hidden in these cases. In dark mode, the font color used for text on colored backgrounds was inconsistent. This has been fixed. The HIDE_TOOLBAR screen component property now works correctly regardless of its value. In a Preview component, when a search returned no results, the default text No preview available was aligned at the top left instead of the center. This has been corrected. After changing the password from the user preferences menu, or when changing an expired password after login, the Universal GUI browser tab was not immediately displayed in front. This has been corrected. When a screen contained both a form and a grid, the grid component could become editable, even if this was not configured in the Software Factory. This has been fixed. What we will be working on next sprint The next sprint we will be working on: Non-edit mode filled style - The ability to have the filled style displayed in non-edit mode. Repeat offline tasks - All tasks that are flagged as offline will repeat. This behavior will be added as an option in the Software Factory in the future. Hide read only parameters in offline tasks - Parameters the user cannot fill in an offline situation will be hidden. Continue improving grid performance and make it less flickering. Continue automatic testing.

Related products:Universal GUI
featured-image
featured-image

Release notes Indicium (2022.1.10)

Hello everyone, In this sprint, we have added a /refresh_model API endpoint. Furthermore, PDF and HTML files now open in a new browser tab. Finally, we added a temporary solution that allows you to write files to file storage configurations using the Write File connector process action. You can read more about Indicium's features in the Indicium user manual . We will keep you updated regularly about Indicium's progress. Download Indicium Universal release 2022.1.10 here . Download Indicium Basic release 2022.1.10 here . Table of contents Indicium Universal New refresh_model endpoint Print previews from a report open in a new browser tab Extended file storage support using Write file Minor fixes and tasks Indicium Universal New refresh_model endpoint The Refresh model functionality that can be accessed from the Developer ribbon in the Software Factory is now also available as an API endpoint in the Indicium Universal application tier. To reload (refresh) the model, send a POST request to one of these URLs: <web_app_root_url>/sf/<appl>/refresh_model <web_app_root_url>/iam/<appl>/refresh_model Print previews from a report open in a new browser tab When opening a print preview from a report, this preview now opens in a new browser tab instead of being presented as a download, unless the browser cannot open this file type. Extended file storage support using Write file In this release, we added a temporary solution that allows you to write files to file storage configurations using the Write File connector process action. This particular solution is temporary because we want to provide an easier and richer solution in a future version of the Thinkwise Platform, after which we will automatically upgrade this temporary solution to the new solution. To take advantage of this new temporary solution, perform the following steps: Create a process variable and let the process variable ID end with a double underscore __ followed by the ID of the intended file storage location. Note that this does not work for database storage locations, only for File System, FTP, Azure and AWS storage locations. Example of a file storage process flow In the Write File connector process action, use this process variable for the File path input parameter. The value of the process variable must be the name of the file, as it will be written to the storage location. It can also be a relative path that ends with a file name. In that case, the relative path is created with the storage location as the base path, and the file is written there. Valid examples are: my_file.txtmy_sub_folder\another_sub_folder\my_file.txt The rest of the Write File connector process action works as usual. The data provided in the File data input parameter is written to the storage location. Minor fixes and tasks In the Indicium OData API, when you use the \$apply standard computation (e.g. $apply=compute(year(date_of_birth) as year)) within a chained transformation, all other columns from the corresponding entity were no longer selected. This has been fixed. Lookup columns were sometimes exported to Excel/CSV with a column header that used the translation of the lookup display column instead of the lookup column itself. For example, a project_id lookup column could have the column heading 'Name' instead of 'Project'. This has been fixed.

Related products:Indicium Service Tier
featured-image

Release notes Universal GUI (2021.3.15)

January 7, 2022: Changed beta release to the full version: 2021.3.15. Hotfixes: On a mobile device, when an inactive tab contains a form, this form was not activated when a new row was added. This has been fixed. In this example layout procedure, the manager_id field is hidden when not being edited, and it is made editable when editing or adding: In this case, the "Select" button in the lookup popup of the manager field remained disabled. This has been fixed. Hello everyone, In this sprint, we added a visibility setting for the HTML editor popup button, and fixed some issues. Also, we started implementing the FormList component. We expect to finish this component as part of the next sprint. As always, we have made a demo for you: try it here . Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with the Universal GUI. We will keep you updated regularly about Universal's progress. Universal GUI version 2021.3.15 Like with every blog, we have released a version to test the Universal GUI out for yourself. Do not forget the documentation and be sure to keep the following in mind: A modern browser is required to access the Universal GUI, e.g., a recent version of Chrome, Firefox, Edge, or Safari mobile. Using the Universal GUI with IE is not supported. The Universal GUI must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. The Universal GUI only works with version 2019.2 and up of the Thinkwise Platform. Make sure you run all hotfixes on the IAM and SF that you plan to use for the Universal GUI. Make sure you are using the latest version of Indicium Universal. Download the Universal GUI version 2021.3.15 here Table of contents Universal GUI version 2021.3.15 New Visibility of HTML editor popup button Changed Clear error messages Grid-based export as default Minor fixes and tasks What we will be working on next sprint New Visibility of HTML editor popup button For an HTML field, the visibility of the lookup button next to this field can now be set. In the previous version, this lookup button was always displayed. To change the visibility: In the Software Factory, select Data > Domains. Select the appropriate domain with an HTML control. Set the Show action button attribute to one of the following values: Never: the lookup button is hidden. When editable: the lookup button is only displayed if the HTML field is editable. Always: the lookup button is always displayed. Show action button attribute Changed Clear error messages Some error messages that may be displayed in the snackbar at the bottom of the screen have been changed, and now contain fewer technical details. For example:"Staged edit failed. Error: Action not allowed" => "Action not allowed""Continue failed. Error: Data no longer available" => "Data no longer available." Please note that if you report error messages in the snackbar, include a HAR file. This way, we know which network request caused the error message. Grid-based export as default When exporting the contents of a grid, all columns were exported, including the non-visible columns.Now, only the primary key columns and all visible columns in the grid are exported (in the order they are displayed).If the current screen does not contain a grid, the export falls back on the previous full export. Minor fixes and tasks When config.json had a wrong encoding or invalid JSON, the Universal GUI used to show just a white screen. Now, the (Universal) GUI shows the login page with an error, to help you solve this problem. Example: Login page with error message In a grid, image icons were not correctly right-aligned and left-aligned. This has been fixed. In a Datetime control, the date and time parts are two separate fields. Procedures that act on a Datetime control, for example, to set a default value or to perform layout logic, were unnecessarily triggered. This happened when the user tabbed through these two fields, or focused on a field without changing the value. This has been fixed. These procedures are still called when navigating through months and years in a calendar control in a web browser. This is due to technical limitations of the native date picker controls that are used in most web browsers. We fixed a problem with a faulty timezone correction when the date was filled in by default on editing. Entering a search condition that contained a special character, for example, a single or double quote, resulted in an error. This has been fixed. Now, all special characters can be searched. In a grid, progress bars were not correctly vertically aligned. This has been fixed. When the model inspector was used in the Universal GUI, default editable autosaved checkboxes were not functioning. When clicking such a checkbox, nothing would happen. This has been fixed by excluding such a grid column from the model inspector. All other scenarios will continue to work. Two problems have been solved for the auto-save functionality. Previously, in a parent-child relationship, when editing a child record in a grid, and then selecting another parent record, only the current child record was saved. The other parent record was not displayed. Also, sometimes an error occurred. Now, the current child record is saved and the selected parent record becomes available. When changing the value of a task or report parameter resulted in an error, the corresponding error message and its details were not displayed. Instead, an unexpected error occurred. This has been fixed. What we will be working on next sprint The next sprint we will be working on: Embed and complete the first version of the FormList. Provide the option to update existing rows when importing a .csv or Excel file. After importing, provide a feedback dialog on the import process, and provide the ability to download failed rows. On a screen that only contains for example a chart, the add, edit, and other navigation buttons should be hidden. In progress: several technical user stories to enhance grid performance. In progress: automatic testing. In progress: UX/UX design of the action bar as a screen component.

Related products:Universal GUI
featured-image
featured-image

Release notes Indicium (2021.3.18)

Hello everyone, In this sprint, we have improved our support for OData's $expand query options. It is now possible to include 1:N references. We also improved the performance of the Application Connector. You can read more about Indicium's features in the Indicium user manual. We will keep you updated regularly about Indicium's progress. Download Indicium Universal release 2021.3.18 here. Download Indicium Basic release 2021.3.15 here. Table of contents Indicium Universal Improved support for OData's $expand query options Improved performance of the Application Connector Minor fixes and tasks Indicium Universal Improved support for OData's $expand query options OData's $expand query option allows you to include related entities in the response within a single request. We already supported this for 1:1 references, such as look-ups, to fetch the display value. Now, we also support this for 1:N references. This is especially interesting for retrieving the detail records for each parent record. To expand a detail within the context of a parent, the request should look like this: <indicium_base_url>/<meta>/<application>/<parent_entity>?$expand=detail_<ref_id> For example: https://server/indicium/iam/appl/sales_order?$expand=detail_ref_sales_order_sales_order_line Most of the regular OData query options, such as $select and $filter, can be applied to the expanded detail as well. They can be added as a semicolon-separated list between parentheses. For example: https://server/indicium/iam/appl/sales_order?$expand=detail_ref_sales_order_sales_order_line($select=sales_order_id,sales_order_line_id;$filter=sales_order_line_cost gt 10) Improved performance of the Application Connector The performance of the Application Connector has been improved by loading only the relevant model information, instead of the entire application model. Minor fixes and tasks We fixed that a user could not give consent to OpenID offline access. Because of this, Indicium could not hand out refresh tokens when consent was required. We fixed that ongoing process flows were aborted after a tsf_send_message (or raiserror) from a trigger or a stored procedure. We fixed an issue that caused the process flow API to be case-sensitive. With this fix, the casing of the request URL is no longer relevant.

Related products:Indicium Service Tier