I had a great time speaking at the Carolina Code Camp 2011. We had an awesome turnout. Thanks to all who helped make it a success. I look forward to the next one!
As promised, here are the slides from the presentations I made:
Thanks again for coming out….
I had a great time speaking tonight about Dynamic Dashboards in Silverlight 4 at the Charlotte ALT.NET User Group. Thanks for all your participation and questions.
I will be speaking at the Charlotte ALT.NET user’s group. My topic will be on dashboards. I will be showcasing the dashboard that I have designed and developed for emGovPower. Here is the summary of the presentation:
Building a dashboard and supporting it can sometimes be very a time consuming and tedious task for any IT department. Many systems have been put into place to support reporting off of cubes and systems such as Hyperion, Business Objects, and Microsoft Analysis Services/Reporting Services. If what you need is the ability to let your business build a dashboard based on the data that they already know then perhaps providing a custom simple system is all you need. Here is where Silverlight comes to the rescue coupled WCF Services. With these two technologies a simple intuitive dashboard system can be put into place where the ownership and maintenance of the dashboard belongs to the business and not IT.
See you there…
In our last post, we discussed a high level approach for providing dashboarding in our Silverlight application. One of hottest requests in information technology (IT) is the desire for an easy, intuitive, self-service means for authoring and publishing, and viewing dashboard elements. In todays post, we are going to drill deeper into what it takes to deliver the smallest unit in our dashboard solution: the Dashboard Element.
The Dashboard Element will be broken into two main entities:
- Table – a table will provide tabular data and allow for sorting, traffic light, and aggregations of data.
- Chart – a chart will provide a visual representation of data in one or more series of data. The chart will support Area, Bar, and Line types in the first version of the product. It will be possible to overlay one chart type over another.
The Dashboard Element will also contain a title, legend, X-Axis title, Y-Axis title, X-Axis Label rotation, series label, and a collection of DashboardQuery objects. We will cover each of these as we define this control.
The Dashboard Element will be a UserControl with the XAML being bound to its code-behind properties. This way we can set all of the properties necessary for a Dashboard Element to work declaratively without needing to create custom ViewModels for each instance.
Before we go any further, let’s take a look at what a flexible Dashboard would look like.
Next we will look at one of the Dashboard Elements maximized.
In the next post, we will go over the steps to creating the Dashboard Element.
Until then, see you next time.
Part of creating an enterprise solution for line of business applications, is the need to provide flexible, easy to use, dashboarding. Delivering business intelligence (BI) to your clients is the next step in the evolution of providing a mature enterprise application. Providing a means for the end user to create and modify existing dashboard items is invaluable. I will be presenting one way this can be solved and show you how to go about designing a solution for dashboarding. We will cover the following items:
- Dashboard layout manager
- Dashboard element
- Dashboard element selector
Dashboard Layout Manager
The dashboard layout manager will be the area of the screen that is dedicated to showing and displaying individual dashboard elements. It will allow for reordering items on the screen. We will be using the RadTileView as the underlying control for this piece. There is also the BlackLight control if you are interested in an alternative solution.
The dashboard element is responsible for showing an individual dashboard item. You can choose from the following types of elements:
Each of these provides a different perspective or view on the underlying data. A user will be able to select an element from the dashboard element selector.
Dashboard Element Selector
The dashboard element selector presents the user with a list of authorized dashboard elements that he/she has access to. Elements will be added to the layout manager once a user selects an element to be included.
The user will be presented a list of existing elements that he has rights to author and modify. A wizard will be presented for creating a new element. The wizard will walk the user through building a connection string (this may come from a list of authorized locations a user can author dashboard items from as well), the create a query or select a table and columns. Next the user will be presented with what type of dashboard element to present: Table, Area chart, Bar chart, Line chart. After this has been completed and the user has provided any additional meta data, the user will preview what the newly created element will look like and then select publish to save the definition to the database.
In the next post, we will begin the journey of building a generic solution to be used in any Silverlight application. Stay tuned.