This truck stop is somewhat unusual. Traditionally, we have a question and one or more answers to serve. This time we have two people independently arriving at the same question.
tl;dr
If you are rolling out Dynamics CRM mobile apps or customizing Interactive Service Hub, don’t forget to click Prepare Client Customizations after you publish customizations – that will significantly improve the synchronization performance for the first user starting CRM mobile apps or the interactive service hub.
Question(s)
Mitch “Only in Texas” Milam and Andrhe “I’ve got 88 in my handle” Margono couldn’t help themselves while poking around in CRM 2016 Update 0.1 and stumbled across this:
The combined question would sound like:
What does that button do and where can I find more info about it?
Answer
Thanks to the rapid response from the awesome team of Jim “That’s Mr SDK for you” Daly, we now have the official answer:
Once you publish customizations, the first user to start one of the CRM mobile apps or the interactive service hub can experience performance issues, because their sign in prompts CRM to prepare the metadata package for download. That means the first user has to wait for both the metadata package preparation and the download (subsequent users only have to wait for the download).
With Dynamics CRM 2016 Update 0.1 or later, you can improve performance for that first user by clicking the Prepare Client Customizations button after publishing your customizations. This prompts CRM to prepare the metadata package right then instead of waiting for the first user to start a mobile app or the interactive service hub.
My question is, why the hell doesn’t it do this automatically…?!
Fair point, having it happen automatically would be great. I wonder if you can call it through the SDK, if so a plugin on PublishAll could do it…
When should it happen automatically? If I make minor changes to several entities, and publish each one separately, I would not want this (lengthy) process to kick off after every single one, especially on a Dev environment where this might add zero value if I am not using mobile devices (more likely to be used in test and production)
It might make sense for it to happen if I “Publish All” (which I almost never do), or after a successful Solution import.
Right now it is just one more thing to add to your solution deployment checklist, along with re-activating duplicate detection rules, for example.