DevExpress Dashboard - Early Access Preview (v19.2)

v19.2 - our next major update - is a couple of months away. As such, we wanted to share the features we expect to ship in October and invite all active DevExpress Universal users to download our early access preview. Your feedback will help us refine these new features and allow us to ship the best possible royalty-free Dashboard platform in the marketplace.

WinForms Dashboard - Asynchronous Data Processing and Rendering

Our next major release will include the first version of DevExpress Dashboard's Asynchronous Data Processing and Rendering Engine for the WinForms platform. As its name implies, this engine was designed to decouple data processing from UI-related threads. Yes, with v19.2, your users will be able to continue using your app while time-consuming operations are performed on the server side.

To switch the Dashboard Viewer/Designer to Async mode, you will simply set its AsyncMode property to true.

The Advantages of Asynchronous Data Processing

  • Responsiveness: We render dashboard widgets more quickly. Your application will be more responsive and feel "lighter."

  • Immediate Rendering: Asynchronous data processing helps accelerate dashboard data calculations and rendering – Items appear sequentially as they are ready (data that is processed first appears without waiting for more time-consuming calculations).

WinForms Dashboard - Asynchronous Data Processing and Rendering

Note: If you currently handle control events, please be aware of API changes designed to support the modified lifecycle of the Async data processing. We've created a migration guide to simplify the transition process ( KB article ). Full product documentation will be published prior to official release.

As you can imagine, this early access preview ships with a number of limitations. We are actively working on our Async API, and testing our UX. This reality notwithstanding, we encourage you to evaluate our implementation and experience the performance advantages first-hand. We need your help so please do share your thoughts and your technical issues with us.

Web Dashboard Themes

Our next major release will include an extended web theme set and allow you to create custom themes as needed.

Predefined Themes – Powered by DevExtreme

Since our Dashboard is tightly integrated with our DevExtreme component library, many of you have asked us to fully support DevExteme's set of Predefined Themes. In this early access preview, you can use any Generic DevExtreme theme within your project.

Web Dashboard Themes

To explore this new option, simply open an existing v19.2 Web Dashboard Demo and switch between themes using the dropdown button within the Dashboard Title.

Note: Material themes are not available in this early access preview. Material design support involves numerous moving parts and though we hope to include support once v19.2 ships, we may have to defer this feature.

Custom Themes and Command-Line Interface

For those who wish to create a custom Dashboard theme and those who have already created a custom theme using the DevExtreme ThemeBuilder, v19.2 includes our new Dashboard Theme Builder CLI (command line interface).

Our Dashboard Theme Builder CLI is a command line tool based on Node.js and was designed to work together with DevExtreme ThemeBuilder. It allows you to create a custom Web Dashboard theme with ease.

The following KB article details usage of our new Theme Builder CLI.

Note: In this early access preview, we do not apply palettes to data-specific colors (present in our Chart, Range Filter, TreeMap and other visualization widgets). Palettes used in these Items are tightly bound with data, and we don't expect to make modifications to our existing implementation. You can customize specific colors by handling the CustomPalette event. If this does not address your requirements, please comment below. We'll be happy to review your use-case in greater detail and reconsider our implementation if necessary.

Data Inspector

We've created a basic UI to allow end-users to inspect data (underlined or aggregated, at your discretion) used to populate our visualization widgets.

Data Inspector - DevExpress Dashboard

To invoke this dialog, use one of the following methods:

  • click "Data Inspector" in the Dashboard Item Caption. The item is visible if the AllowInspectAggregatedData or AllowInspectRawData property is true;
  • call the ShowDataInspector method within your own UI.

The new UI is available for all platforms (WinForms Dashboard, WPF Dashboard, Web Dashboard). We activated this feature for all DevExpress Dashboard Demos in this early access preview.

JSON DataSource

You can now use JSON Data Source to feed JSON data to Dashboards - across every platform.

End-users can create a JSON data source with the Data Source Wizard available in our WinForms Designer and Web Dashboard.

JSON DataSource - DevExpress Dashboard

