Client Extensibility in Microsoft Dynamics NAV 2009 R2

Download Report

Transcript Client Extensibility in Microsoft Dynamics NAV 2009 R2

(D100)
Client Extensibility in
Microsoft Dynamics NAV 2009 R2
and beyond ...
Christian Abeln,
[email protected]
Session Content
• 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
Use of RTC AddIns in R2 and beyond ...
Business data & processes
Monitor
Query
O-Data
Client Extensibility
Interop
Async, Performance
Managed data layer
Dev tools
...
A sample: Lync communication AddIn
NAV R2 Extension Models
Database
Tier
Service Tier
Client Tier
Client
Add-In
Role Tailored
Client
Form Builder
.NET
interop
Data Binder
Web Services
Client Services
Application
Meta data
provider
.NET
interop
Class Library
Microsoft SQL Server
Client
COM
X
X
Server
COM
Three steps when using Add-ins
Copy
Add-in
Register
Page
design
Your solution
Using Add-ins in the RTC
1. Place Add-in assembly in the ”Add-ins” folder(s)
2. Register the Add-in
Registration Tool blogs.msdn.com/cabeln
Using Add-ins in the R2 RTC
3. -> Select Add-in in Page Designer
-> ‘Document’ based communication
-> Add-In in trigger ”OnControlAddIn”
Making of Control Add-Ins
1. Microsoft Visual Studio
optionally :
Visual Studio Templates for Add-ins
blogs.msdn.com/cabeln
2. Extensibility assembly
(Microsoft.Dynamics.Framework.UI.Extensibility)
3. Existing or new control
Three steps when creating Add-ins
Add-in
class
Create
control
Data &
Events
Your Add-in
Add-in API: Concept
• 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
Let’s create a Document Viewer Add-in
Step By Step walk-through
to create and integrate a
Document Viewer Add-in.
Inside the Add-In API
Add-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 API
Add-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 API
Add-in base class library
Inside the Add-In API
Add-in base class library
The best way to use the API ?
A ViewModel based Add-in project
ViewModel:
How to show
ViewModel:
How to show
Client
Add-In
Application
Viewdata:
What to show
Viewdata:
What to show
Visualization
Control
RoleTailored client
Service Tier
XML
Web Services
Client Services
Application
Meta data
provider
.NET
interop
Class Library
Client
AddIn
Client Tier
Service Tier
A ViewModel based Add-in project
Role Tailored
Client
Form Builder
.NET
interop
Data Binder
Create an Add-in from scratch
XML binding WPF Add-in
Step By Step walk-through:
Creating a WPF Chart Addin for Dynamics NAV from
scratch.
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