Multi Dashboards support in Dashbuilder Runtime

William Antônio Siqueira
kie-tooling
Published in
3 min readSep 24, 2020
Foz do Iguaçu Falls

In a recent blog post, we introduced Dashbuilder Runtime and mentioned that you can either select a ZIP file to be started as the dashboard or upload a dashbuilder one time to be used. These behaviors are called Runtime mode, and they are STATIC and SINGLE_IMPORT. In release 7.42 we introduced a new mode: MULTI. In this article, we talk more about this mode and describe how it works.

Dashbuilder Runtime can run dashboards exported from Business Central. By default, dashbuilder Runtime runs only one dashboard per installation, but it is possible to run it in a multi-tenancy model to have multiple dashboards in the same installation.

In multi-tenant mode, dashbuilder isolates each dashboard context to avoid any conflicts. You will be able to install how many dashboards as you want and you can have dashboards by company area or have a dashbuilder multi-tenant installation for a specific area, let’s say, Sales, and have multiple dashboards for that area, for example, Current Year Sales, Internacional Sales and so on.

Loading multiple dashboards

The Multi-mode is turned off by default. In order to activate it, you must set the system property dashbuilder.runtime.multi as true.

Multi-mode works by scanning all ZIP files under the path configured by dashbuilder.import.base.dir and the existing dashboards are loaded during bootstrap. To load some dashboard just access dashbuilder runtime home page and pass the property import={filename} where “filename” is the dashboard file name without the extension. The home page for multi-mode is also different from dashbuilder running with a single dashboard, because it lists all the existing datasets

Dashbuilder Runtime Home Page in Multi-Mode

After starting, all dashboards will be listed on the home page and it is possible to upload new dashboards. Dashbuilder Runtime tries to avoid repeated content by warning users if they try to upload dashboards with repeated content.

Warning displayed when a user tries to upload a dashboard with existing content

Multiple Dashboards and datasets conflict

It may look simple at the surface, but multiple dashboards need to have an isolated context for datasets. For this purpose, we created AF-2550 which prevents dataset collision by partitioning it by the imported dashboard.

Since the dataset partition requires more processing during dashboards import, it is possible to turn this feature off by setting system property dashbuilder.dataset.partition=false. This could be useful if you don’t care about datasets collision or if you are sure that datasets won’t collide even in multi-mode.

Conclusion

Multi-Mode allows the use of the same web application to run multiple dashboards. This same installation can be integrated with other applications using the embedded mode, which will be discussed next.

--

--

William Antônio Siqueira
kie-tooling

A software engineer passionate about open source, open data, data visualization and Java development.