Tip #943: Upgrading development environment to Dynamics 365 On-premises

Today’s contribution is “an old school on-prem tip” from Brian Illand.

Despite the marketing hype around Dynamics 365 being a whole new product, remember that it is a ‘minor’ upgrade from Dynamics 2016 to Dynamics 365 On-Premise. Dynamics 2016 is v8.0/8.1 and Dynamics 365 is Version 8.2. So, ‘theoretically’, there is a lower than usual risk of things breaking than when you are upgrading between minor versions. Additionally, you shouldn’t need to upgrade any hardware or other dependencies like SQL. Consider the advantages that you could get from Dynamics 365 On-Premise features such as apps and editable grids for this relatively simple installer. It’s a no-brainer.

In practice, a slight hiccup however. Today, we decided to bite the bullet and see how this theory played out, upgrading a relatively new CRM 2016 environment to Dynamics 365. The first step was to test it on a Development environment. When we ran the installer, it took over THREE HOURS to complete (much of the time it was stuck at ‘Microsoft.Crm.UpdateWrapper.HotfixMspInstaller – File: C:\Config.Msi\579f832e.rbf’ in case you’re interested). This is something we attributed to our less than optimal Dev Environment and Dev SQL Server Specs.

So what’s the tip? Here’s 3 :

  1. If the installer looks like it has hung when upgrading don’t panic – check the logs at C:\Users\AppData\Roaming\Microsoft\MSCRM\Logs. If they are getting updated regularly, don’t worry.
  2. You can also check the upgrade status by looking in the UpgradeActionTracker on each database – i.e.
    SELECT * from UpgradeActionTracker order by createdonutc desc
  3. When specifying hardware, to keep costs down, people often specify a beefy production environment, perhaps a broadly equivalent pre-production environment, a slightly less equivalent test environment and a development box that runs like a dog. Think twice about cheap dev kit. This is probably where you will be doing the bulk of your work, publishing and republishing solutions, data loads and such like. If it’s an Azure VM, spec it high initially and scale back when you are not using it. If it’s on-premise, don’t use that server that was destined for the bin, it will cost you more in the long run in waiting around.

Tip #942: Allow users to change roles with limits

So you want to give users who are not system administrators the ability to manage roles for other users, but you don’t want to give them the ability to elevate their own roles? How do you allow users to manage other users’ roles without promoting themselves to system administrator?

In the role for the user who you want to have the “manage roles” capability, add “assign” permission for “Security Role” on the “Business Management” tab.

This will make the “manage roles” button appear on user forms and views for the users with this role. However, it will not allow them to assign roles that they don’t already have themselves. If the user with the security role assign permission has “salesperson” role, he or she will be able to assign other roles the “salesperson” role. They will not be able to assign themselves or other users a role that they don’t have, such as system administrator.

Tip #941: Limit who can change the stage of a process flow

A client recently asked me about the ability to limit who can move an opportunity out of the “propose” stage. They would like to only allow sales managers to move to the next stage of the business process flow.

Knowing that Dynamics 365 does not limit stage movement by role, I reached out to some of my MVP friends. The following were their suggestions:

David Yack: Create a required step at the end of the stage and use FLS to limit that field being updated to the sales managers.

Daryl LaBar: You may be able to prevent users to change the stage using JavaScript, but you could always use a plugin that is registered on the update of the stage of the entity and prevent it if the user is doesn’t have the correct role.

Neil Benson: Promote all users to sales manager. While you could go with your well-considered technical options, is that really going to be less expensive that just adjusting the salary of every sales rep and making them a sales manager? I think my idea will be more popular with the users and lead to higher adoption and praise for Joel.

Tip #940: Dynamics 365 Outlook client vs. Outlook App: which is faster?

In this video we compare setting regarding and tracking emails in CRM for Outlook (Outlook Client) and the new Dynamics 365 App for Outlook. Which is faster?

YouTube player

Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas (and track them if you want to) to jar@crmtipoftheday.com.

Don’t forget to subscribe to http://youtube.com/crmtipoftheday!

Tip #939: Need to reschedule an update again?

When a new release of Dynamics 365 is released, existing online environments are scheduled for an upgrade. If the date selected is not optimal, an administrator can reschedule that update one time.

But what if you later change your mind and want to reschedule it again? the Instance picker will not let you reschedule an update a second time. Does this mean you are stuck?

No–it simply means that you cannot reschedule it again via the O365 console. Log a support ticket with Microsoft support, and your friendly Microsoft support tech will be glad to help you reschedule the update for the desired date.

 