You can use the new DashboardJSONDataSource class to create the JSON data source in code.

XPO DataSource

DevExpress Dashboard now supports our XPO Data Source. You can bind your XPOBusiness Model to DevExpress Dashboard (feel free to use our WinForms Dashboard Wizard for this task).

You can also instantiate the DashboardXpoDataSource in code and add it to your dashboard / data source storage as follows:

DashboardXpoDataSource dataSource = new DashboardXpoDataSource() {
    ConnectionStringName = "nwind"
};

dataSource.SetEntityType(typeof(Products));

Data Federation – Union

Our Data Federation Data Source now supports Union operations.

When creating a new federated query in our WinForms Wizard, you can select the appropriate operation type – Join, Union or Union All

Data Federation Data Source - Union - DevExpress Dashboard

In addition, our API allows you to create complex queries when a Federation Data Source performs a Join with one data source and a Union operation with another data source. The query is generated as illustrated in the following code snippet:

DashboardFederationDataSource federationDataSource = new DashboardFederationDataSource();
var msSource = new Source("MSSQL Source", msSqlDataSource, "query");
var mySqlSource = new Source("MySQL Source", mySqlDataSource, "query");
var excelSource = new Source("Excel Source", excelDataSource, "");

var query =
    msSource.From().Select("ProductName", "CategoryID").Build("MSSQL select")
    .UnionAll(mySqlSource.From().Select("ProductName", "CategoryID").Build("MySQL select"))
        .Build("Products union")
    .From().Select("ProductName")
        .Join(excelSource, "[Products union].[CategoryID] = [Excel Source].[CategoryID]").Select("CategoryName")
    .Build("query");
federationDataSource.Queries.Add(query);

Extract Data Source API

