What’s New In Dex 0.4
I just thought I’d take some time to cover some of the upcoming changes in Dex 0.4. There is a handful of new components and a new visualization called the Hive Plot. However, most of the focus has been on improving the existing visualization controls.
The D3 visualizations will now offer greater control over the various aspects which are specific to that visual. A good example is the Time Laps visualization. I won’t go through all of the affected visualizations, but this one will give you a pretty good idea of what’s coming:
As you can see from this screen shot, the configuration window is divided into 3 tabs. The first one is dedicated to configuring the visualization. In this component, we can now configure the following:
- Height and Width of the canvas.
- The X, Y and Chart titles.
- The X and Y scale. Logarithmic or Linear are currently supported.
- Left/Right/Top/Bottom margins
- X/Y tick formats. (“,d” = comma separated by thousands, “e” = exponential notation, etc…)
After we execute the visualization, we can then go to the other tabs. The HTML tab is for viewing the actual visualization while the output window is for viewing the actual HTML5 content which has been generated.
From the Output window we can choose the save the visualization in a separate, self contained file which we can view outside of Dex. The produced visualization will run fine with or without webserver support.
Here is a sample Time Lapse visualization produced directly from Dex. It is much more polished than it’s predecessor in Dex 0.3.
You can expect similar changes throughout the remaining D3 visualization stack when 0.4 comes out.
The environment component will allow us to set user variables in the environment. This will allow us to create generic flows whose behavior can be controlled centrally from a single environment setting.
In the following example we have defined a series of environment variables, X, Y, SIZE, and a bunch of database parameters.
Here we see how one of our components is made more generic by the use of these environment variables:
We could remap x, y, size and even query a different database altogether simply by changing our environment.
Still more useful is to define different environments in the same flow and simply activate the active environment and deactivate the others.
Groovy Output Template
The Groovy output template is a very exciting addition. This component can be used to generate external assets related to the data such as HTML or other types of reports.
Here we query some data:
We define a groovy template that outputs the data as an HTML table:
We can view and save the raw output from the Output tab:
And if the output is HTML, we can view it within our embedded browser.
Longer term, I am planning to pave the way for a headless mode within Dex where assets can be generated without necessarily requiring a GUI. That way you can build flows which regenerate assets based on some external driver such as crontab, quartz, or other mechanisms.
This is a new component for filtering columns based on inclusion or exclusion policy.
Hive plots are a powerful way to show relationships without too much clutter on the screen. Here is a rough sample of what’s coming there:
Anyway, that’s some of the upcoming changes. I hope you like what you see. If you have suggestions, feel free to leave them here under comments or via email.