Deploying Access Team Template Across Instances

The Problem

Dynamics CRM 2013 comes up with a new feature called “Access Team”. In this post I won’t discuss about “How access team works?” or “Why should I use access team?”, last year CRM MVP Adam Vero posted a really good article about it: http://blog.crmguru.co.uk/2014/05/16/why-use-access-teams-in-dynamics-crm-2013/ I would recommend to Adam’s article as the base source when implementing access team.

Now, despite of the usefulness of access team to track the record sharing, it does have some problem in the deployment: It is not solution aware and as we need to setup the access team subgrid in the form and the customization XML only recognise the access team template by it’s GUID. So, even you create a new Access Team Template with the exactly the same name you won’t get the access team subgrid right.

One workaround is to modify the form where the subgrid resides, remove the subgrid, then add and configure the subgrid back. This workaround is quite time consuming and quite impractical for ALM, where we need to deploy the solution(s) quite often.

Kingswaysoft to the Rescue

Initially I was thinking that the DataMigrationUtility which is included in the CRM SDK could do the job, but it does not support (does not retrieve teamtemplate entity) the Access Team Template entity. So, Kingswaysoft CRM SSIS Toolkit is the tool that I found could help me in this situation at this moment. Why? It does retrieve the teamtemplate entity and it does assign the GUID of the record to be the same as the original template (in my scenario it would be coming from the DEV environment).

If you need some “getting started” walkthrough to use this tool, I’ve posted an article about it here.

So, I quickly create an Integration Service Project in Visual Studio and configure the data flow as follow:

The package consists of:

1 Dynamics CRM Source (in my case, it’s pointing to my DEV environment)

And depends on how many environment to be kept synced, you might need a multicast to distribute it to any required environments. Then based on the number of environments you require, create the CRM Destination with Upsert action to target team template entity:

with the following mapping:

Run the package and wait until..

Now, I have a repeatable Access Team Template “Deployment Tool” that only takes about 5 minutes to setup, no code and quick 🙂

Leave a comment