release notes

Universal Development Update - November 2019 pt. II

Related products: Universal GUI
Universal Development Update - November 2019 pt. II

Hello everyone. This sprint we've focused on laying a lot of ground work. While this is not immediately visible, it enables to do start working on a lot of features.

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

 

Tree (Attribute-based)

We've implemented the tree component. This version works for attribute-based trees, hierarchical trees (parent-child relations) will be implemented later. So what's the difference between the 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.

A 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.

It looks like this:

The tree component in action

 

The styling of the tree will be looked at next. Think icons, margins, conditional layouts etc.
 

Ground work

This sprint we've been working on a lot of ground work. Ground work is perhaps the most important part of implementing new features, but it unfortunately isn't very visible. We still didn't want to keep this from you so you'll know what to expect soon.

 

Cube chart

We're preparing to add cube charts. This sprint we've researched what information we'll need from the Thinkwise Platform and in what form to create charts. We also researched what components we might be able to use. We eventually came up with a shortlist and made Proof of Concepts for each.

 

Tiles menu

We've created the underlying architecture to be able to create tiles menu. We now have the definition of tiles menu's available and prepared the current menu for the upcoming change.

 

Tab navigation in the screen

We already have tab navigation on the root level of the screen, now we have the architecture to support any type of tab navigation. We have the structure of each tab available and store what each tab looks like. With this change we can start building any tab component, anywhere on the screen.

 

Details

When we encounter a detail in a tab page, we now show a button to open it in a new document. We created the underlying architecture and state to show the actual detail itself.

 

Unit tests

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

 

Lots of minor fixes/tasks

 

Miscellaneous

  • Added support for Thinkwise Platform 2020.1
  • The correct hour is now shown when DateTime values have high millisecond precision

 

UI/UX

  • Fixed radio buttons misalignment
  • Changed the label for the dark mode toggle in the User Preferences menu

 

Technical

  • Refactored all actions to be type-safe

 

What we'll be working on next sprint

We're working towards a version with all essential features. For next sprint this means building on the ground work we've laid in this sprint:

  • Hierarchical tree component and styling the trees
  • Figuring out how to fetch the data for cube views and loading the cube view definitions
  • Showing details in the screen, rather than a button to open a new document
  • Implementing all tabpages
  • Creating a component that loads other web applications into Universal
  • Testing and completing the work done on the wildcard day. More on this in the next blog

Tim,

Will this new tree feature support a better filter option then our current tree does? At this moment filtering within a tree will only display a row matching the filtered value, instead of display the parents of the filtered value and the filtered value.


Tim,

Will this new tree feature support a better filter option then our current tree does? At this moment filtering within a tree will only display a row matching the filtered value, instead of display the parents of the filtered value and the filtered value.

Arjan,

At this point the tree will behave the same as the current tree. Can you create an idea for this behavior so people can vote on it?

Tim