Microsoft has released new flat unified interface. That is very user friendly and have many new features and components introduced. Because of it most of customers wants to upgrade their old UI to new UCI. and Microsoft also forcing new Unified client interface from September to onward on all online environments so customer have to upgrade their systems as forced by Microsoft to adopt the new UCI. Before upgrading to new UCI we have to asses the systems and analyze the customization and steps or work to do after the systems is transform and before the transformation to new UCI. Following are the steps and areas to analyze before upgrade:
- How many Customization done in the systems. Custom control and unsupported Code?:
Analyze the complete systems and understand the how many customization done by you and your team. Field level and form level customization will automatically transform by Microsoft to new version but the custom Like Web resources, custom controls, pages and Custom code like Custom Workflows and plugins will not convert automatically to latest version, need to change their code to latest version and SDK manually.
A tools from XRM ToolBox for Dynamics 365 V9 script Validator help you in identifying the unsupported JavaScript which is not compatible as per V9 UCI SDK.
Script Validator will not help you in identifying Custom pages, plugins and custom workflows.You have to analyze the code manually and identify the depreciated methods need to update as per latest API's. Update your code to latest framework version 4.6.2 and compile and update your DLL.
- Need to identify unsupported javascript and change the every Xrm.Page to formContext and pass execution context in every event registration like Onload, onSave and onChange etc?
Xrm.Page is depreciated in this release. Xrm.Page is not supported in this V9 version. As per micosoft V9 SDK, Xrm.Page is replaced with formContext for reference: formcontext-ui and formContext is get from executionContext for reference: execution-context.
Use tools Dynamics 365 V9 script Validator from XRMToolBox help you in identifying the unsupported JavaScript which is not as V9 UCI SDK. Export unsupported code list in tool into any sheet. You have to analyze the complexity and length of web resources.
Change the Xrm.page to executionContext. Get the formContecxt from executionContext and get form controls like fields from formContext. When Xrm.page is replaced with executionContext, pass the execution as first parameters in event registration of every function like Onload, OnSave and onChange.
- How many custom controls and HTML Web Resource used?
Identify the Numbers of HTML web resources, Custom control and custom pages if you have embedded in your form and navigation areas. Identify the Iframe if any used because Iframe is not supported in V9 anymore.
Use CDS Apps likes canvas app in replacement of HTML controls and Custom pages. If you need to use HTML web resource as per your business requirement then use supported functions to get the context in HTML Webresource like to use "getContentWindow" in place of "parent.Xrm".
- CRM Dialog replacement with CDS apps?
Identify the numbers CRM Dialogs used in your systems and replace them CDS App like canvas etc. CRM Dialogs is completely discontinued from new UCI release.
- Change of REST calls into web api's.
In V9 Unified interface, systems not support much sync calls. In UCI rendering behaviors, systems 1st load the Web resource and after that load the controls. when systems have many sync calls, in that case system get busy in loading the web resources and main UI is halted. and user experience is completely disturbed. So it’s better and recommended to use the Web api calls rather than using of HTTP Sync and Async calls.
- For On-prem systems, you need to perform the data migration activity as well?
If you are doing upgrade of On-prem environment, then you have to plan data migration part as well if it’s not an in place upgrade. If you are migrating from Dynamics CRM 2016 to Dynamics CRM 365 then most probably it will be in-place upgrade and you don’t need to migration.
For Data Migration, you can use SSIS, Kignswaysoft and scribe etc.
- How many custom buttons? Need to change the custom buttons commands as well.
Identify the no of custom buttons because you have to change the custom button commands as well for UCI. and pass the PrimaryControl as execution context.
- How many required lookup's? How many required lookup creation(1:N)?
Identify the numbers for required lookup for New creation of records (1:N). In Unified interface, Lookup creations navigate you to new window and you can’t navigate without saving record and due to required lookup's you can’t save any record. And you stuck into this and lost your entered data. Two ways to resolve this,
Quick create Forms:
You have to enabled the quick create form and setup it as per your need but as we know Quick create forms have many limitations. Then go for second option.
Navigation (Client API reference):
Use Xrm.navigation API and use openform or NevigateTo method to open entity form in creation mode. For details check the reference link: XRM Navigation
- Identify the roles base User flows?
Because for Online systems after upgrade you have to create Roles base model driven app’s for Users. Designs app’s as per there business flows. Add and remove components as per their business and usage and hide the other components. Like remove the extra views from user based app’s.
11. Are you are using outlook client for email tracking?
Then you need to do changes as the Outlook end as well. after upgrade dynamics 365 outlook client mailboxes get disabled. and you cannot track your emails into CRM and set regarding. both options are disabled and you have to enabled the mailboxes as well for each outlook client users as well. mark the time of outlook client enabling in your upgrade as well.
For enabling mailboxes again after upgrade and resolving the tracking issue follow the below link. steps are mention in detail in that blog.enable mailboxes after upgrade and resolve email tracking problem
You can comment and massage me for any discussion and any point i have missing in my assessment activity.
*This post is locked for comments