One of the items frequently requested, especially in large deployments of Microsoft Dynamics CRM, has been the ability to control Outlook client synchronization. CRM for Outlook provides a fantastic bi-directional synchronization between CRM and Outlook for Contacts, appointments, tasks, and other activities, but in some organizations, business requirements dictate that some or all of the synchronization be disabled, or that the settings not be user modifiable.
With CRM version 4.0, there were SQL database updates that could be used to prevent some types of synchronization, but they were unsupported and could often be overridden by a user updating his CRM for Outlook settings.
Also, contact synchronization options in CRM 4 are based on the user’s local data rules. By default, when users are created, their local data rules default to contacts owned by current user. While this worked well in some situations, in many cases, this either resulted in the user’s Outlook contacts being filled with too many contacts (if they own many contacts), or the contacts that they want to have not being synchronized to their outlook contacts. While this could be fixed by updating the user’s local data rules, it was often a surprise for users who just installed the client without first making modifications to their settings.
With Microsoft Dynamics CRM 2011, Microsoft has introduced a supported method for setting synchronization setting and controlling them from a global perspective.
First thing you will notice is that in CRM 2011 for Outlook, there are no more checkboxes to enable/disable synchronization for tasks, contacts, or appointments. Now everything is controlled through the local data rules, which are now called Outlook Filters.
Now for CRM 2011 for Outlook, you will not only see Outlook Filters for contacts, you will also see one for each activity type. These still default to the records that you own or are to which you are a party (such as appointments you are attending). However, you can now change the filter rules to change what activities synchronize to your calendar.
Imagine a sales manager who wanted to see all appointments involving someone on his team—he could update his outlook filter and include records where the owner of the appointment was on his team.
Also, if someone wanted fewer appointments or tasks to synchronize than everything owned by her, or wanted to turn off task synchronization,you can modify her filter rule for tasks, or disable it altogether.
Controlling Synchronization Filters
So what do you do if you want to control Outlook Filters for all of your users—say you want them to get a different set of filters than the default “my” filters, or you want to disable synchronization for contacts?
CRM 2011 introduces a new feature called filter templates. Outlook filters are stored in the SavedQuery table of the MSCRM database. Filter templates allow you to set one SavedQuery record as the default per entity, then when new users are added to the system, their data rules will reflect the default filter rules.
See this link from the CRM 2011 SDK regarding filter templates: http://msdn.microsoft.com/en-us/library/gg328205.aspx
So you could create one user, set their Outlook filters to the desired default, then set the SavedQuery.IsDefault attribute to 1 on the SavedQuery records for that user. Then subsequent users will default to these rules.
This gives system administrators much greater control over users default Outlook Filters, but what about preventing users from modifying their data rules later?
If you disable this setting, users will not be able to modify their outlook filters, ensuring that your default settings go unchanged.
Keep in mind that you may not want to do this, especially if you want users to be able to control what record synch/don’t synch; however, if your business requirements dictate limiting synchronization setting modification, this is a welcome addition.