Resources for my DynamicsNAV Client Extensibility sessions at Directions 09 in Austin, Tx

This morning I have arrived back from Directions 2009 in Austin, Texas. Directions was a fantastic conference with a great setup at a incredibly beautiful location. The program was packed with great sessions and I had lots of networking and feedback from partners on Client Extensibility for the RoleTailored client.

I have learned a lot from our partners, for example about licensing requirements that partners have in order to run a viable business on “Business Data Visualizations”. A big Thank You for all the feedback and inspiration!

For the restless reader (“in a few words”)


Download the presentations an supporting material on Client Extensibility:

Download presentation D115: Client Extensibility - Introduction, How to use Add-insDownload presentation D116: Client Extensibility - How to create Add-ins

(!!!) Download template installer: Visual Studio Templates for DynamicsNAV Add-ins

It was my great pleasure that I had been invited to present two sessions about client extensibility on the last day of the conference – the Deep Dive day. And because I have been given this honor by our partners I brought “presents” for our partners.

The first session (introduction) started the general concept of extensibility in different places of NAV and I mentioned samples where the different extensibility mechanisms can be used together. The focus was of course what the Add-in concept is all about, and how it plays together with the other extensibility models (like client side  & server side COM and exposed Web services). Then I went through three different categories of Add-ins: Value fields, Content renderer based on a value and “Business Data Visualizations”. For each of the categories I showed several Add-ins live. Special feature was of course my TreeMap control Add-in for Dynamics NAV. Then I talked about how to use Add-ins in page metadata, connect to data and integrate with application code.

In a (I believe) cool demo I showed how to take the TreeMap control that I had shown previously in the demo of an “Analysis place” for Customers and use it in a similar place for Sales Orders, connect it to data and triggers. Finally I demoed how to enable on-the-fly client distribution (see also Freddy’s blog) for related material.

The last part was about the impact of the Add-in concept on the current business with NAV and sketches out a framework for new business opportunities: “Business Data Visualizations”. The present was the announcement of the near availability of the TreeMap control.

In the second session (how to create Add-Ins) I began with a new page, and loaded it with with Add-ins. Then I looked at a Visual Studio solutions which contains the code of all the Add-ins – the Add-In Workshop. With the help of these code samples I walked through the different aspects of the Add-in API and pointed out the typical steps you take when you create a new one.

Initially I had planned to do a deep-see-dive on the classes and interfaces of the Add-in API. But on my flight to Directions I really got scared – scared, because this approach would have simply produced confusion and not have shown how simple it actually is to create an Add-in. So I decided instead to provide a diving suite for the second Deep Dive session.

Instead of spending the flight with watching movies, I wrote a set of Visual Studio projects and item templates that once will be part of a guided Visual Studio Starter Pack for Dynamics NAV RoleTailored client Add-Ins. Right now it contains two project templates (one for a Control Add-in project base on WinForms and one based on WPF). It also contains 6 Add-in class templates for typical Control Add-in interfacing scenarios. One of the Add-in class templates is tailored to WPF “Business Data Visualizations” and is actually based on the code I used to implement the TreeMap Add-in.

In another (I believe) cool Demo I created a new Business Data Visualization Add-in for a WPF map control of the US states, featuring heat-map visualization. I took me only a few minutes to build this new Add-in with the help of my Visual Studio templates – including hosting it in a RoleCenter page and a quick debugging demo.

As you can imagine, the present for the audience in this session was this Visual Studio template package. Quite a number of attendees queued up to get a copy of the template installer on their USB stick right away. And you can download it also here.

Aside to all the other great sessions we had lots of fun too …


The C/Siders live on the shore of Colorado river, together with great food and drinks, and the great spirit our our wonderful partner community …

Christian Abeln
Senior Program Manager
Microsoft Dynamics NAV