As I tweeted a couple of days ago, my head has been spinning with Dynamics 365 for Enterprise (D365E) recently ūüôā :

https://twitter.com/joejgriffin/status/850419515401924609

I took a detailed look at the upgrade process involved as part CRM Online organisations last year, and thankfully the process has not changed much. Indeed, the whole upgrade seemed to complete a lot quicker – 40-50 minutes as opposed to over an hour, which was nice to see.

As part of any planned upgrade, you should always endeavour to perform a thorough test of your existing application customisations with an environment running the latest version – either with a spare sandbox instance on your subscription or by spinning up a 30 day trial of D365E. We were quite thorough as part of our upgrade process with respect to testing, and fortunately, the upgrade completed with only some minor issues left to deal with. For those who are contemplating or have their upgrade scheduled in over the next few weeks/months, then there will be a few things that you may need to be aware of ahead of time to avoid you having to deal with any potential problems with your new D365E deployment. With this in mind, here are 3 things from our upgrade process that bear in mind before you make the jump to 8.2:

Switch Off Learning Path in System Settings To Prevent Annoying Popups

Attempting to keep up with the number of new features that Dynamics 365 brings to the table is a colossal task. It was for this reason that I only became aware of the new Learning Path feature. Boasting functionality that is not too dissimilar to products such as WalkMe and available across the whole spectrum of the D365E experience (Web Client, ISH and Mobile/Tablet app), the feature is designed to provide a guided means of training new application users on how Dynamics 365 works within the specific context of your business. Induction and new user training can be one of the major hurdles that can affect the success of a system deployment, so having a very contextualised, built-in and guided process of training and reminding users how to complete tasks within the application can surely be an important tool for any organisation to have at their disposal.

Unfortunately, the feature looks to be a little bit too intrusive from an end user experience viewpoint, as leaving the feature enabled post-upgrade will result in the application attempting to open pop-ups through your browser of choice:

To disable the feature until you are ready to start rolling it out across your business, then you have two options at your disposal:

  1. Direct your end-users to select the Opt Out of Learning Path option from the gear icon on the D365E sitemap area:
  2. Go to System Settings and then select No under the Enable Learning Path option. This is the recommended option, as it will disable the feature across the board for all users:

Modify Your Error Notification Preferences Options for all users

Error messages can occur occasionally within the web application. Generally, these will take the form of the Send Error Report To Microsoft variety, and can result from either a problem within the application itself or an error that has been caused by a developer customisation (e.g. JScript function, Sitemap amend etc.). The default setting for this is that users will be prompted before an error report is sent to Microsoft on these occasions. Having the default setting enabled can prove useful when diagnosing issues with the application, but could cause problems and distress for your end users if the application is throwing them regularly.

Whether due to customisations involved as part of the above upgrade system or a fault with D365E itself, these error messages seem to be throwing a lot more often in the latest version of the application; in fact, almost pretty much every time a user leaves a record. The error messages are sufficiently non-descript and lacking any reference to customisations made to the system (such as a JScript function name) to indicate that it could be a problem with the customisations itself. By selecting the option to send the error reports to Microsoft, you can ensure that these errors will be looked into and hopefully addressed as part of a security update in the future. But I would recommend, if you are upgrading to D365E, to ensure that have selected the Automatically send an error report to Microsoft within asking the user for permission on the Privacy Settings page to ensure that your end-users are not getting bombarded with constant error messages:

Don’t Upgrade Just Yet If You Are Using Scribe Online

Scribe Online is currently one of the de-facto tools of choice if you are looking to accomplish very basic integration requirements around CRM. The tool enables you to straightforwardly export your application data into external sources – whether they are SQL-based data sources or even completely different applications altogether. I have not had much direct experience with the tool myself, but I can attest to its relative ease-of-use; I do take issue, however, with how the tool operates within a CRM environment. For example, it creates a custom entity directly within your CRM instance within the default solution, using the default solution prefix (new_). Most ISV solutions instead deploy any required customisations out to the application using the much better supported and best practice route of Managed Solutions, allowing application administrators to better determine which components are deployed out as part of a 3rd party solution and to expedite any potential removal of the solution in future. Having said all that, Scribe Online should be your first port of call if you have a requirement to integrate with external systems as part of your CRM solution.

