samedi 28 janvier 2017

#Tips09 Dynamics : Configuration Migration tool - Définir un ID ou champ d'import principal

Si les solutions sont facilement déployées d'une organisation à une autre, les enregistrements CRM ne sont pas aussi facilement gérables.

Pour déplacer des données, on peut identifier trois grands types de traitements :


  • L'outil d'export / import  standard des enregistrements peut être utilisé pour un nombre d'enregistrements limités. Plus le nombre d'enregistrements est élevé, plus le risque de perdre des données est élevé.
  • Dans le cadre d'une grosse migration de données, un projet SSIS est requi. Ce type de projet est long à mettre en place mais permet d'automatiser le transfert des données. Il est possible de mettre en place un transfert "One Shot" ou mettre en place un traitement quotidien sur les données.
  • Pour une migration "One Shot", l'outil du SDK "Configuration Migration Tool" peut être utilisé. Cet outil permet de créer des schémas d'export et d'import. L'outils permet d'injecter les données d'un CRM dans un fichier XML selon le modèle d'export/import réalisé.

Note : Cet article Technet explique avec précision comment réaliser un schéma d'export : Création d'un schéma pour exporter des données de configuration


Ce que ne précise pas l'article, par défaut, le champ principal est utilisé comme identificateur d'import, ce qui est dangereux si deux enregistrements possèdent les même valeurs.
Il est possible d'identifier pour chaque entité
une ou plusieurs clés d'identification spécifique. Il peut s'agir du GUID de l'enregistrement mais vous pouvez sélectionnez n'importe quel champ de l'enregistrement, un ID spécifique custom ou le champ Adresse Email 1, etc...

Cette "clé" permet de gérer les mises à jour de chaque enregistrement. 
A chaque tentative d'import, il n'est pas obligatoire de supprimer les données déjà présentes dans l'environnement cible, c'est l'outil qui est en charge de comparer les enregistrements importés avec ceux déjà présents dans le CRM.


Schéma d'export/import des données avec le Configuration Migration Tool
Comme le montre le schéma précédent, si les deux première étapes sont figées, les scénarios d'export des données dans le fichier XML et l'import des données dans l'organisation cible peut être rejoué indéfiniment pour assurer la mise à jour des enregistrements sans risquer les doublons.


Pour configurer cette clé d’identification par entité, suite à l'ajout d'une entité, cliquer sur "Outils / Configurer les paramètres d'importation" :




A l'ouverture de la fenêtre, chercher le champ identifié comme clé d'import.
(J'ai choisi "contactid" mais n'importe quel champ de l'entité aurait pu être sélectionné)

Cliquer sur "Ajouter le champ" :

 Cliquer ensuite sur "Enregistrer" :


Votre schéma contient désormais l'entité Contact avec une clé d'import précise. A chaque tentative d'import, une comparaison entre les enregistrements importés et déjà importés est réalisée.

Le cas ci-dessus est un cas simple d'import. Les "clés" sont très pratiques dans le cadre d'association entre un enregistrement père et les enregistrements fils.
Exemple : Un contact et ses activités