Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner...

22
Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation SCREENCAST

Transcript of Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner...

Page 1: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Smart customizationsMicrosoft DynamicsTM AX 4.0

Michael Fruergaard PontoppidanPartner Productivity – Microsoft Dynamics AXTM Microsoft Corporation

SCREENCAST

Page 2: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Agenda

• Overlayering

• How to avoid overlayering

• Unit testing

• Code upgrade

Page 3: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringApplications elements vary in size• Forms and reports are big

• Tables, menus, queries are medium

• Fields, field groups, methods, etc. are small

Page 4: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringEmpty layers• An empty layer is transparent

• Elements from lower layer(s) are used

Page 5: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringCustomizing• Customizing existing elements will

Copy of the existing element to your layer Hide existing elements

Page 6: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringUpgrade conflicts

• During version upgrade conflicts occur when You have customized an element, AND Microsoft has changed the element

= cost = waste

Upgrading costs 30%

of original cost

Page 7: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringLessons learned• Avoid overlayering when possible

• Prefer overlayering of small elements

• Prefer overlayering elements less likely to change

• Creating new elements is not ’overlayering’

Page 8: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Overlayering

Page 9: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Agenda

• Overlayering

• How to avoid overlayering

• Unit testing

• Code upgrade

Page 10: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Avoiding overlayering

• IntelliMorph Use field groups Use extended data types

• X++ Use class substitution

Page 11: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

• Extended Data Types

• Fields

• Fields groups

• Locale

• Authorization

• Configuration

• Personalization

• Preferences

• Regional settings

IntelliMorph

• The User Interface in AX is build at runtime

• Forms

• Reports

• Web forms

• Web Reports

• Menus

Page 12: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

<<Class>>

OriginalNew()Dialog()Run()static Main()static Construct

Class substitution

• Goal Make customizations to a class with as little overlayering as

possible

• Idea Ensure all instances of a class are replaced by a class of

your choice

<<Class>>

SubstituteNew()Run()static Construct()

• Steps1. Create a new class, inheriting from the class to

substitute

2. Change the original class’s Construct method

<<Class>>

OriginalNew()Dialog()Run()static Main()static Construct(usr)

Page 13: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Avoiding overlayering

Page 14: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Agenda

• Overlayering

• How to avoid overlayering

• Unit testing

• Code upgrade

Page 15: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Unit testIn a nutshell• Purpose: Detect regressions

• Test code exercising feature code

• Written by the developer

• Repeatable

Page 16: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Unit testMorphX integrated• Fully scalable architecture

• Recording of code coverage

• Fully automated Outputs to: XML, DB, TXT, etc.

• Supports repeatability

• Supports Test Driven Development

Page 17: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Unit testing

Page 18: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Agenda

• Overlayering

• How to avoid overlayering

• Unit testing

• Code upgrade

Page 19: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Detecting Upgrade Conflicts

Has Microsoft modified the

element ?

Are our changes

identical ?

Have you modified the element ?

Delete (obsolete)

Add to projectIgnore

No No

NoYes

Yes

Yes

Page 20: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

OverlayeringUpgrade conflicts

• During version upgrade conflicts occur when You have customized an element, AND Microsoft has changed the element

Page 21: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

Upgrading smart customizations

Page 22: Smart customizations Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.