Tip #648: Are you Power BI Pro?

When you’re trying to connect Power BI to Dynamics CRM by entering Dynamics CRM OData Service URL, you may receive an obscure message “Parameter validation failed. Please make sure all parameters are valid.”

Error connecting Power BI to Dynamics CRM

What Power BI is trying to tell you is that the license assigned to you is the Power BI freebie and not the Power BI Pro goodness.

Klein bottleBe a pro, go back to O365 Admin Portal and assign the correct license. Don’t have it? Free trial is available and it’s only $9.99 per month for many hours of entertainment trying to build a Klein funnel bottle out of your sales data.

Tip #647: Tipster guide to Dynamics CRM 2016 Spring Update – Part II – Mobile Offline Syncing

Mobile OfflineAs always the annual spring update for CRM online is introducing many new features and improvements. One of those is Mobile Offline Synchronization. In this video we look at requirements for the feature, and walk through setup and configuration (including defining offline profiles, and controlling what data is available).

YouTube player

There might be a part III, after all, – stay tuned. In the meantime 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 #646: Illustrated guide to entity creation in Dynamics CRM

Spießrutenlaufen is everywhere. Even fundamental actions like creating a new entity in CRM are subject to irreversible hasty choices that we all come to regret later.

Introducing CRM Tipsters Illustrated Guide to Entity Creation in Dynamics CRM.

CRM Tipsters Illustrated Guide to Entity Creation in Dynamics CRM

Download a full size image or a hi-res PDF version.

Tip #645: Name that address

Return to senderIf you want to take advantage of an obscure Lookup Address feature when dealing with quotes or orders, you will find that the address lookup on that dialog looks very strange: first line is blank followed by the zip/postal code and city. In addition, how do you add multiple addresses to a customer record in a first place?

  1. Edit customer (account or contact) form and add addresses back to navigation pane. That will give you an ability to edit additional addresses besides the first two.
  2. First two are special. They will not appear in any of the views including All Customer Addresses. All means all but the first two (also known as address1 and address2). The only way to see them in that grid is to create a personal view since there is no option to add system views to the address entity. Careful though – this will display first two addresses whether you entered them or not.
    Blank address on All Addresses personal view
  3. The Lookup Address will list all addresses including first two. Except that the first two do not have the names. Add Address 1: Name field to the customer form just before the address and, if you insist, make it business required. You can optionally add a “More addresses” sub-grid.
    Address name and subgrid
  4. Now we have more or less usable Lookup Address dialog. Note that it does not list empty addresses, unlike your custom view.
    Lookup dialog with all addresses listed

Bonus

Tip 23 has become a dangerous one.
Non-editable address views
This is because associated addresses view has been “enhanced” to support customer entity and contains non-editable elements (references to objecttypecode, if you must). Edit it at your peril.

Verdict

Unless you inherited a CRM system or users insist on built-in multiple addresses functionality, I’d say it belongs to “It was a good idea…” bucket and recommend staying clear of it. Too unpredictable, hardly documented and loaded with side-effects.

Tip #644: Async Dynamics CRM awaits you

Hanging minesweeperGayan “Performance Wizard” Perera hates waiting. Be smart, be like Gayan.

For anyone who’s been waiting to get async/await support for the CRM SDK, you can now get a simple extension class from https://github.com/NZxRMGuy/crmsdk-async

The downside with my one is that it’s a wrapper around the sync method – some people do frown upon this since it is not true async. (and we frown upon those people – t.j.)

Bonus – OptimizedConnection class based on the https://pfexrmcore.codeplex.com/ to get true parallelism with the CRM SDK.

Tip #643: Role to manage Dynamics CRM Online

Manage the CRM Online instanceWhen a user opens Dynamics CRM Online instance manager (https://port.crm[0-9].dynamics.com/G/Instances/InstancePicker.aspx), they see the instance selector if there is more than one instance available but nothing else. The only option is to select the instance and click Open button.

What if you want user to be able to manage CRM Online features but without being a Global Administrator? There is no CRM Online administrator role in O365 portal?!
O365 Admin Roles
The answer is Service administrator role.

Instance management featuresBut wait, there is more: in addition to that O365 administrator role, user needs to be assigned System Administrator role in CRM to have access to the management features per instance basis. That way, user can add solutions to test instance of CRM but without ability to touch the production instance, for example.

Tip #642: Tipster guide to Dynamics CRM 2016 Spring Update – Part 1

Spring UpdateThe Annual Spring Update for CRM Online is upon as, and trial Instances are already available with the new features. In this video we highlight a couple of key items, and dive into the new SLA enhancements for other entities.

YouTube player

As you have guessed, there will be at least part II – stay tuned. In the meantime 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 #641: Die, subject, die!

Categories entityWith the exception of the Queen who, according to Oscar Wilde, “is not a subject”, subject entity has always been a subject for complaints. Simple search on Dynamics CRM Feedback site shows a long wishlist where people wanted to filter the subject tree, being able to type in subject lookup, have multi-lingual support, use it in dialogs, etc.

But inability to customize the subject entity is arguably the biggest drawback of them all. In short, with the exception of a very few narrow scenarios concoted in early naughties,

Subject entity is next to useless and delivers nothing but a substandard user experience and pain for administrators and customizers

Enter sparkling Category entity, available in CRM Online 2016 Update 1 and CRM 2016 Service Pack 1 (on-premises). Don’t get the location of the entity under Settings > Service Management > KB Management to fool you. The only thing KB articles get that you can’t is native N:N relationship. Here is the short list of features of the entity designed to, uhm, categorize CRM records.

  • Customizable with the exception of N:1 and N:N links. Custom properties, views, business rules and even dashboards
  • User owned (read: security and tree filtering)
  • “Normal” lookup dialog with typeahead and other features
  • Auto-numbering
  • Hierarchy with the ability to order children using SequenceNumber attribute (some assembly may be required)
  • Need many-to-many? Enable categories for Connections and link away
  • Use it in dialogs, plugins and processes (cannot itself be enabled for business process flows though)
  • Anything else?

I’m sure there is more to it and we’ll be seeing steady migration from the subjects. But is it too little too late and everybody has already implemented their own taxonomy?

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.