Introduction to the Universal GUI
The Universal GUI is the latest Thinkwise user interface, capable of providing a state-of-the-art user experience on Mobile, Desktop and Web.
The current version of the Universal GUI is suitable for use in a production environment, but does does not yet provide all features that are available in the other Thinkwise user interfaces.
So, if you wish to use the Universal GUI for your application, then please make sure you are aware of its limitations. More information about the supported features can be found in the Universal blog posts on the Thinkwise Community and in the feature matrix in the Thinkwise Community Portal (menu item Software > Feature Matrix).
A new version of the Universal GUI with additional features is released every three weeks.
Quick reference guide to the Universal GUI deployment
Instead of using the Deployment Center, this document describes how to deploy your application with the Universal GUI manually (on premise).
To deploy Universal GUI in the cloud:
Follow these steps to deploy your application with the Universal GUI on premise: Check - Before you start, check if your systems meet the prerequisites. Download - Download Universal GUI and save the files. Configure IIS - Create an application pool for Indicium. Deploy Indicium - Create the web application for Indicium. Deploy - Deploy Universal GUI on the same server as Indicium.
For a video (in Dutch) on how to manually deploy Indicium with the Universal GUI on premise, see: Masterclass Indicium. It is an extensive video that first covers Indicium and then the Universal GUI deployment (1:14).
There are a few prerequisites to be able to run the Universal GUI.
|Indicium||The Universal GUI uses a dedicated version of Indicium. Make sure to download and install Indicium Universal in TCP (menu Software > Thinkwise products).|
|Thinkwise platform||The Universal GUI only supports version 2019.1 and future versions of the Thinkwise Platform. Ensure you also have the latest hotfixes applied and the latest version of Indicium installed. |
Applying further hotfixes or installing a subsequent version of Indicium might require an updated version of the Universal GUI as well. The latest version of the Universal GUI, along with the latest version of Indicium Universal and the most recently published hotfixes can be found in the Thinkwise Community Portal.
|Browser||A modern browser is required to access the Universal GUI. A recent version of Chrome, Firefox, Edge or Safari mobile is required. Using the Universal GUI with IE is not supported.|
|Note: When using Google Chrome with an iOS device, the Add to home screen option is not available. With Safari, it is possible to add your application to the home screen.|
Download and save Universal GUI
- When all prerequisites mentioned above are met, you can download the Indicium software in TCP - Thinkwise products (menu Software > Thinkwise products) and save it without extracting it.
The easiest way to run the Universal GUI is to deploy it on the same server as Indicium. This is described in this manual. However, it could also be an allowed origin in the
Browser security prohibits the Universal GUI from interacting with an Indicium on a different server by default. If required, Indicium settings can be configured to support this scenario.
Indicium is mandatory to use the Universal GUI and most Indicium installations are currently deployed on IIS. Deployment of the Universal GUI on IIS is shown as an example. Any webserver capable of serving static files can be used to deploy the Universal GUI.
Place the unzipped Universal GUI folder next to Indicium. A common location for the Universal GUI would be in the
Do not convert the Universal GUI folder to an application, as it is a static website. So, no application pool is required.
Location of the Universal GUI on an IIS server, next to Indicium
Be careful when deploying two Universal GUI instances on the same server. When two Universal GUI instances are accessible on the same (sub)domain, browsers will share the cache containing the Indicium URL, platform and application between the two Universal GUI instances.
- IIS is not configured by default to serve certain types of static content. Configure the MIME Types of the server to serve the following types:
The .json extension configured to be served by IIS
If this is not configured properly, the application will not have the correct fonts and will not load the correct configuration.
Accessing the Universal GUI
The Universal GUI can be accessed by using a browser to access the location of the web application. In the example above, this would be https://server/universal.
A login screen will be shown where the URL to access Indicium can be configured.
To hide the Options in the Login screen, set
"loginOptionsHidden": truein the
Login screen of the Universal GUI
Running the Universal GUI on IAM
When Indicium is configured on an IAM containing one or more applications for the user, the following Meta server URL can be used to run products present in the Software Factory:
https://server/indicium/iam/iam. The last part is the application you wish to load the model from, so it's either
The Application or alias can be used to load a specific application from IAM. If left empty, the default application will be shown. Other applications will be available through the menu.
The Platform can be chosen by the user to load the menu for either Universal, Windows, Web or Mobile.
config.json can be edited on the webserver to have the Universal GUI point to the correct URL, application and platform default and to optionally disable editing the options from the login screen.
The platforms are defined as such:
Running the Universal GUI directly on the Software Factory
To run products in a development environment directly on the Software Factory, Indicium must be configured on the IAM containing the Software Factory, often referred to as an IAM_DEV.
The following URL can be used to run products present in this Software Factory:
The application ID or alias provided in the login configuration screen should match an application ID or alias present as a Runtime configuration in the Software Factory. When no application ID or alias is provided, all active runtime configurations for the current user will be shown in the menu as applications. The desired runtime configuration(s) can be activated in the Software Factory for the user logging in to the application.
The user can log in using the credentials as configured in IAM. The same user has to be present in the Software Factory. The RDBMS user name in the Software Factory has to be the same as the user name in IAM.
Installation as a web app
The application can be installed as a Progressive Web App (PWA), which means it can be installed to run stand-alone on the user's device by supported platforms and browsers, acting just like a native desktop or mobile app. It is a web application using static files. Besides the HTTP server, no further application process is running.
- For more, general information on this subject: Progressive Web App (PWA).
- Please check the instructions for installing PWAs for your browser, e.g. Chrome, or device.
All necessary settings for deploying a PWA are available inside the
manifest.json file, which is deployed alongside Universal GUI. So, when the user decides to install the Universal GUI on their home screen, it'll show the correct title and images for the customer.
For more information:
The person who deploys Universal should be careful not to overwrite the
manifest.jsonfile which is deployed with Universal GUI.
By default, users can install an application with a Universal GUI as an app on their home screen. On platforms that support direct installation, this is a menu option in the user settings after the user has logged in via the browser. On platforms that do no support this, the user will get installation instructions.
Direct installation is not supported by Google Chrome in iOS.
To inform your users that it's possible to install your application on their home screen, a notification is shown by default. To disable this notification:
Inside the Universal folder, open the
- Set to
trueto ignore the install notification.
- Set to
falseto show the install notification (default).
- Set to
The install notification is not always shown to the user: after they either installed or canceled, the notification will be suspended for 30 days. After the 30 days have passed, the user will one again receive an install notification.
To change this timeframe:
- Inside the Universal folder, open the
- Add option
installNotificationExpirationInDaysand set the number of days.
Model loading in Universal GUI
Contrary to the Windows, Web and Mobile user interfaces, the full model of the application is not loaded. Instead, segments of the model are loaded on-demand, when a screen is opened, when a look-up is translated or when a component is initialized. This allows the Universal GUI to quickly start massive applications.
Future optimizations include pre-fetching segments required for working offline, pre-fetching often-used model segments, pre-fetching model segments for the current process flow, etcetera.
Troubleshooting Universal GUI deployment
- Download and install the latest Universal GUI and Indicium service tier and run all upgrades and hotfixes on the SF and IAM.
- Try running the Universal GUI and Indicium on the same server. The domain name for both URLs must be the same.
- Use fully qualified domain names, like
- Test access to Indicium by accessing the URL directly with the used credentials.
- Clear the cache of your browser. Alternatively, try incognito mode.
- If possible, update your browser or switch to a recommended browser.
- Ensure the user has access to the application in the Intelligent Application Manager or the runtime configuration in the Software Factory.
- Ensure a list bar menu, tree menu or tile menu is available to the user.
- Run the Correct foreign key casing task in the Software Factory and re-synchronize with IAM if needed to prevent casing issues.
- Validate the model. The Universal GUI is sensitive to incorrect models.
- Ensure the MIME types are configured correctly on the webserver.
Please check to the feature matrix in the Thinkwise Community Portal (menu Software - Feature matrix) to learn more about the capabilities of the current release.
Major changes - By design
Some new concepts have been introduced and some model settings are interpreted differently than other GUIs. This is by design. All designed changes do remain subject to change.
All components in the Universal GUI are allowed to grow indefinitely vertically. This can introduce scrollbars. To prevent parallel scrollable components, future releases will allow the screen type itself to grow indefinitely vertically as well, providing a global scroll bar for the entire screen.
With vertical space usage covered, limited horizontal space is resolved in a different manner. Where the current generation of GUI's rely on the components dealing with limited horizontal space, the Universal GUI allows for screen-type switching at runtime, depending on the horizontal space.
This concept is known as breakpoints. For every screen type, breakpoints can be defined which come into effect when a certain minimum width is reached. This is done using a screen type naming convention and will be formalized in the 2020.2 release.
For instance, a
customer screen uses
master_detail as screen type. A new screen type named
master_detail_<1000 can be added in the model. This is a breakpoint screen type. The breakpoint screen type will be applied when the available horizontal space is 1000px or less. A different layout of screen components or different screen components altogether can be used in this breakpoint. A second breakpoint can be added named
master_detail_<400 which will be applied when the available horizontal space is 400px or less. This way, multiple component layouts can be added for various sizes without having to resort to variants and platform-specific menus.
Form tabs as sections
Form tabs are not implemented because of the ability to grow indefinitely vertically. Instead, new tabs are interpreted by the Universal GUI as new sections. The number of form columns can vary for each section. Groups are kept together in form columns as much as possible and will be spread evenly over a section.
Form column count
The number of columns in the form is based on the number of columns set in the SF. The number of form columns will never exceed the number of groups in the section. Universal will also start to drop columns when the form controls have too little space to be used comfortably, down to one column on small screens.