Digital Dashboard Offers Dev Hooks
Dundas Dashboard is a turnkey solution for creating customizable dashboards in Silverlight. For developers, the API is most interesting.
By leveraging its reporting tools and Silverlight, Dundas Dashboard delivers an easily configurable Web-based tool for creating dashboards. The product, from Dundas Data Visualization Inc., comes with a number of components for connecting to data sources and creating dashboards.
Installing Dundas Dashboard was a snap despite the warnings from Dundas that it required expert knowledge. The installation package recognized missing components on my computer and prompted me through downloading and installing them. Once installed, it was easy to open the sample applications and, from my Web browser, customize a Dashboard.
The ability to create Dashboards is the business story. As a developer, you're interested in extending the package to your specific needs. Dundas Dashboard does just that by giving you the ability to create custom data connections, new data visualization and navigation controls -- and even create custom security providers if you don't want to use the Dashboard's default authorization provider. You can also create new export formats for saving data from a Dashboard into a format compatible with other tools.
To support creating and managing new Dashboard components, Dundas provides three tools: a set of libraries, a C#-like scripting language called DundasScript and a set of utilities for creating and installing plug-in files for Dundas Dashboard. The documentation available on the Web site is complete, but is short on written walkthroughs -- though there's at least one simple sample project for each type of component you'd want to create.
The process for creating a new Data Visualization control is typical of the process for extending a Dashboard, and similar to the process you'd use to add a new feature to SharePoint. All the utilities are provided and it all works the first time.
To create a new control for a Dashboard, you start by creating a Silverlight control, which you compile into a standalone DLL. To integrate your control with the Dashboard, you create a wrapper that inherits from a Dundas class and wire your Silverlight control into three members of the wrapper. You define your control to the Dashboard framework by applying various attributes to the wrapper's members.
[Click on image for larger view.]
|Figure 1. The Plugin Packager (left) allows you to set properties on your package. Using the Plugin Manager (right) you can install or remove plug-ins or view their properties (bottom).|
A packager combines your control and its wrapper into a single plug-in for installation. There's both a GUI and a command-line interface, so you can integrate packaging into your build process. Finally, you copy the plug-in to your server and use the Dundas Dashboard Plugin Manager to install it.
You can also integrate a Dashboard into your Silverlight applications with the Dundas Dashboard Viewer. The Viewer honors Dashboard authentication to ensure that users don't see data for which they're not approved. You can also add the Viewer to ASP.NET pages and SharePoint sites as a Silverlight control.
Dundas Dashboard is a "call for pricing" kind of product. However, the API is part of the product -- so it, effectively, is free.
Dundas Data Visualization Inc.
Call for information
A flexible, Silverlight-based turnkey package for creating customizable dashboards with an API that allows developers to extend the base package.
Allows developers to customize virtually all parts of the package, including adding new controls, navigation schemes and customizing security authorization.
Requires Silverlight programming experience.
About the Author
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.