Skip to main content

Notes on Upgrading from Microsoft Dynamics CRM 2011 to Dynamics CRM 2013


The following are notes on upgrading from Dynamics CRM 2011 to Dynamics CRM 2013 from InfoStrat’s Dynamics CRM lead Dmitri Riz.

In many ways, the upgrade to Dynamics CRM 2013 is less painful than the transition from version 3.0 to 4.0 or from 4.0 to Dynamics CRM 2011.  In general, if your site has been already upgraded to CRM 2011 Rollup Update 12 or later, you shouldn’t experience significant issues with updating to CRM 2013.

The upgrade process falls into following large categories:

     1.       Find incompatible/legacy code and update it
     2.       Upgrade to 2013 (if using on-premise)
     3.       Review and refactor the user interface (UI) to adopt the new form and navigation paradigm.

Dynamics CRM 2013 removes all support from legacy 4.0 features. All references to objects like crmForm or 2007 web service endpoints such as ‘…/mscrmservices/2007/crmservice.asmx’; ISV folder, CRM 4.0 plugins are all unsupported and should be replaced with updated objects.


Note: The Dynamics CRM 2013 Custom Code Validation Tool will likely generate many false positives, for example, if you are using jQuery or similar libraries.

On-premise upgrades can be done by installing CRM 2013 and following these steps:

-          Importing the Dynamics CRM 2011 solution or backing up the Dynamics CRM 2011 database, restoring it in a new location and importing new organization into a fresh CRM 2013 instance using deployment manager.

or
-          Dynamics CRM 2013 supports in-place upgrade which can convert existing Dynamics CRM 2011 server into 2013. This is not recommended for production environments, however.   If you choose to use the in-place upgrade, you must ensure that RU 14 or 15 are installed on your Dynamics CRM 2011 server first.

then
-          Testing the new organization to validate that all custom features and extensions are functioning properly


The user interface and navigation in Dynamics CRM 2013 have changed significantly.

The most visible changes are the dramatically reduced number of popups (new data and entity windows tend to load into the same page) and complete redesign of navigation options.

Your upgraded Dynamics CRM 2011 solution will benefit from a thorough review of both navigation options and form layout. Left-nav bars of Dynamics CRM 2011 are replaced by a collapsible top-of-the-page ribbon control in 2013. While it conserves a lot of usable space on the form, it may lead to negative effects on converted solutions, especially when Dynamics CRM 2011 solution has many deep hierarchies and customized navigation bars. In Dynamics CRM 2013, this navigation gets flattened, which leads to essentially a one-level layout with a potentially very long breadcrumb-style nav elements at the top of the page, which can be hard to visualize.

Spend some time redesigning and organizing site hierarchy, paying attention to simplifying the layout and making sure your users can navigate through parent-child chains easily.

After upgrade, all your forms will function. Microsoft didn’t change FormXml definitions.

However, for some of the entities you will get a few additional forms. In the screenshot below, Information form comes from the Dynamics CRM 2011 solution, while the Case form is an OOB new process-driven Case UX form.

You can use both forms, or merge them. If during the upgrade issues are detected, they will be added to Conflicts tab at the bottom of the upgraded form.
 
 

Since Dynamics CRM 2013 introduced the auto-save feature, and it is turned on by default, determine if it might lead to potential issues, especially if you are using plugins triggered by an Update message. If a plugin is prone to consume significant resources, or if it introduces long-running operations (such as invoking transactions in remote systems), it might reduce overall system performance and introduce adverse effects if it is invoked often as a result of auto-save operation.

Finally, custom JS code might need to be reviewed and adjusted. One of the major enhancements in 2013 is an introduction to asynchronous data saving, auto-saves and reduction in the number of popups and screen reloads. A couple of scenarios below illustrate potential issues with legacy custom code:

-          Custom JS code executes during page load and loads certain resources. In Dynamics CRM 2011 each form save triggered complete window reload. In Dynamics CRM 2013 it doesn’t happen anymore. Even after first save on a New record, the window doesn’t reload. Load event however will still be triggered, which may lead to legacy Dynamics CRM 2011 JS code loading same resources multiple times.

-          In Dynamics CRM 2013, an entity form can be displayed within the main CRM window, or can be displayed in a popup form. If you load custom code that manipulates DOM (which technically is unsupported, but in practice might be unavoidable for complex scenarios), for example, to replace certain screen element (such as text box) with a generated on the fly HTML (e.g. graphical button displayed an image from JPG web resource), you will notice that relative URLs are different between inline and popped forms and your DOM code needs to be modified.

After ensuring that converted site runs correctly and looks good, take a look at such new Dynamics CRM  2013 features as quick create forms, entity preview options, Bing maps integration and business rules. Some of these new options may replace or enhance pre-existing customizations.
 
Upgrading to Dynamics CRM 2013 provides an opportunity to streamline the user experience and add the new features that may have been lingering in your user request backlog. 

Popular posts from this blog

Key Concepts for Microsoft Dynamics 365: Tenant, Instance, App and Solution

To understand Microsoft Dynamics 365 (formerly Dynamics CRM), you need to learn some new terms and concepts that may be a bit different from what you know from databases and solutions that are hosted on premises. This post introduces some of the key terms and how these concepts are important for planning your implementation. While Dynamics 365 is available on premises, it is most commonly deployed on the Microsoft cloud.  This blog post discusses only cloud implementations. Microsoft has multiple clouds such as commercial and government community clouds. We start with a Microsoft tenant .  A tenant is the account you create in the Microsoft Online Services environment (such as Office 365) when you sign up for a subscription. A tenant contains uniquely identified domains, users, security groups, and subscriptions.  Your tenant has a domain name of .onmicrosoft.com such as acme.onmicrosoft.com.  User accounts belong to a tenant, and subscriptions are assigned to user accoun

Replacing Microsoft InfoPath with Power Apps

Source:  https://powerapps.microsoft.com/en-us/infopath/ Microsoft has offered a number of forms automation products over the years, and the most long running was InfoPath which was released as part of Office 2003.  InfoPath is a powerful and flexible product that stores user data in XML while offering form features such as rules, data validation, scripting, and integration with SharePoint.  The popularity of SharePoint resulted in many organizations standardizing on InfoPath for forms, especially internal forms which are hosted on an intranet such as employee reviews, leave and payment requests, and human resources forms. Microsoft has discontinued InfoPath, with mainstream support ending July 13th, 2021, and extended support ending July 14th, 2026. Microsoft has named Power Apps as the successor to InfoPath .  Power Apps has much in common with InfoPath.  Both products include integration with SharePoint.  Both are geared toward the citizen developer and do not require advan

Understanding Dynamics 365 and Office 365 Admin Roles

Managing Dynamics 365 instances If you run Microsoft Dynamics 365 (formerly Dynamics CRM) in the Microsoft cloud, you need to understand how your Dynamics instances relate to Office 365 and choose which of your administrators receives which roles and permissions to manage Dynamics 365. In on premises deployments, your network administrator would create and delete user accounts.  The Dynamics 365 admin would then assign permissions to users in Dynamics 365. This post explains three administrator roles: Office 365 Global Administrator Dynamics 365 System Administrator Dynamics 365 Service Administrator You may think that the Dynamics 365 system administrator would have power to do all the actions needed to manage Dynamics 365, but this is not the case. What's different in Microsoft cloud deployments is that licenses and user accounts are managed in Office 365 by an Office 365 Global Administrator.  This role is analogous to a network administrator for an on premises