Tip #640: What happens if you don’t map all users

All users are not mapped

tl;dr

Nothing fatal. You can relax.

Details

When organization database is restored and then imported into CRM Server, one of the wizard steps is the mapping dialog. The only requirement is to map your user account into at least one enabled user with system administrator privileges.
Must map system administrator

That makes sense – we don’t want to end up with an organization nobody can logon into. But what happens if you don’t map the rest?
User Mappings

In short, as we mentioned, nothing. The user records stay as they were, other records in the system are still owned by the same users as before. You can even assign records to these unmapped user accounts. The only side effect is that these user accounts are not mapped to the Active Directory accounts so nobody can login as these users. You can open any of these records, enter a new domain name and CRM will map that user to the specified AD login.

Why is it convenient?

  • If you are creating a copy of the production database in your development or test environment, there is no need to re-create all 759 domain accounts in your dev/test domain – just a handful will do.
  • If you are just testing the redeployment (e.g. for version upgrade) – save yourself time and do not map those accounts, whether they are known or not in the target domain.
  • If you are moving the deployment, it could be a good opportunity to postpone the mapping, especially if organization is being restructured/merged and new user accounts have not been finalized at the time of the move.

Tip #639: I shall call him Squishy

I shall call him SquishySelecting a good name for an organization in CRM On-premises has always been a challenge especially when you automate provisioning of your CRM organizations. At least one would hope that the chosen name would stick.

However, our special correspondent Mehmet “Sputnik” Ozdemir reports from the trenches that organizationid and name fields in the organization entity will contain the old values if the organization you’re importing did not exist on that server before.

One more reason to, instead of poking the entities directly, use RetrieveCurrentOrganizationRequest, available since CRM 2015, to discover details of the current organization:

var details = service
    .Execute<RetrieveCurrentOrganizationResponse>
    (new RetrieveCurrentOrganizationRequest());

Console.WriteLine(details.Detail.OrganizationId);
Console.WriteLine(details.Detail.OrganizationVersion);
Console.WriteLine(details.Detail.UniqueName);
Console.WriteLine(details.Detail.FriendlyName);
Console.WriteLine(details.Detail.UrlName);
 

Tip #638: Cryptic entries in audit log

Dynamics CRM TipperMini truckstop, the only remarkable thing about it that this time I was on the receiving end.

I was helping a customer to get to the bottom of some strange behavior when I noticed this entry in the audit log:
Cryptic entries in audit log
What. Is. That?! 10 minutes later after failed boogle-fu, I’ve reached out for help. About 2 minutes later, help didn’t disappoint, I think Adam “First!” Vero was sitting there and waiting for someone to ask a question.

That’s the symbol for a break in the audit trail (it’s supposed to look like a table with a missing row). If you turn off auditing for the system, or the entity, or that field, you would see this.

There were couple latercomers with the same suggestion, but Jukka “Kalsarikännit” Niiranen decided to take it up a notch with a bold statement that, after all, it’s not the user’s fault

The primary reason why so many people see these strange symbols in their CRM systems is not that they’ve turned off auditing, but rather just that they’ve imported a managed solution [containing the entity that had the audit on]

So while we are at it, spend 30 seconds voting for these product suggestions:

Tip #637: Tipster guide to Microsoft Flow – codeless integration between CRM and other apps

Friday FlowApparently, for people who like bending their joints backward, Friday Flow is a thing. We’ve decided to join the bandwagon and in today’s video we will show you how to create a basic workflow between SharePoint and CRM using Microsoft Flow. Flow is a cloud service, currently in preview, that allow you to create automated workflows between your favorite apps and services to get notifications, synchronize files, collect data, and more.

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 to jar@crmtipoftheday.com.

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

Tip #636: Use all attributes and miss some of the data

Entity imageLaziness is the engine of the progress. If it was not for Josephine Cochrane trying to avoid the house duties, we’d still be doing dishes by hand.

So we all guilty from time to time using all attributes when retrieving information from CRM. The consequences are not only spießrutenlaufen and eternal condemnation, but also dreadful performance and, as it turns out, missing information.

We learned from system job views, “all” does not always mean “all” in Dynamics CRM. It’s also true for fetchxml.

CRM will not return binary columns when all attributes are requested

That applies to entityimage attribute; the following fetchxml:

<fetch>
  <entity name="contact" >
    <all-attributes/>
    <filter>
      <condition attribute="firstname" 
	    operator="eq" value="Bruce" />
    </filter>
  </entity>
</fetch>

will not return the image itself.

This fetch, on the other hand, will:

<fetch>
  <entity name="contact" >
    <attribute name="entityimage" />
    <filter>
      <condition attribute="firstname" 
	    operator="eq" value="Bruce" />
    </filter>
  </entity>
</fetch>

Note that to retrieve image data using fetch you have to use RetrieveMultipleRequest instead of the deprecated ExecuteFetchRequest class. Latter will not return the image, whether you specify it or not.

Tip #635: SaRA to help CRM

Who is SaRa and why is she helping CRM?

Not who but what.

SaRA is the acronym for the Office 365 Support and Recovery Assistant which is a powerful diagnostic platform created by the Office team. In many cases, SaRA offers automated solutions that can fix problems for you.

And now SaRa includes CRM diagnostics, initial scenario is for CRM Outlook Client configuration issues for CRM Online.

This diagnostic can detect issues related to CRM Outlook Client install, configuration, and can also detect and fix a disabled CRM add-in with the click of a button. It can also retrieve log files and event log information.

You can download SaRA using the following link: http://aka.ms/crmocblog

Read details on Dynamics CRM Support blog.

Gail, did we fix your problem?

Who is Gail?

No idea.

Tip #634: How to modify recurrent bulk deletion system jobs

On heavy production systems bulk deletion jobs should be scheduled outside of the peak activity window. Unless you’re dealing with 24×7 global monstrosity, scheduling them outside normal working hours would do the trick.

There are handful of system jobs that are created for you when CRM organization is provisioned. You can guess what their start time is going to be – when you provisioned the organization – and that probably will be during the day.

How to modify the start time and, for those feeling extremely adventurous, the recurrence? Just follow instructions in CRM Help & Training Center:

Select the bulk-deletion job, and then on the Actions menu, choose Modify Recurrence

Wait a minute! Where ARE those recurring jobs? All I can see is the list of completed jobs even though I selected All Bulk Deletion System Jobs view?!
All Bulk Deletion System Jobs

All does not mean all in this case, it means “all except those you actually want to see”. Change your view to Recurrent Bulk Deletion System Jobs and now you’ll be able to see the recurrent jobs.
Recurrent Bulk Deletion System Jobs

Now you can follow the instructions from the help center to clean up your mess CRM when nobody’s watching.

Tip #633: What’s to love about the Dynamics Data Loader

Although it has been derided by some as a glorified import utility, Scott “Silverlight Terminator” Durow sees tremendous value in the Azure based Dynamics Data Loader for CRM Online (currently in preview).

Scott says:

I love the fact that you can stage the data without the 32MB file limit and then edit in Excel to correct problems. I also love that you can specify older createdon dates

Tip #631: Azure ML is coming to Dynamics CRM

One of the most exciting upcoming features in CRM Online is Azure Machine Learning integration (under In Preview):

This release will introduce scenario-based Machine Learning (ML) integration with Azure ML for product cross-sell recommendations, and auto-suggest of relevant knowledge articles and case topic analysis. These scenarios are based on integration with Azure ML APIs for recommendations and text analytics. Azure ML integration offers a configuration experience and insights integrated into the CRM user interface. No data scientists required!

Can’t wait!

Azure Machine Learning