Now, I deliberately avoided mentioning D365E in the above paragraph, as it looks as if the Scribe Online tool has issues either as a direct result of the upgrade process involved with D365E or due to Scribe Online itself. Shortly after upgrading, the application/Scribe Online will modify the properties of your entity records to set the modifiedon field to the same value for every single entity record. If the number of records in your entity exceeds the default amount of records that can be returned programmatically (thereby requiring the use of a paging cookie), then Scribe will return an error message similar to the below when it next attempts to run your RS solution:

Unable to get the next page of data. Dynamics CRM has not advanced the page cookie for Entity:new_mycustomentity, PagingCookie: <cookie page=”2″><modifiedon last=”2017-01-03T06:42:21-00:00″ first=”2017-01-03T06:42:21-00:00″ /><new_mycustomentityid last=”{A56661B7-C969-E611-80EF-5065F38A8A01}” first=”{797EAA25-1645-E611-80E1-5065F38A4AD1}” /></cookie>

This issue looks to be occurring for other organisations who have upgraded as well, and Scribe have published an online support article with a suggested workaround for this situation provided by Felix Chan:

To work around the issue, we used JavaScript with the Microsoft Dynamics 365 Web API to update all of the account records by changing the value of a field we don’t use (e.g. telephone3) from null to “” (which translated back to null). Needless to say, this effectively updated the modifiedon datetime stamp. It also resulted in the change to Telephone 3 to show up in the Audit History of each account record.

The above Workaround is all very well and good if you dealing with a small number of records and have the appropriate knowledge on how to implement some form-level JScript functions. But my concern will be for organisations who lack this knowledge and are instead left with a solution that does not work. Despite not having firm proof of this either, I suspect that the issue is a fault with Scribe itself and not as a result of the upgrade. This is based solely on the value of the modifiedon field being well after the upgrade has taken place and during the time when our RS Solution was running. Scribe need to ideally acknowledge the existence of this issue and confirm what is causing the error to take place; but, in the meantime, if you are reliant on Scribe Online for business-critical integrations, I would strongly recommend to hold off on upgrading until this issue is acknowledged or until you can identify a replacement service that does not suffer from this problem. In our case, we were only using Scribe Online to backup our application data to an Azure SQL database and were instead able to get up and running quickly with the rather excellent Dynamics 365 Data Export Service.

Perhaps one of the best pieces of news arising from the detail behind the Dynamics 365 for Enterprise (D365E) announcement was the introduction of a number of freebies that are included as part of any subscription. Previously, under CRM Online licensing, you would have to purchase a number of Professional licenses before getting any free items. Now, regardless of the number of user licenses in your subscription, new and existing customers get all of the following at no additional charge:

  • 10GB of total database storage across all of your instances (Production/Sandbox)
  • Free Sandbox instance
  • Free Portal
  • Add-on services, such as Microsoft Flow and Project Online.

Given that the monthly cost for most of the above previously amounted to a significant figure¬†in the hundreds of ¬£’s, it is good to now see that arguably essential subscription elements (for example, Sandbox instances, to ensure a separate¬†development/testing environment for customisations) are included at no additional charge.¬†The question of whether or not this is value for money, however, is something that will likely depend on the size of your¬†D365E deployment and the number/type of user licenses involved.

With this in mind, there is doubtless a high amount of impetus to encourage organisations who are currently on Dynamics CRM 2016 Update 1 or earlier and/or are still on the “old” Office 365 SKUs for CRM Online to start migrating across to one of the new plans – either Enterprise Plan 1, Dynamics 365 for Sales/Field Service etc. or Team Members.¬†Organisations who are still on CRM Online plans can choose to either upgrade now or when their plan retires, in addition being able to take advantage of transition upgrade pricing. In some cases, this can amount to an average reduction in monthly prices of up to 20%. Therefore, if you are currently paying for excess storage at ¬£7.50 per GB per month, additional sandbox instances at ¬£113.10 per month and a Portal instance at a whopping ¬£377 per month, then there may be a good business case for not waiting until renewal and to upgrade straight away to the new D365E SKU’s.

