At some point you’ll need to migrate your Unified Service Desk (USD) configuration from a development environment into a test or production environment. To achieve this you’ll first need to install a vanilla or sample solution into your target environment. You will probably already know how to do this but check out my previous posts if not.
The good news is Microsoft provide a tool to export your configurations and import into a new organisation. The bad news is the tool presents some challenges, which I will discuss in more detail at the end of this post.
Essentially the process involves downloading and extracting the CRM SDK and the CRM UII SDK. Once done you run the deployment tool you’ll find in the CRM SDK. And select a XML schema you’ll get from the CRM UII SDK.
You’ll find the tool in SDK\Tools\ConfigurationMigration folder. And the USDDefaultSchema.xml will be in UII\USD Developer Assets\USD Configuration Tool Schema.
To export your solution follow these instructions;
To import your solution use these instructions;
All simple stuff. Hopefully!
But there are a couple of things to consider ….
- You can accidently import into the wrong organisation. If you don’t tick the box to prompt for a list of organisation names you’ll be importing directly into your default organisation, which typically could be production. And because an import can cause other issues (listed below) this could “hurt” your production instance. So be careful!!
- I have also heard reports that despite picking the correct organisation the import tool can go wrong and revert back to the default organisation. This behaviour was reported to me when using an on premise deployment. I personally haven’t experienced this whilst working with on-line / Office 365 instances. But reports like these do make me nervous! If you mix your production and development environments as two organisations on the same CRM server, I’d recommend taking some backups first. (I’d argue better to be overly cautious.)
- The import process only inserts and updates your hosted controls, actions, toolbars etc. Meaning if you remove anything that change will need to be repeated manually. For example, I had initially based a solution on one of the base sample packages. I had removed several actions / controls I didn’t need but after importing they suddenly appeared again.
- Another thing to watch for is if you rename anything, as this will effectively create a duplicate in your target organisation. I had previously created a test hosted control to support a CTI integration trial. I later renamed this control in the final version. The result was two CTI hosted controls in my final organisation, resulting in an error when USD loads.
- Worse still the order of things seems to matter! Having added quite a few options into my main toolbar I decided to re-order everything. This is simply done by changing the value of the order property. Except this created duplicates when I imported my changed configuration. It made a right mess of my tool bars. See below how I ended up with two search options!
The positive is, despite these problems I managed to import into my target organisation. And it didn’t take long for me to remove any duplicates that were created. But as the solution grows and becomes more complex I may want to take some backups and plan some additional testing!