Sunday, 25 January 2015

Connecting to CRM 2015 from 2013 Outlook client

With Dynamics CRM 2015 being rolled out to most online organisations now, it is tine to decide for Outlook client. For most organisations this needs to be a roll out strategy as to when to roll this out to all client machines. To enable organisations making this decision, it is first required to check  what versions are supported.

In order to upgrade to the 2015 Outlook client, you must be on Outlook 2010 or higher.  As long as Dynamics CRM is not used in offline mode, users having CRM 2013 outlook client will be able to connect to CRM 2015 server.  (i.e., no offline capabilities will be supported). However all client machines must have Dynamics CRM 2013 Outlook client at the minimum.

Dynamics CRM 2013 Outlook client can be downloaded from the given link below:

The recommended process for upgrading your Outlook Client for Dynamics CRM is following.  This process will ensure users are able to continue to use Dynamics CRM and their Outlook Clients during your server upgrade to Dynamics 2015.
  • Conduct what's new training for all users for Dynamics CRM 2015
  • Upgrade your server to 2015
  • Conduct a short training for Dynamics CRM 2015 outlook client
  • Upgrade all Outlook Clients to 2015
For complete list of pre-requisites refer to following TechNet article:

Outlook client for Dynamics CRM 2015 can be downloaded from the following link:

Hope this helps!!!

Friday, 9 January 2015

Form Performance in Dynamics CRM

There are many times when we have to make a choice between how much to display on a form versus it is taking too long to load.

This is a complex question to answer as there is no rule of thumb to guide and answer this question. However there are few key considerations that must be made while deciding on form layout.

It is always best to start the form design as agile as possible. Take the client in the journey with you and help them make the decision in terms of what fields to display on the form. If the field is not one of the fields that the client wants when they open the form, do not display on the form. There are other ways to get the data like Advanced Find.

Do not overload the form with a lot of scripts. More complex and convoluted the script, more time it will take to load the form. There are new features available to avoid a lot of scripts / rules on the form. Consider using different forms for different roles.

Avoid loading a lot of related entities. This is a lot of times a main killer for the performance. It is great from the user experience perspective to get all the data on the form but loading more than what the client needs is overkill. Users can always get to the related entities from navigation pane.

Do not have long running synchronous processes. It is never a good idea to write a synchronous process for things like external fetch. It is always good idea to write a background / asynchronous plug-in for this to make sure client does not wait for the form to load / save for a long time.

Hope this helps.

Friday, 2 January 2015

Migration Strategy for Dynamics CRM

I was asked recently to suggest what is the best strategy for Migrating medium ( 1000 + ), large (Million +) records to Dynamics CRM.

It is a complex question and relies on many things like complexity of data model and ability to perform all validations outside system. However the following things must be considered to make sure maximum through put can be achieved.

1) Do not rely on plug-ins while data in inserted.

At the time of migrating large data, it is best if SQL can work only on inserting data. If SQL needs to perform additional fetches to perform additional validations, performance will be affected. Hence to increase performance, switch off all plug-ins.

2) Turn off all workflows.

Workflows are not designed to help correct / update data during migration. It is best to make sure data is inserted first and if need be trigger workflows in batch for 1000 records at a time after data is inserted.

3) Prepare and validate data before running migration

It is critical that all data is validated before data is inserted into Dynamics CRM to make sure it meets business validations. Also, staging area needs to be setup where data is transformed in CRM like structure to easily map data as 1-to-1 for most tables for Dynamics CRM. This will make sure that a lot of complex queries are not needed during migration. It is a well known fact that if a lot of joins are needed for queries, performance will be affected.

4) Optimised servers

This is the most important factor for migration. At the end of the day it will rely on how much network bandwidth is available and how much physical grunt the servers can take at a given time. Make sure the servers are optimised for gaining better performance. There are many articles for this. Here is link to few of them for CRM 2011 but most are still relevant for 2013 and 2015:

Microsoft has completed bench mark tests for migration and links for this can be found here.

Hope this helps!!!