This was certainly the case with an organisation I was working with previously. The deployment was rather small in nature, approximately 60-70 users in total. The majority of licenses were allocated towards Basic and Essential license types. As such, the organisation was unable to benefit from the previous offer of a free sandbox instance with 25 CRM Professional licenses and additional, free database storage with more Professional users; meaning that they had to buy 2 additional sandbox instances and a large amount of additional storage to cover their requirements as part of the solution. The organisation was, therefore, an excellent candidate to transition across their CRM Online Professional to Plan 1 Enterprise license types.

With the above TechnNet article open and during an appropriate out of hours timeslot, I was then tasked with carrying out the license migration. I was relieved that the process went largely to plan, with no major hiccups. I was able to confirm successfully that the free sandbox instance appeared within the Dynamics 365 Administration centre after purchasing the new plans and did not vanish when cancelling the CRM Online Professional subscription. However, the same could not be said for the free storage. In the past, myself and colleagues have observed that purchasing additional storage can take some time to appear on the Dynamics 365 Administration Centre Рsometimes up to an hour or more. After noting no change in the storage count after waiting this long, it definitely looked as if something had gone wrong as part of the upgrade. : /

After temporarily adding on some additional storage to cover the amount that we expected to gain as part of the transition and waiting until the next weekday, I opened a support ticket with Microsoft to clarify the situation regarding the additional 5GB of free storage we were expecting to receive and to determine whether something had in fact gone wrong. In good time, I was duly informed the following by a Microsoft support representative:

We informed you that ‚Äúto get 5gb free storage for their organisation, update of CRM organisation to 8.2 is recommended and you will receive this free storage whenever your organization will be updated‚ÄĚ.

At this juncture, it should be noted that one crucial piece of information has been left out as part of the above ūüôā All of the organisations CRM instances were at version 8.1. According to the above then, one (or all) of the organisations Dynamics CRM 2016 Update 1 instances need to be upgraded to D365E to take advantage of the free storage offer.

Since the above incident, we have scheduled in all of the organisations instances to be upgraded to 8.2 i.e. to D365E. I will report back after this upgrade has been completed to confirm the presence (or lack thereof) of the additional 5GB storage. Why the scepticism? I find it rather strange that you have to upgrade¬†all¬†of your instances to the latest version to take advantage of the new storage offer. I was always under the impression that the storage “layer” of your CRM/D365E instances are separate from the instances themselves. This being the case, I had therefore assumed that the SKU change would have been the flag to tell¬†Administration Centre to add on an additional 5GB storage. This would appear to be how the additional Sandbox instance worked because, as demonstrated above, the free instance updated into Administration Centre without issue. The world of CRM/D365E can always throw up interesting and bizarre behaviours, so I won’t rule anything out at this stage. Stay tuned…

UPDATE (28/03/2017): Well, I can confirm that the support engineer is correct and at least one of your instances as part of your subscription needs to be running 8.2 for the free additional storage to appear on the portal. So if you have a spare instance and are itching to get your hands on additional database space, then I would recommend that you reset one of your spare sandbox instances to the latest version via the Administration Centre.

A slightly¬†shorter blog post this week, as I have spent the majority of the weekend upgrading our CRM Online instance to 2016 ūüôā Due to the size of our current deployment and, because some of the new features such as Word Templates and Solution Patches will help make a real difference for our end-users/CRM Administrators, we decided to take the plunge early on. As with any upgrade, these can be potentially fraught with many risks for larger deployments, so I very quickly caveat that you should ensure that your business &¬†CRM team are ready to make the jump and that you have put a solid plan in place in order to ensure the upgrade proceeds smoothly.

Microsoft have already published detailed articles that go through the upgrade process in detail, so today’s post is going to provide a more practical description of what to expect, both during and after the deployment.

