Announcing DashBuilder 0.14.1

William Antônio Siqueira
3 min readJan 10, 2022

We are glad to announce that we are releasing DashBuilder 0.14.1! The major change for this new release is the adoption of Quarkus as the backend for Dashbuilder Runtime and the introduction of Dashbuilder Authoring, a new tool to create dashboards.

The project code has also moved to Kogito tooling, which means that it will be regularly released with other kogito tooling tools.

You may be asking why 0.14.1 and not 8.0. The reason is that Dashbuilder is now part of Kogito Tooling and will follow its release cycle.

Dashbuilder Improvements and new features

The major change for 0.14.1 is that now Dashbuilder Runtime is based on Quarkus. It means quicker startup time (10x faster to start) and better overall performance. As a consequence we now have some changes:

  • Dev mode now uses SSE (Server-Sent Event);
  • Client to server communication is done via REST;
  • HTTP Compression comes from Quarkus;
  • New uploaded can be disabled using system property dashbuilder.runtime.allowUpload; When false new uploads will not be supported;
  • SQL DataSource configuration can be done using system properties:

java -Ddashbuilder.datasources=sample \

-Ddashbuilder.datasource.sample.jdbcUrl=jdbc:mariadb://localhost:3306/sample \

-Ddashbuilder.datasource.sample.providerClassName=org.mariadb.jdbc.Driver \

-Ddashbuilder.datasource.sample.maxSize=10 \

-Ddashbuilder.datasource.sample.principal=repasse \

-Ddashbuilder.datasource.sample.credential=repasse \

-jar target/dashbuilder-runtime-8.0.0-Alpha.jar

Make sure to change JDBC URL and Driver according to the used DB. The supported databases are the same as supported by Agroal from Quarkus 1.11.

  • Bean datasets now work by simply adding the JAR with the bean dataset and all its dependencies to the classpath;

All features and dashboards that used to work on 7.x should work on 8.x with the exception of ElasticSearch, which was removed in this new version.

To author dashboards we are releasing Dashbuilder Authoring, which we will talk more about later in this post.

Running DashBuilder Runtime 0.14.1

Download the distribution JAR and run it using Java 11 or later with the java -jar command.

java -jar dashbuilder-runtime-app.jar

The bootstrap switches for the 7.x continuous working with this new version. For example, this is how you run with a static dashboard:

java -Ddashbuilder.runtime.import=/path/to/dashboard.zip -jar dashbuilder-runtime-app.jar

Or in multi mode:

java -Ddashbuilder.runtime.multi=true -jar dashbuilder-runtime-app.jar

DashBuilder Authoring

We are now releasing DashBuilder Authoring, a tool to author dashboards! Datasets, pages and navigation is saved directly in the filesystem. The path to the saved artifacts can be configured using system property org.dashbuilder.project.location (default is ./dashbuilder) and you can also automatically export the dashboard by setting a path to the exported ZIP using the system property dashbuilder.export.location.

DashBuilder Authoring is distributed in the form of bootable JAR or a WAR that can be deployed on Wildfly 23.0.2. Deploy the WAR must be used when use of SQL dataset is required.

The bootable JAR can be executed using Java 11+:

java -jar dashbuilder-authoring-bootable.jar

Container Images

It is possible to download and run dashbuilder binaries locally or you can try DashBuilder now using the following container images:

Runtime
quay.io/kogito_tooling_bot/dashbuilder-runtime

You can pass Java properties using the JAVA_OPTS environment variable. For example, to run Dashbuilder Runtime in multi mode use the following command:

podman run -p 8080:8080 -e “JAVA_OPTS=-Ddashbuilder.runtime.multi=true -Ddashbuilder.runtime.allowUpload=true” -dti quay.io/kogito_tooling_bot/dashbuilder-runtime:0.14.1

Authoring

quay.io/kogito_tooling_bot/dashbuilder-authoring

Dashbuilder Authoring uses the WAR bits and uses as base Wildfly 23.0.2 image.

External DataSets

This release also includes a new dataset provider type called “External DataSets”. External Datasets are based in JSON, basically any JSON regular 2x2 array can be a dataset now. More information can be found in its PR, but this will be covered later in its own post.

Conclusion

We introduced the new DashBuilder! In the next post we will share a new repository of sample dashboards that you can run with DashBuilder Runtime, so stay tuned!

--

--

William Antônio Siqueira

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