Universal Development Update - December/January 2020

  • 17 January 2020
  • 1 reply
Universal Development Update - December/January 2020
Userlevel 5
Badge +1

Good day everyone. We're excited to start the new year off with some awesome additions to Universal. And to give you a small look under the hood, every few months we have a wildcard day. This means that we can work on anything we want for the day. These days often lead to very interesting projects, a few of which you'll find in this blog.

As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen.

We'll keep you updated regularly about Universal's progress.

Beta build

Like with every blog, we've released a beta build so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind:

  • Universal isn't actively tested on the internet browser Edge at the moment. Edge will be updated to use Chromium, which greatly changes the way it works under the hood. Once this is done, we will be testing on Edge too.
  • Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json.
  • Universal only works with version 2019.1 and up of the Thinkwise Platform.
  • Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal.
  • Make sure you are on the latest version of Indicium Universal.

Download your beta build here

Keyboard shortcuts (wildcard)

We've added keyboard shortcuts to Universal. You can use them when you are working in the form. The following shortcuts have been implemented:

  • AddCtrl + +
  • CancelEsc
  • CopyCtrl + alt + +
  • DeleteCtrl + -
  • EditCtrl + e
  • SaveCtrl + enter

The shortcuts have been added to the tooltips in case you want a reminder:

The shortcut is in the tooltip


Confirmation messages (wildcard)

Since it's even easier to accidentally delete a record with shortcuts, we've also added confirmation messages.

Translations for these confirmations will be added to the SF shortly.

We have confirmation messages for deleting and cancelling. It looks like this:


A confirmation when deleting a record


A confirmation when cancelling a record that has been edited


Movable splitters (wildcard)

At times you want a little more space for a component like the grid than the developer intended. In Universal you could make the screen smaller to activate a different breakpoint, but this doesn't always have the desired result. We now made the splitters movable so you can adjust the screen to your needs.

Be aware that the adjustments you make to the screen are not saved for now.

It looks like this:

Movable splitters in action


Hierarchical tree

We already had an attribute tree, and now we've also implemented the hierarchical tree. Here's a reminder about the difference between two:

An attribute tree creates a level in the tree per column. So if you have table with employees, and sort on the column department. You'd get a node for each department, with all the employees in that department below it.

hierarchical tree creates a level for each relation. If you have the same table with employee, you'd group the data on manager_id. You'd get a node for each manager, with all the employees they manage below it.

This is what the hierarchical tree looks like:

The hierarchical tree


We also implemented images for and improved styling to both the hierarchical and the attribute trees.


Progress bar

We've added a progress bar control to Universal. It's available in the grid, cardlist and form. It looks like this:

The progress bar in the grid and form


Tabpages and details

We now support all tabpages and details are now loaded directly into the tab, rather than just showing a button that allows you to open the detail in a new document. It looks like this:

Tabpages with details loaded right into the screen


Note that we for now show all details in all tab, rather than just the detail assigned to the detail group. This will be implemented next.


Build onto Universal

We added the option for developers to add functionality to Universal. You can add a website to the same subdomain as where Universal is running and load that via the preview component. This allows you to communicate with Indicium via a custom page that is loaded into Universal, it looks like this:

Universal has been loaded into Universal, which in turn has been loaded into Universal again


Cube charts

The first step for implementing cubes is showing simple graphs. We now support the following types of cube views:

  • 1 or more data fields, no categories (rows) and no series (columns)
  • 1 or more data fields, 1 category and no series
  • 1 data field, 1 category and 1 series

We do not support computations yet (e.g. year of a datetime field)

Now to the awesome part, here's what charts look like:

Charts in Universal

Sync indicator

We now indicate in the topbar when the GUI is processing updates to the form. This helps the user see that things might still change in the form (default and layouts for example):

The sync indicator in the blue top bar


Unit tests

In the past three weeks we've added another 43 unit test cases to the components and inner workings of Universal. This brings us up to 1208 test cases in total.


Lots of minor fixes/tasks



  • Fixed several bugs that occurred when Universal tried to perform an action for a document that was already closed.
  • GUID's no longer get sent with quotes around them



  • Universal no longer briefly shows a message that The screen type cannot be found when first opening a screen.
  • Fixed a bug where the sidebar would be open on small screen when loading Universal and would close when you tapped anywhere on the screen.



  • Fix console bug that impeded development speed
  • Added easy way to enable proxy, making it easier for us to debug any application
  • Removed a lot of unused legacy code


What we'll be working on next sprint

We're working towards a version with all essential features. For next sprint this means:

  • Improve the charts
  • Multi-language about dialog
  • Ground work for the tree menu
  • Tree component default expand level
  • Performance improvements
  • Stability improvements
  • Signature control

This topic has been closed for comments

1 reply

Very proud of the result. Great job 👍