Tip #938: Talent is now generally available

Microsoft Dynamics 365 for Talent is now generally available (GA). Visit https://www.microsoft.com/en-us/dynamics365/talent and sign-up for a free 60-day test drive of Dynamics 365 for Talent.

Dynamics 365 for Talent is quite important from technical perspective – I believe that it’s the first fully-fledged app built entirely on CDS platform. The first drop may not deliver all the features we’ve been waiting for but it’s available and it looks good.

Tip #937: Flush that portal cache

When I’ve got the tip email from Kevin Ingrey, my first reaction was “Groan… Not the portal cache again!”

Didn’t we beat the cache refresh for the portal to a pulp in Tip 740 and Tip 784? Looks like we did but obviously not to death.

Latest news in the portal science: append /_service/about to your portal URL in the latest release of Dynamics 365 Portals to get the handy ‘Clear cache‘ button.

EDIT: Correct URL is /_services/about – thanks, Chadi!

Portals clear cache button

It’s a heavy-duty tool and should be used in production as a last resort only (but developers – rejoice!). If change tracking does not work for you, I still recommend figuring out why and raising a support request with Microsoft if required.

Got a tip? Send it to jar@crmtipoftheday.com!

Tip #936: Grow up to Azure Logic Apps

Grow upIt was never a secret that Microsoft Flow was built on top of Azure Logic Apps. However, until recently, two platforms were independent, one designed to attract end-users and customizers and another – developers and DevOps.

The day has come to grow up – it is now possible for Flow users to save any flow they have as a Logic App resource template. This template can be managed like any other Logic App resource – and deployed through Visual Studio or directly in the Azure portal to a subscription of the user’s choice.

Why is it important? Because the relationship between Flow and Logic Apps is now similar to Report Wizard and SSRS Reports in Dynamics 365 – it’s a great time-saver. Instead of torturing user to give up those precious specifications, we can simply tell them to create that report or that flow themselves, but without sweating over the details. Once the overall intent is clear, developers can pick it up, convert into more powerful counterpart and apply a layer of polish.

Tip #935: Notifications for Dynamics 365 Online service updates

The following clarifies how and when users of Dynamics 365 Online are notified for service updates, such as patches and hotfixes.

Notifications are not sent out for regular maintenance activities on servers, like security patches or OS updates, as there is no impact on the customer, their orgs or their environments.

Notifications are sent out for weekly releases, hotfixes, major releases, and maintenance activities that impact the customer and cause downtime. All notifications that are sent get posted to the Office 365 message center and if there is the potential for downtime, Microsoft will send out emails to System Administrators, but those are extremely rare.

Microsoft targets at least a two day notification for normal releases that do not impact the customer (aka no downtime) and five days for anything the will cause downtime, even if it is during a maintenance window.

Basically any user with any type of O365 admin role will see these messages. You don’t have to be a global admin in O365—you can be a more limited admin (like the Dynamics service admin role).

Tip #934: Duplicate detection and tracking contacts in Outlook

When I track a contact in Outlook, does CRM notify me if it triggers a duplicate detection rule?

Yes, but the experience may differ, depending on what client you are using. This tip assumes you are using server-side synchronization, as Outlook synchronization has been deprecated and will be removed in the upcoming release.

  • If you use the Dynamics 365 App for Outlook and track contacts via the new Contacts add-in, you will be notified if your tracked contact duplicates an existing contact.

  • If you use the traditional Outlook client and track a contact, you will not receive a duplicate detection notification, but the contact will not be created in CRM
  • If you update an existing tracked Outlook client and by making the update the record now triggers a duplicate detection rule, the change will not synchronize to CRM.

So in the final two scenarios, does this mean that the duplicate detection didn’t fire? No–it just means that in these scenarios the tracking/synchronization is happening asynchronously/in the background. The new app is designed to do the duplicate check before flagging the contact to be tracked. Given that the legacy Outlook client is in maintenance mode, it is unlikely that this behavior will change in the legacy CRM for Outlook. Switch to the new app if it is available for you.

So what should you do if you tracked or updated a contact and the sync isn’t happening due to duplicate detection? Check the mailbox log. Go to Settings>>Email Configuration>>Mailboxes and open your mailbox record. Click on “Alerts.”

If a tracked contact was unable to be saved in CRM due to duplicate detection, you should see an alert log entry for that contact. Hovering over the alert should give you a yes/no choice of whether or not to save the duplicate in CRM.