Understanding Solution Cloning feature in detail in Dynamics CRM 2016

In my previous posts, I explained in detail two new features of CRM 2016, solution segmentation and solution patching. To view the posts you can refer to the below links.

Solution Segmentation – https://debajmecrm.com/2015/12/22/understanding-solution-segmentation-in-detail-in-dynamics-crm-2016-create-a-solution-with-just-what-you-need/

Solution Patching – https://debajmecrm.com/2015/12/23/simplify-your-deployment-with-the-new-solution-patching-feature-in-dynamics-crm-2016/

In this article, I will cover in depth another new feature introduced in the CRM 2016 which in Solution Cloning. To understand solution cloning, an idea of solution segmentation and solution patching is absolute necessity. So in case you are new to the concept of solution patching, I would suggest you go through the above posts before continuing with this blog post.

Well, too much of suggestions I guess. Smile So before you get bored lets jump straight to the topic of solution cloning.

For this demo, I have created a solution ‘Solution A’ with the account entity. The following are the components which I added for the account entity.

  • Main Form
  • Active Accounts (Public default view)
  • Fields
    • donotemail
    • donotfax.

image

 

Now I go ahead and create a patch for the solution A. In the patch I add an additional field ‘description’.

image

 

Now I go ahead and clone the base solution that is ‘Solution A’. Remember that CRM allows cloning of base solution only and not the patch solution. Once you select the base solution and click on ‘Clone Solution’, you are presented with a dialog to choose the version number.

image

Remember that in solution patching, you are only allowed to change the build and revision numbers of the version number of solution. However since you are cloning a solution, you are basically creating a new base solution from the previous base solution. So here build and revision numbers are non-editable. However you can change the major and minor versions.

I keep the same numbers for major and minor versions. And then click on Save.

The fun part comes here. The moment you click on Save, a new solution with the version number mentioned 1.1.0.0 is created. However the base solution – Solution A and all its patches are deleted. And all the components of the base solution as well as the patches are merged in the main solution.

image

I added the field ‘donotemail’ and ‘donotfax’ in the base Solution A and the field ‘description’ in the patch of solution A. The new cloned solution has all the three fields.

If you see the description of of the newly created solution, it clearly states – ‘Upgrade of solution A’.

image

Please remember that when you clone solution, the base solution and all its related patches would be deleted and would be merged into a single solution. So if you intend to keep on the patches, you have to keep this in mind.

I was honestly hoping that once we click on the Save on the clone dialog, it would explicitly mention that all patches of the base solution along with the base solution would be deleted.

Hope this helps!