DevExpress Dashboard – 2020 Roadmap

We received great feedback on our proposed 2020 DevExpress Dashboard Roadmap. Thanks to everyone who engaged us late last year. Based on your feedback and our long-term product development goals, we've finalized our 2020 Roadmap with a focus on important usage scenarios outlined below.

Features Planned for v20.1

Parallel Periods

DevExpress Dashboard Parallel Periods

Parallel periods are an important data analysis tool. Though we allow you to address simple usage scenarios in this regard, complex scenarios are not currently supported (when comparing the same data against different date periods). We will address these complex usage scenarios in our v20.1 release.

Tab Item Performance Enhancements

We will allow you to restrict dashboard item loading to active tabs only. This feature will help improve overall performance when using multiple Dashboard Tabs (with Dashboard Items that require extended data processing).

API to Extend a Dashboard's Lifecycle

We will introduce an easy and straightforward API to extend the Dashboard's design lifecycle. Our objectives will be as follows:

  • Allow you to easily add a UI for your properties within Dashboard Designers. You will have access to a new set of APIs to extend the WinForms Dashboard Designer Ribbon Menu, and the Web Dashboard Options Panel.
  • Allow you to add customer-related properties (aka user data) to Dashboard, Dashboard Items, and Dashboard Item Elements (Grid Columns, Chart Series, Cards, Gauges etc.)

We will store your custom data within the model and automatically manage serialization/deserialization as needed.

In the following examples, we show how to add a scale break to the Chart item:

Web Dashboard

Step 1: Add Metadata for the custom properties.

import { registerCustomPropertiesMeta } 
	from "../../sources/model/custom-properties/custom-properties-metadata";

registerCustomPropertiesMeta({
    ownerType: ChartItem,
    propertyName: "scaleBreaks",
    defaultValue: false,
    valueType: 'boolean',
});
Step 2: Update the event handlers to use the Metadata.
onItemWidgetCreatedUpdated(args: ItemWidgetEventArgs) {
    var scaleBreaks = 
    		args.dashboardItem.customProperties.getValue("scaleBreaks");
    if (scaleBreaks) {
        var widget = args.getWidget();
        var valueAxisOptions = widget.option("valueAxis");
        valueAxisOptions[0].autoBreaksEnabled = true;
        widget.option("valueAxis", valueAxisOptions);
    }
}

Your users can now specify the Custom Property in the Dashboard Designer.

Web Dashboard Custom Properties S

WinForms Dashboard Designer & Viewer

var page = ribbon.GetDashboardRibbonPage(
									DashboardBarItemCategory.ChartTools,
									DashboardRibbonPage.Design);
var group = new RibbonPageGroup("Additional Properties");
page.Groups.Add(group);
var barItem = new BarCheckItem(ribbon.Manager, false);
barItem.Caption = "ScaleBreak";
barItem.ItemClick += SaveScaleBreak;
group.ItemLinks.Add(barItem);
//…
void SaveScaleBreak(object sender, ItemClickEventArgs e) {
    var breakEnabled = designer.SelectedDashboardItem.CustomProperties.GetValue<bool>("ScaleBreak");
    designer.AddToHistory(
    	new CustomPropertyHistoryItem(designer.SelectedDashboardItem, 
    		"ScaleBreak",
        	!breakEnabled.ToString(),
        	"Scale Break Changed"));
}
//…
void Designer_DashboardItemControlUpdated(object sender, DashboardItemControlEventArgs e) {
    if(e.ChartControl != null) {
        var dashboardItem = designer.Dashboard.Items[e.DashboardItemName];
        var breakEnabled = dashboardItem.CustomProperties.GetValue<bool>("ScaleBreak");
        var chartAxis = (chart.Diagram as XYDiagram).SecondaryAxesY[0];
        chartAxis.AutoScaleBreaks.Enabled = breakEnabled;
    }
}
WinForm Dashboard Designer - Custom Properties

