Microsoft Dynamics 365 Blog

Among a rich concourse of features being offered by Microsoft Dynamics CRM 4.0; one is Data Migration Manager.

This tool provides a highly automated user interface which assists the user through the complex migration process with the help of a Wizard. To achieve this we have used the navigational UI model for the wizard which literally cradles user as he/she proceeds for migration resulting in minimal usage complexity and helps the user to avoid making mistakes.

Let’s have a sneak peek into how navigational model works and assists during migration. DMM (Data Migration Manager) being extremely useful for migration can also be used to edit and generate data maps . It therefore provides huge potential to pick among the no. of options and, modify your choices while moving back and forth through multiple navigation options: back/next or the navigation tree. The navigation tree in the left of wizard organizes information in a tree layout with each page acting as a tree node, allowing you to navigate the tree, as well as expand and collapse tree branches. It saves you multiple back/next clicks to access a page. The user input is always persisted whether you leave the page by clicking back/next or any other tree node.

The extent of mobility freedom provided in wizard would have led to the invalid and incomplete decisions taken by user. Here is when its efficient navigation framework comes to rescue. Instances where user has not provided sufficient information like some mandatory field missed, invalid selection made or incomplete information provided for any mapping; the wizard prevents user proceeding for migration. The user can however chose to go back and change her choice at any point of time.

Here are some scenarios which exemplifies the usage of navigation feature:

Scenario 1:

1. Nancy starts migration in standard mode with source data and selects an incorrect delimiter(in this case – Single quotation mark ) and proceeds for parsing :


2. Once the files are parsed and she is prompted for entity mapping she realizes that she selected the invalid delimiter. She clicks directly on Delimiter selection page through Nav-tree and now chooses the correct delimiter(Say Quotation mark – “ )


As soon as she changes the delimiter; links to all the subsequent pages in the Nav-tree on the left side of the wizard is disabled. The wizard enforces Nancy to reconsider her selections on all pages that follow the ‘Delimiters’ page to make sure that those selections are valid even for the new delimiter. clip_image006

Nancy can now either choose to parse the files again with correct delimiter by pressing next or she can reselect the earlier delimiter to preserve her earlier changes. In the latter case, mapping information provided by her will be preserved even when the nodes are re-enabled.

Scenario 2:

1. Chris starts migration with a map in standard mode and succeeds to get some files auto mapped .He then provides mappings for unmapped columns.


2. At this point he uses navigation tree to review entity mappings and chooses to create a custom entity for the source file “Case “which he mapped earlier to CRM entity “Case”.

3. As soon as Chris chooses the option “Create a custom Microsoft Dynamics CRM Entity” the forward navigation is disabled to prevent Chris from proceeding without giving the required mapping information for the custom entity to be created; for instance- its display name, primary attribute, owner attribute, custom attributes of new entity etc.


The navigation would not be enabled until the information for custom entity’s last attribute is provided. Hence Chris is safeguarded against proceeding with incomplete information and encountering errors later in migration.


So, while you jump back and forth in the wizard, to make the selections that suit you the best, rest assured, DMM won’t let you lose your way.

Sonal Sawhney

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!