Skip to content

Examples

Kevin Lee edited this page Apr 8, 2019 · 18 revisions

Examples

Example 1

The is a simple example of the configuration files for active Contacts.

  1. Schema File
<entities >
  <entity name="contact" displayname="Contact" etc="2" primaryidfield="contactid" primarynamefield="fullname" disableplugins="false">
    <fields>
       <field displayname="First Name" name="firstname" type="string" />
       <field displayname="Last Name" name="lastname" type="string" />
       <field displayname="Parent Contact" name="parentcontactid" type="entityreference" lookupType="contact" />
       <field displayname="Contact" name="contactid" type="guid" primaryKey="true" />
       <field displayname="Home Phone" name="telephone2" type="string" />
       <field displayname="Mobile Phone" name="mobilephone" type="string" />
    </fields>
    <relationships />
  </entity>
</entities>
  1. Export Config
   {
     "CrmMigrationToolSchemaPaths": [
        "ConfigDataSchema.xml"
     ],
     "CrmMigrationToolSchemaFilters": {
     },
     "PageSize": 1000,
     "BatchSize": 1000,
     "TopCount": 10000,
     "OnlyActiveRecords": false,
     "JsonFolderPath": "Extract",
     "OneEntityPerBatch": true,
     "FilePrefix": "EX0.1",
     "SeperateFilesPerEntity": true,
     "LookupMapping": {}
   }
  1. Import Config
   {
     "IgnoreStatuses": false,
     "IgnoreSystemFields": true,
     "MigrationConfig": {
     "ApplyAliasMapping": true,
     "SourceRootBUName": "Example1BU",
       "Mappings": {}
     },
     "SaveBatchSize": 200,
     "JsonFolderPath": "Extract",
     "DeactivateAllProcesses": false,
     "FilePrefix": "EX0.1",
     "PassOneReferences": [
     ]
   }

Example 2

The is a example of the configuration files for Team and Queues.

  1. Schema File
<entities xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <entity name="queue" displayname="Queue" etc="2020" primaryidfield="queueid" primarynamefield="name" disableplugins="false">
    <fields>
      <field displayname="Incoming Email" name="emailaddress" type="string" primaryKey="false" customfield="false" />
      <field displayname="Type" name="queueviewtype" type="optionsetvalue" primaryKey="false" customfield="false" />
      <field displayname="Description" name="description" type="memo" primaryKey="false" customfield="false" />
      <field displayname="Queue" name="queueid" type="guid" primaryKey="true" customfield="false" />
      <field displayname="Convert To Email Activities" name="ignoreunsolicitedemail" type="bool" primaryKey="false" customfield="false" />
      <field displayname="Incoming Email Delivery Method" name="incomingemaildeliverymethod" type="optionsetvalue" primaryKey="false" customfield="false" />
      <field displayname="Convert Incoming Email To Activities" name="incomingemailfilteringmethod" type="optionsetvalue" primaryKey="false" customfield="false" />
      <field displayname="Name" name="name" type="string" primaryKey="false" customfield="false" />
      <field displayname="Business Unit" name="businessunitid" type="entityreference" primaryKey="false" lookupType="businessunit" customfield="false" />
    </fields>
    <relationships />
  </entity>
  <entity name="team" displayname="Team" etc="9" primaryidfield="teamid" primarynamefield="name" disableplugins="false">
    <fields>
      <field displayname="Description" name="description" type="memo" primaryKey="false" customfield="false" />
      <field displayname="Team" name="teamid" type="guid" primaryKey="true" customfield="false" />
      <field displayname="Team Name" name="name" type="string" primaryKey="false" customfield="false" />
      <field displayname="Business Unit" name="businessunitid" type="entityreference" primaryKey="false" lookupType="businessunit" customfield="false" />
      <field displayname="Email" name="emailaddress" type="string" primaryKey="false" customfield="false" />
      <field displayname="Team Type" name="teamtype" type="optionsetvalue" primaryKey="false" customfield="false" />
      <field displayname="Default Queue" name="queueid" type="entityreference" primaryKey="false" lookupType="queue" customfield="false" />
    </fields>
    <relationships>
      <relationship name="teamroles" manyToMany="true" isreflexive="false" relatedEntityName="teamroles" m2mTargetEntity="role" m2mTargetEntityPrimaryKey="roleid" />
    </relationships>
  </entity>
</entities>
  1. Export Config
   {
     "CrmMigrationToolSchemaPaths": [
        "ConfigDataSchema.xml"
     ],
     "CrmMigrationToolSchemaFilters": {
     },
     "PageSize": 1000,
     "BatchSize": 1000,
     "TopCount": 10000,
     "OnlyActiveRecords": false,
     "JsonFolderPath": "Extract",
     "OneEntityPerBatch": true,
     "FilePrefix": "EX0.1",
     "SeperateFilesPerEntity": true,
     "LookupMapping": {}
   }
  1. Import Config
   {
     "IgnoreStatuses": false,
     "IgnoreSystemFields": true,
     "MigrationConfig": {
     "ApplyAliasMapping": true,
     "SourceRootBUName": "Example1BU",
       "Mappings": {}
     },
     "SaveBatchSize": 200,
     "JsonFolderPath": "Extract",
     "DeactivateAllProcesses": false,
     "FilePrefix": "EX0.1",
     "PassOneReferences": [
     ]
   }
		```



## Example 3

The installation of the Nuget package will modify the .csproj file to add tasks into the project build process. When the "Clean" command is run on the project, the `ExtractCrmCustomizations.ps1` powershell script will be executed using the configuration files that are mentioned on the [Setup page](https://github.com/Capgemini/msbuild-xrm-sourcecontrol/wiki/Setup) to connect to Dynamics and extract the solution files into the "Src" folder of the project.

## Example 4

The installation of the Nuget package will modify the .csproj file to add tasks into the project build process. When the "Clean" command is run on the project, the `ExtractCrmCustomizations.ps1` powershell script will be executed using the configuration files that are mentioned on the [Setup page](https://github.com/Capgemini/msbuild-xrm-sourcecontrol/wiki/Setup) to connect to Dynamics and extract the solution files into the "Src" folder of the project.
Clone this wiki locally