Microsoft Dynamics Technical Conference, 2016 / Day 3 Session 4

My report from the technical conference.

 

For the last session in the conference šŸ˜¦Ā , I went to Code Migration to the Latest Release of Dynamics AX with Kiril Val, Senior Solution Architect.

 

This was kind of a gimme for me. I had already been to Kiril’sĀ five day code upgrade workshop given for ISVs in October. (Secret: The Seattle area photos Iā€™ve put in a few of these blogs are actually from then. I didnā€™t get time to tourist this time.) I wanted to see how it came together, perhaps contribute, and note differences between a CTP and the RTW.

 

I noted that the last part, ā€œWhat I wish I knewā€ is crucially important. These contain real pain points that were hit along the way.

 

 

Session Objectives

  1. Understand code migration approach for Dynamics AX and beyond
  2. See a real solution being migrated
  3. Discover how to prepare for Dynamics AX
  4. Learn developer’s tips and tricks for the code upgrade

Out of scope: Data upgrade

Data upgrade we hope to have available with update 2 perhaps 6 months. Also perhaps data migration from 2009.

 

 

 

How did we get here?
– AX 2012 Migration

  • Challenging
  • Dynamics AX goals
    • Seamless, Easy, Predictable
  • Existing Momentum
    • Code migration started with partners March 2015
    • Partner readiness well underway

“We are as close as it gets to a magic button”

 

 

Dynamics AX Code Migration

IMG_2213

AX 2012 to current Dynamics AX

  • All types convert as is, major exceptions:
    • Enterprise Portal is not supported in current Dynamics AX and needs to be rewritten
    • Custom client controls will not run in current AX
    • Document Services are not supported in current AX
    • Form parts are replaced by current AX form parts
    • Cues
    • Visual Studio Projects

 

 

Migration Process

IMG_2220

Those steps are important

The manual part takes the most time

 

Q&A: Document services replaced with entities

2009 to AX7: Data migration is preferable to data upgrade

 

Demo

Export modelstore

Zip it

LCS > Create project > Project settings > Azure connectors

Connect lcs project to azure and vice versa using certificate

Connect Visual Studio Team Server account

VSTS > Profile > Security > Personal access tokens

Deploy environment, recommend Azure. Issues locally with multiple developers. D13 or D14 are good machines. Use V2 for dev machine. D4 for build machine

Code upgrade > create job. Estimate only does not check anything in to Visual Studio

You can’t upgrade only one project, one model – you must upgrade the entire modelstore

Build box will be connected to VSTS automatically

Build machine can be changed: continuous integration

Recommend upgrade from R3 CU10, but the tool will accept lower versions

VSTS > project > code

 

What’s really happening?

Model management is there

IMG_2221

Auto-migration rules

How does auto migration work?

Best Practice Framework

What is auto-migrated?

  • Renamed and deprecated APIs, metadata
  • Apply form patterns
  • Deprecated controls (e.g. Segmented Entry Control and Dimension Entry Control)

 

 

Manual Upgrade

Use LCS links within your project

  • Unparseable files
  • Conflicts
  • Compile errors
  • Package/Model split extensions, events and delegates
  • Form patterns
  • Modern reports and BI

Tip: Use LCS for whitepapers and patterns learning

 

 

Demo

Manage workspaces, get latest, 3 solutions. 1. unparseable, 2. code merge, 3. upgraded

Open code merge solution

Building from the solution won’t work the first time

Build from Dynamics AX one at a time bottom up

 

Am I done?
This is for solutions to be on the marketplace

How to make it a “Dynamics AX” Solution

  • Build your workspaces
  • Get 100% coverage of form patterns
  • Build your entities
  • Extend or create rich controls
  • Extend base AX (where possible)
  • Integrate rich BI scenarios
  • Fix BP errors and TODOs
  • Record your task guides

 

 

LCS Solution Overview

IMG_2226

Dynamics AX to Dynamics AX upgrade

Goals

Automate build to build migration

Keep history (check-ins and work items)

Trunk/main is your primary development branch

 

 

Branch Management

  1. Stop development on trunk\main
  2. Run VSTS migration
  3. Integrate from releases\version => trunk\main
  4. Complete trunk\main upgrade
  5. Done!

 

 

Preparing for the upgrade

IMG_2229

I wish I knew this before I started my upgradeā€¦

  • Run Visual Studio as Administrator
  • Embrace and love extensions and delegates
  • Build packages from AX7 menu – not build solution
  • Do not import Microsoft hotfixes to AX2012 as XPOs
  • Check full error log if an error does not make sense (the full error log is in the model folders)
  • Save $$$ by using Azure Automation Runbooks to shut down development environment overnight
  • Remember to “Add Solution to Version control” to ensure your new elements are added to VSTS
  • Check-in “Descriptor” file for your model to VSTS else your automated build will fail
  • Do not customize Microsoft report designs, copy them instead. When Microsoft reports are updated they will be reimplemented, losing your changes
  • If unsure how to upgrade a pattern, compare Microsoft code of AX2012 and the new Dynamics AX

 

There are deprecated APIs including filesystem ones

 

Happy DAXing!

 

About janeteblake

Dynamics AX developer
This entry was posted in ax 7, AX7, Dynamics AX and tagged , , . Bookmark the permalink.

2 Responses to Microsoft Dynamics Technical Conference, 2016 / Day 3 Session 4

  1. Abdul Kadar says:

    Hi, Thanks for the details. Well explained. We just wanted to understand how do we go about and deploy the external DLL that we rely on for our ISV solution thru LCS. When we build the Package, does the external DLLs come part of the package, if no, where do we need to copy the external DLLs over for the app to consume it. We understand the way it works in Local hosted VM, but looking for an answer with Azure hosted environments. Much appreciate your help here!

  2. janeteblake says:

    They did not really talk about that. They much prefer curated solutions – the ones on Azure marketplace. You sound like you want to code upgrade your ISV, which may not be the best approach. The curated solutions go through much more control and quality checks. HTH!

Leave a comment