Fork me on GitHub

Like Example? It’s part of a community of Red Hat projects. Learn more about Red Hat and our open source communities:

 
Red Hat

UF Dashbuilder

It’s been about two years since the first Dashbuilder version was released. The current distribution has proved to be very valuable for customers who need to build custom dashboards. However, about a year ago, we decided to adopt GWT (Google Web Toolkit) as the main language for developing the user interface. The main reason was to accelerate the development of new features as well as to make easier to enhance existing features leveraging the power of GWT.

Since last year, we have been working hard rewriting the whole Dashbuilder application under GWT & Uberfire. The goal of the new project called UF (Uberfire based) Dashbuilder is to bring to the community a tooling with a much more appealing UI, more features and based on a more powerful and productive development platform. Whilst the overall goal still remains: ''give users the ability to create its own dashboards from scratch, without coding, just by means of configuring and using the UI capabilities''.

New vs Old

UF Dashbuilder provides a lot of new features & improvements over the existing distribution (among others):

  • More displayer types: Pie, Donut, Line, Area, Bar, Column, Meter, Bubble, Map, Table and Metric

  • More data set types: SQL, CSV, Elastic Search and Java Bean (along with an SPI for future provider implementations)

  • Data set editor with live data preview

  • Real-time capabilities

  • Drag&drop dashboard composer

  • Better UI technology: GWT/Uberfire

This is the good news, the bad one is that UF Dashbuilder still lacks some of the features present in the current distribution:

  • Security management: role-based profiles & permissions

  • Layout editor: Columns drag&drop, resize, split and merge

  • Filter controls & selectors

Those features are under development, and will be delivered in the next major release.

Downloads

Despite the current UF Dashbuilder is under development, we already provide artifacts to download. Those artifacts are being generated and published to public nexus by our nightly build server from latest sources on GitHub. If you want play a bit with the new UF Dashbuilder distribution please check out the following link. For those who do not want to deal with annoying installation procedures, we recommend watching the following video.

Technology

UF Dashbuilder is built on top of the following technologies:

  • Java 1.8+

  • Maven

  • JUnit

  • SQL/JDBC

  • Elastic Search

  • Google Web Toolkit

  • Uberfire

  • Bootstrap 3

  • Google Charts

As you can see, UF Dashbuilder is a major evolution over the existing distribution with the same goals in mind. However, from the technical perspective it can be seen as a totally different project since the technology used is very different. Another major difference is that UF Dashbuilder has been designed with developers in mind. Anyone can use the API’s and its GWT components to create end-to-end dashboard solutions. The following blog entry is a good example of how to develop an ad-hoc real-time dashboard. The process dashboard included in the jBPM Console it’s also another good example of how developers can create their own custom dashboards (source files here).

Another important aspect to consider is the migration of the existing dashboards to the new platform. Our aim is to deliver a migration tool to automate the process. It doesn’t seem an easy task though, since dashboard structure, components and storage are totally different. The minimum requirement to satisfy is to be able to create dashboards templates in UF Dashbuilder from existing dashboard definitions.

Future Plans

The overall goal is to deliver a tooling that eases/speeds up the process of gathering data from disparate data sources and allows non technical users to build dashboards from scratch. The next short term goal is to replace existing Dashbuilder with the new one. Other mid & long term goals are:

  • Support other charting libraries: D3, ChartJS or Lienzo

  • New displayer types: Radar, Scatter, Sunburst, Trees.

  • Report editor, for custom HTML based dashboard layouts

  • Mobility support

  • Data set REST API

This has been a very quick overview about current UF Dashbuilder status and future plans.
Do not hesitate to ask for further information via our public forums or chat.

And remember, don’t forget to follow us on twitter if you want to get the latest news and announcements.