We extended our Extract Data Source API and made it easier to manage millions of data rows. (if you've not evaluated Extract Data Source, we recommend that you consider it for future projects as it is blazing fast.

Some of you reported issues when updating your Extract Data Source in the concurrent multi-user request world of the web. Our current workaround required that you write code to address this issue. With v19.2, you can use the following straightforward API:

DashboardExtractDataSource.UpdateFile(extractDS,
    (_, result) => logger.Log("onDataUpdated", result),
    (_, result) => logger.Log("onFileUpdated", result));
extractDS.Dispose();

Behind the scenes, we redirect data requests to a new file and delete the old file when it is no longer necessary. This operation is seamless. No additional thread synchronization tasks are required on your end.

Data Federation + Extract

We improved how our Data Federation and Extract Data Sources work together.

With v19.2, you can create an extract from your Federation Data Source. You can also include Extract Data Source in the Federation Data Source and join/union with other data sources.

Window Function for Calc Fields

Back in v16.1, we enhanced our DevExpress Dashboard with Window Calculations , available at Dashboard Item's level. Since then we collected a (very little) number of your request to perform similar calculations on the previous data processing step, before the data was aggregated to be displayed.

You can now do it in your Calculated Field with our new w function.

To better illustrate its concept, we have created this article which gives examples of various aggregation types so you can compare and analyze.

Before We Let You Go

To better address your business needs, we ask that you complete the following DevExpress Dashboard product survey. We'd love to know how you're using DevExpress Dashboard and how we can better address your needs in 2020. The survey should only take 4 ½ minutes to complete (yes, we’ve made certain to keep it short and to the point). 

NOTE: Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.
13 comment(s)
Daniel Hall 5
Daniel Hall 5
I'm going to try out the changes to the JSON Data Source and provide feedback to ensure this feature is future proof.  I love the direction your team is taking with every aspect of the dashboards!  Your team rocks!
20 August, 2019
Jonatas Hudler
Jonatas Hudler

Great additions!

Question: Is this the final list? Or is more coming? (I remember other features were decided in the roadmap).

With this new Window Calculation possibilities, I missed even more the ability to persist line breaks in multi-line calculated fields expressions.

20 August, 2019
Marco Torregrossa (Global)
Marco Torregrossa (Global)
Great job!
I hope you will continue to improve that controls in the future.
This allow us to provide a BI tool for users, based on their data, directly inside our ERP
20 August, 2019
Harlin
Harlin

It's a great list of avances.

I like your work but I would like more documentation to Angular users because almost is oriented to MVC users.

I would like that together we can compete with other business intelligence apps.

20 August, 2019
Marcio.Matos
Marcio.Matos
Escreva seu comentário aqui ...The data federation feature, announced in 2018, does not yet allow the end user to merge sources into the web platform, only via code. But the end user has no access to the code! It is a feature long awaited by my clients. The screen must exist for the end user himself to federate data in designer mode.
20 August, 2019
Marcio.Matos
Marcio.Matos

The possibility of setting the background color of the cards in the toolbox, also announced in 2018, is not confirmed in this blog. Currently only via code it is possible to change the background color of the cards.


20 August, 2019
Gabriel Phaiphai
Gabriel Phaiphai

Customer51877 I agree,

Sourcing data via code is not ideal. End User designer need to be flexible enough to 
link data at runtime(file config) than in code. Charts/Reports and Dashboards design and data sourcing
should be abstracted to end user where they can be changed without code change.



21 August, 2019
Andrey (DevExpress)
Andrey (DevExpress)
@Daniel Hall 5
@Marco Torregrossa (Global)
👍

@Jonatas Hudler
We still hope to fit a couple of features in the final release, and Expression Editors' enhancements are among them.
Our first survey results confirm that these improvements can be useful to our customers as 94% of respondents answered that they are using our Calculated Fields.
 
@Harlin
I'll pass your requests to our documentation team.
 
@Customer51877
@Gabriel Phaiphai
 
Thank you for sharing your thoughts.
Your requests help us focus on things, which are important for our customers.
 
I encourage the readers who feel the need for the Web Data Federation Wizard / Cards / Chart Conditional Formatting features to drop us a line and describe their scenarios
so that we can better understand our customers requirements' and prioritize these features (which are currently placed in the upper part of our Backlog, but not in the Doing list).

21 August, 2019
Jesús Gómez Rodes
Jesús Gómez Rodes
Great job. We see how advices and comments help to go on and to devise a power plattform!
21 August, 2019
Fabio Andrade
Fabio Andrade

Hello,

Great Job!

some points:

Data Inspector needs a button to export to csv or excel.

Is there any plan to have native provider for mongodb ?,

and about filtering out an olap cube at source. There are situations where every dashboard uses some filter and without that just filtering on each dashboard item. and with that dashboard maintenance is much more difficult.


thanks

21 August, 2019
Andrey (DevExpress)
Andrey (DevExpress)

@Jesús Gómez Rodes

Thank you!

 

@Fabio Andrade

Thank you for your feedback. I've passed it to the R&D team.

 

We don't have any immediate plans to support MongoDB as a data provider. We advise our customers to connect to MongoDB on their side and then use ObjectDataSource.

 

As for the OLAP filtering, our DashboardOlapDataSource has the Filter property, which you can set up in your code.

If this API does not match your needs, please open a support center ticket and describe your use case in greater detail.

26 August, 2019
Joseph Sargeant
Joseph Sargeant
Great work... looking forward to testing the new functionality
27 August, 2019
Larry Pope
Larry Pope

The data inspector is a great addition.  I would like to know how the Hidden Dimensions / Measures will impact it.  At least from the beta, it seems adding hidden measures then show up on the inspector form under both aggregate / raw but not hidden dimensions.  I don't know if that is planned or just not implemented yet. 

Adding the hidden dimensions to the aggregated view might have performance issues. Minimally adding the hidden dimensions to the raw output would be desired to provide more context to the underlying data.  One of my issues with these types of inspectors in other products is that they either only show the fields that are visible on the visualization or show all the underlying columns.  Using the hidden dimensions / measures to tailor the output would be a great way to ensure you have just the useful columns rather than have too little / too much.


16 September, 2019

Please login or register to post comments.