Latest version at Christian Abeln, Christian.Abeln@Microsoft.com (D100) Client Extensibility in...

Preview:

Citation preview

Christian Abeln,Christian.Abeln@Microsoft.com

(D100) Client Extensibility in Microsoft Dynamics NAV 2009 R2and beyond ...

• Intro RTC Add-Ins

• Basic concepts and tools needed.

• The AddIn API and best pratice design.

• Add-ins in NAV V7

• Whats new in the Add-In API

• Custom interfaces (e.g. Timeline Visualization in V7)

• CAL driven charts

Session Content

Insight

Monitor

Discover

Act

Scale our strategyCustomize and

utilizeQueryO-DataClient ExtensibilityInteropAsync, PerformanceManaged data layerDev tools...

Use of RTC AddIns in R2 and beyond ...

Business data & processes

A sample: Lync communication AddIn

NAV R2 Extension Models

Serv

ice T

ier

Web Services

Client Services

Application Meta data provider

Class Library

Clie

nt

Tier

Microsoft SQL Server

Form Builder Data Binder

Role Tailored Client

Data

base

Tie

r

ClientAdd-In

.NETintero

p

Server

COM

.NETintero

p

ClientCOMX

X

Your solution

Page design

Register

CopyAdd-in

Three steps when using Add-ins

3. -> Select Add-in in Page Designer

-> ‘Document’ based communication

-> Add-In in trigger ”OnControlAddIn”

Using Add-ins in the R2 RTC

1. Microsoft Visual Studiooptionally :Visual Studio Templates for Add-ins

blogs.msdn.com/cabeln

2. Extensibility assembly(Microsoft.Dynamics.Framework.UI.Extensibility)

3. Existing or new control

Making of Control Add-Ins

Your Add-in

Data &

Events

Create

control

Add-in

class

Three steps when creating Add-ins

• Choose a base class based on your reqiurements

• Choose unique Add-in Name (Attribute)

• Create the control

• Implement interfaces for Value and Event binding as needed

• Use ‘context’ information from the ‘Site’:

Caption, Editable, Enabled, Style, ValidationResults , Visible

Add-in API: Concept

Step By Step walk-through to create and integrate a Document Viewer Add-in.

Let’s create a Document Viewer Add-in

Demo

Inside the Add-In APIAdd-in base class library

Add-in base class with string data binding & eventing-> Value, HasValueChanged, RaiseControlAddInEvent

Control by default connected over framework property Control.Text !

Inside the Add-In APIAdd-in base class library

• Add-in base class for static controls (no data binding, eventing)

• Handles changes of Editable, Enabled, Visible, Style

• AllowCaptionControl

Inside the Add-In APIAdd-in base class library

Inside the Add-In APIAdd-in base class library

The best way to use the API ?

XMLXML

Role

Tailo

red

client

Serv

ice T

ier

A ViewModel based Add-in project

ClientAdd-InApplication

Viewdata:What to

show

ViewModel:How to show

VisualizationControl

Viewdata:What to

show

ViewModel:How to show

VIEWMODEL LIBRARYADDIN LIBRARY

TEST PROJECT

A ViewModel based Add-in project

Clie

nt

Tier

Form Builder Data Binder

Role Tailored Client

Client

Add-In

.NETintero

p

Serv

ice T

ier

Client Services

Application Meta data provider

Class Library

Web Services

.NETintero

p

Create an Add-in from scratchXML binding WPF Add-in

Step By Step walk-through:

Creating a WPF Chart Add-in for Dynamics NAV from scratch.

Demo

Custom interfaces: Timeline Viz

V7: Add-ins with .NET 4.0

Charting in V7

V7: Chart Add-In for CAL developers

Chart Add-In for CAL developers