E-mail Notifications

As the TechNet article above states:

You’ll receive reminders 90, 30, 15, and 7 days before the update begins

These will be sent to all CRM Administrators for your instance from the e-mail address crmonl@microsoft.com, so make sure you check your spam filter settings. The e-mail will look something like this:

CRMEmail

What happens when the upgrade starts

You’ll get no e-mail notification at the exact moment when the upgrade starts, so you will need to ensure that your users have logged off your CRM instance at least 10-15 minutes before the upgrade states, just to be on the safe side. One observation on this point is that there is no (easy) way for CRM Online Administrators to ensure that all of their logged in users have left the application. I am really hoping that they make Administration Mode available to¬†Production instances in the near future, as this will help greatly for scenarios like this or if you are, for example, planning on doing a Solution update during a specific time period.

If you attempt to login into your CRM instance, you’ll be greeted with a screen similar to the below:

CRMUpgrade

Whilst the upgrade was being carried out, I noticed that the Status moved from “Disabled” to “Pending” during the upgrade process. You can therefore refresh the page in order to gain a brief indicator of how the upgrade is going.

How Long the Upgrade Takes

In our case, it took a little over an hour for the upgrade to complete, which was great! In this instance, we were upgrading from CRM 2015 Update 1, so I assume this had a factor in ensuring the upgrade completed so quickly. I would assume that, if the update process is similar to how you would upgrade On-Premise CRM 2013 to CRM 2016, (as an example) then each version update is applied in sequential order (CRM 2013 -> CRM 2015 -> CRM 2016), therefore adding to the amount of time it takes to finish the upgrade

As soon as the upgrade is finished, all CRM Administrators will get the following e-mail:

CRMEmail_2

What to Expect after the upgrade

Again, this section is going to be more specific to scenarios where you are upgrading from CRM 2015 Update 1, though I would be interesting in finding out if these behaviours differ in any other upgrade scenario:

  • This is perhaps more applicable before the upgrade even begins, but if you are making the jump from a much earlier version of CRM, then you may encounter serious problems with any form level JScript. CRM has made some quite fundamental changes in recent versions in regards to the supported methods that should be used. Your CRM Administrators/Developers should have read and fully understood the What’s New for developers guide and, as part of any upgrade plan, some kind of test upgrade in a Sandbox/Trial CRM instance needs to be completed. This should be pretty obvious, but doing this ensures that you can identify and fix these kind of issues long before the upgrade begins.
  • This is a strange one, but the upgrade reverted back our CRM Theme to the system default one. Fixing this is literally just a case of re-publishing your desired Theme from Customizations, but it is rather curious that this even happens in the first place.
  • All Personal/System Settings remain as they were before the upgrade
  • Any Waiting or in progress workflows will remain processing in the background
  • If your organization is using the CRM for Client to Outlook, then you may be pleased to hear that the 2015 Client is compatible and works successfully with CRM 2016. Following the upgrade, when your users first open Outlook again, they will be greeted with the following screen:

CRMForOutlook_Message

Once this has completed, CRM for Outlook will then operate as normal.

In our upgrade however, we did encounter a few cases where this did not always work. For example, the pop-up box above did not appear at all and whenever we tried to navigate to an Entity list in Outlook, Outlook would hang like so:

CRMForOutlook_Hanging

I suspect though that the problems in our case were down to something to do with our organisations infrastructure, as opposed to solely the CRM Upgrade itself. We managed to resolve the above by simply re-creating the connection to the CRM Organization. After that, everything worked perfectly ūüôā I would recommend that you look at upgrading to the Client eventually though (like we are), as it is my understanding that it includes a number of performance tweaks.

Final Thoughts

I am really looking forward to working with CRM 2016 more closely in the weeks and months ahead. The release feels very familiar, but also comes packed with a number of small, but significant, improvements or new features. These are specifically designed to give end users more flexibility in how they use CRM, and in helping make CRM Administrators/Developers lives easier.

Is anyone else planning on or have already upgraded to CRM 2016? Let me know in the comments below.