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.
Use the Legacy Feature Check tool (http://go.microsoft.com/fwlink/p/?LinkID=309565 ) and CRM 2013 Custom
Code Validation Tool (http://blogs.msdn.com/b/crm/archive/2012/06/21/microsoft-dynamics-crm-2011-custom-code-validation-tool-released.aspx).
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.