We all want to stay with the latest version.
After all, it’s the version with the greatest features, better interface, and enhanced performance. But the task of staying up to date is not as easy as it seems. For CRM, things were going more slowly early on; there was a major release every two years. Developers had time to perform an upgrade without rushing.
Nowadays, Microsoft is pushing major upgrades ever year. Not saying that it’s a bad thing in any way, but the upgrade process needs to be done faster or else, by the time an upgrade is completed, a newer version will already be out.
As of now, Dynamics 365 is the newest version out there.
That’s the version in which Microsoft decided to group some of its major Dynamics players into one solution to cover the main areas in a company’s business. Even though there is an on-premise version of Dynamics 365 (it comes as an update on Dynamics CRM 2016), Microsoft is really pushing for Dynamics 365 on the cloud. I will talk about the things to keep an eye on if the move is from on-premise Dynamics CRM to Dynamics 365 (Note that, from now onwards, whenever I mention Dynamics 365, I’m talking about the online version).
What to Know Before the Migration
- When you go online, you no longer have the same control you have with an on-premise deployment. The CRM App and SQL server are installed in the cloud (technically, on Microsoft servers in some data center) and you won’t have direct access to them. (Say goodbye to the days of changing data values directly from the database).
- Database indexing will be completed by Microsoft support engineers from now on.
Should You Upgrade to the Latest Version?
If you don’t have the latest version of Dynamics CRM installed, you need to upgrade all the way to the latest version available. (As of May 2017, update 2 “Dynamics 365” on Dynamics CRM 2016). In order to do that, you’ll need to go through all major CRM versions.
For instance, if you have Dynamics CRM 2011 installed, you cannot jump directly to Dynamics 365 on-premise. You’ll need to upgrade to Dynamics CRM 2013, 2013 SP1, 2015, and 2016, and then install the latest update to 365. This upgrade process can take a long time and, the older the CRM version installed, the harder it will be to upgrade because of all the customizations and codes that have been deprecated.
This step is necessary because, in order to move your customizations to Dynamics 365, you’ll need to import your solutions, which have to be exported from a CRM with the same version.
Take Another Look at Your Customizations
1. Main CRM Customizations
These include custom entities and global option sets, workflows, and anything you can basically find in a Dynamics CRM solution. These will need to be imported as solutions to Dynamics 365. They can be grouped into one big solution to be imported in the new Dynamics 365 instance before the data is migrated.
Note that if you have managed CRM solutions, these cannot be exported from the on-premise version; you’ll need to get a newer version directly from the original solution provider.
2. Custom ASP.net Pages
A lot of on-premise Dynamics CRM projects include custom ASP.net pages that implement certain features that are otherwise limited in CRM forms. In Dynamics 365, these custom pages will not work anymore. You’ll need to replace them with new entity forms or custom web resources that use JS.
3. Plugins
All plugins need to run in the sandbox in Dynamics 365. When they run in the sandbox, plugins cannot access third-party DLLs. Also, if upgrading from a version older than Dynamics CRM 2011, make sure you update the plugin code because of the SDK changes. In addition, if there is any code that directly accesses the CRM database, it should be replaced to pull and push data using the SDK-provided OrganizationService.
4. Reports
As we said before, direct database access is not available. This means that all SQL-based reports will need to be developed again using fetch-XML in order to run on Dynamics 365. This can be a bit limiting, as SQL queries can be a lot more complex than fetch-XML queries, but the workaround is to use sub-reports to access more levels in the database.
5. JavaScript
This one depends on which Dynamics CRM version you’re coming from. If you’re upgrading from an old version of Dynamics CRM, some things in JS are no longer supported (for example, SOAP calls to the 2007 endpoint, the way to get the server URL for oData queries, etc.). Some of these changes will not allow you to go forward with the upgrade (e.g., SOAP 2007 endpoint), while others will go through but break after the upgrade. Also, it is recommended that you remove any JavaScript code unsupported by Microsoft (like accessing the DOM elements) because, even if they don’t break now, there’s no guarantee they will work in the next update.
6. Data Migration
This will probably be the biggest step in the whole migration process, depending on the size of the database, of course. To migrate all your data to the cloud, it is recommended that you use a third -party data migration tool (Scribe is popular for this). You need to create mappings for the records and let the tool do the job. This step really depends on which tool is being used and how big the data is but there are plenty of step by step guides to get you through it.
Enjoy the move!
After all of the above is taken into consideration and taken care of, enjoy a smooth migration to the cloud and explore the loads of features that Microsoft blessed us with.