Chart and Scatter Chart Item – Constant Lines – An Extension Module Example

We found that Constant Lines can be implemented using the aforementioned API set with extreme simplicity and elegance.

We plan to distribute an example which you will be able to download and use in your application.

Your end-users will be able to configure Constant Lines and bind to the constant value or to data bound to your Chart Item.

Year-Week Date Group interval

Some of you have asked us for this visualization option (for your DateTime scale - when grouping per Day is too narrow and grouping per Month is too wide). Though most requests related to charting, we believe this grouping option will be useful for multiple Dashboard Items.

You can implement similar functionality in the current version using double Argument grouping, but this approach has visualization and master-filtering limitations.

Text Box Item – Integrated Text-Box Editor

Text Box – Improved Web Dashboard Data Binding

Users will be able to edit a Text Box item's content within the Web Designer. We will publish a separate blog post explaining why the use of a Text Box Item can benefit your dashboards. Stay tuned!

Card Item Conditional Formatting

Card Item Conditional Formatting

We will introduce conditional formatting to our Dashboard's Card Item. With this feature, end-users will be able to create conditional formatting rules within the Designer via the same UI used by our Grid/Pivot Grid.

This feature will allow you to configure visual warnings/alerts/notifications when values fall within a specific range (and inform users if actions are required).

DevExpress Dashboard Backlog 2020

We will work on the following features/requests in our v20.2 development cycle. Unfortunately, most of these features require further research, so some may not be delivered in our v20.2 release cycle.

Chart Conditional Formatting

With conditional formatting, Dashboard Charts will be able to highlight values that correspond to specific criteria and allow you to add marks to corresponding Argument labels.

Chart Item – Trend Lines

Dashboard Chart Item - Trend Lines

We expect to use our calculation engine to generate pre-configured trend lines for a variety of analytics scenarios. Though you can use Window Calculations for this purpose, we believe our implementation (trend lines) will be more configurable and easier to use.

Web Dashboard with Framework-specific Wrappers

Web Dashboard with Framework-specific wrappers: React, Vue, Angular

Though the exact scope has yet to be defined, we hope to optimize DevExpress Dashboard so that it creates and processes events based on the web framework used.

We will consider Material Design support as a part of this task.

Improved Real-Time Dashboard Update Support

Based on significant interest in our Roadmap survey, we will explore ways to improve DevExpress Dashboard (WinForms, Web and WPF) so that it better supports real-time updates. We are considering the current enhancements:

  • Reworked and configurable loading indicators
  • An improved data update mechanism;
  • Use of data caches in the background;
  • Custom group intervals.

Pivot Grid – Filtering And Exploring Data Details

We hope to extend your data filtering options when using Pivot Grid Dashboard Items. Along with the API used to extend the Dashboard Designer, we hope to better address known usage scenarios.

JSON Data Source – Support Parameter Binding

With this feature, you will be able to bind Dashboard Parameter to JSON Data Source parameters.

Web Data Inspector – Easier Way to enable Excel Export

Many of you expressed a need to enable Excel Export within the Web Data Inspector popup. You can already incorporate this capability – please refer to the following help topic for more information: documentation.

We'll will update this help topic and improve the discoverability of this feature. We're also considering ways in which to simplify the usage of the JSZip library in an upcoming release.

WinForms State Management – Lifecycle

We hope to simplify state management for our WinForms Dashboard Viewer via a new event: OnStateChanged (this event will work much like its Web Dashboard counterpart).

Current Progress

Our Text Box Editor is ready for testing. We're going to make it available (as a preview version) in our next minor update (v19.2.6)

Other features (such as API to extend the Dashboard's lifecycle and Tab Item performance enhancements), should be ready for testing in an upcoming Early Access Preview build.

Your Feedback Matters

If you have any issues with this Roadmap or questions about implementation, feel free to submit a support ticket via the DevExpress Support Center, or post a comment below. We will be happy to follow up.

Thank you for your continued support!

The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.