Tip #473: Tipster demo of USD, Part 1

It’s Friday and, after a short miscalculated post, we are back with Unified Service Desk Demo. In part one of our two part demo, we look at a basic overview of USD functionality, including sessions, toolbars, and hosted control basics.

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.

Tip #472: OneNote in Dynamics CRM for Dummies, Part 2: Setup

¡Como estas amigos! Our good friend Pablo “CRMGamified” Peralta with another bunch of tips for dummies the rest of us. If your Español is good, read the original, nothing to see here. Otherwise, read Part 1 and enjoy the rest.

How to Set It Up

Requirements

  1. This feature is only available on CRM 2015 Online (with Update 1) at the moment I’m writing this. Unfortunately, it’s still not available for On-premises CRM 2015.
  2. SharePoint integration must be already set up on the server.
  3. The entity you want to integrate with OneNote (i.e. Account, Opportunity) must have SharePoint integration enabled.
  4. After enabling the previous integration for the entity, you also need to enable OneNote integration to actually see the “OneNote” tab on the record and access the OneNote Notebook.

Step 1: Enable SharePoint Online Integration (Server Set Up)

  1. Settings > Manage Documents
  2. OneNote - Enable SharePoint Integration Step 1

  3. Enable server-based SharePoint integration
  4. OneNote - Enable SharePoint Integration Step 2

  5. Follow set up instructions:
  6. OneNote - Enable SharePoint Integration Step 3
    OneNote - Enable SharePoint Integration Step 4

    OneNote - Enable SharePoint Integration Step 5

    OneNote - Enable SharePoint Integration Step 6

Step 2: Enable Entity for SharePoint Integration

  1. Settings > Manage Documents > Manage Documents Settings
  2. Select the entities to enable and enter the URL of your SharePoint document storage site.
  3. OneNote - Enable Entity for Integration Step 1

  4. The system now asks us if we wish to set our folder structure around any entity (not recommended, in my experience):
  5. OneNote - Enable Entity for Integration Step 2

  6. Confirm that you wish to create document libraries:

OneNote - Enable Entity for Integration Step 3

OneNote - Enable Entity for Integration Step 4

Step 3: Enable OneNote Integration for Entity

  1. Settings > Manage Documents > OneNote Integration (this option is not available until you’ve enabled SharePoint integration, such as we did in the previous step).
  2. Enable OneNote Integration for Entity Step 1

  3. Select which entities you wish to include OneNote notes. You’ll only get to choose from entities where SharePoint document management is enabled, such as we already did in the previous step.
  4. Enable OneNote Integration for Entity Step 2

  5. Finalize setup and check it out: you can now see a new “OneNote” tab within the panel of any of the entities you just enabled for OneNote integration.
  6. Enable OneNote Integration for Entity Step 3

Stay tuned for the next part where OneNote and gold old annotation a.k.a. notes go head to head.

Tip #471: What will stop your form from closing

tl;dr

Setting data validation error on the form level with Xrm.Page.ui.setFormNotification call will NOT stop form from closing, setting errors on individual controls with Xrm.Page.getControl(arg).setNotification, on the other hand, will. To achieve even better results, use business rule instead of the javascript.

Slightly longer version

Friend of mine pinged me to help with the script he cooked to verify the data. Script was hooked up to the form’s OnSave event and looked like the following:

function checkFlavour(context) {
  flavour = Xrm.Page.getAttribute('new_flavourid')
        .getValue();
  if (flavour != null 
         && flavour[0].name == 'Chocolate') {
    Xrm.Page.ui.setFormNotification(
      'We are OUT of Chocolate!','ERROR','choco');
    context.getEventArgs().preventDefault();
  }
  else {
    Xrm.Page.ui.clearFormNotification('choco'); 
  }
}

The complaint was that script was not working when user was pressing SAVE & CLOSE button. In the end of the day I was unable to reproduce the problem as preventDefault() call was doing it’s job on my machine. However, I found that my friend, as some other developers before him, was under the impression that setFormNotification alone was supposed to do the job.

The reality is that this function displays an error message on the form level but does nothing to stop the form from closing. Setting notification on individual controls with setNotification call, on the other hand, will block the form from saving and closing.

Instead of “fixing” the script, friend of mine opted for a business rule that worked like a charm:
Out of Chocolate business rule
Business rule in action

The added benefit, of course, is the server-side execution of the business rules. If a sneaky user tries to bypassing the scripts by importing a record with forbidden flavor:

Name, Flavour
"Nom nom", "Chocolate"
"Meh", "Strawberry"

They still will be stopped in their tracks if scope of the business rule is set to Entity:
Failed import using business rule

Tip #470: OneNote in Dynamics CRM for Dummies, Part 1: Why and How

¡Como estas amigos! Our good friend Pablo “CRMGamified” Peralta with another bunch of tips for the rest of us. If your Español is good, read the original, nothing to see here.

Just in case any of you were distracted these past few weeks, the answer is yes. We can now upload notes we make on OneNote (its online version, desktop app or favorite mobile device) onto Dynamics CRM, and link them to a customer, opportunity, case, record or whatever you choose. OneNote and Dynamics CRM integration is one of the new features included in CRM Online Update 1 (“Carina”), which is already available.

Personally, as an avid administrator and user, this is one of my favorite features and the one I was most looking forward to. This way, we can now take OneNote’s rich note-writing power over to CRM, opening up new collaboration scenarios that used to be impossible, such as between non-CRM users within the company and those who do use it. Both may now share notes on a client or opportunity, manage tasks and collaborate, straight from within CRM and on any device.

This brief tutorial will run you along the integration’s advantages, how it works and how to set it up.

Advantages of Integrating OneNote and CRM

The benefits of this integration are huge. Fellow amateur and advanced OneNote users say they can’t live without it. Now, imagine all of this power channeled into CRM. For instance:

  • HTML support and enriched text anywhere you are
  • Quick ToDo task list creation
  • Voice and video note integration
  • Easily organize your notes
  • Take pictures of business cards and documents
  • Real-time collaboration
  • Copy-pase from Excel, Word, etc.
  • Draw over your notes
  • Spellcheck

OneNote benefits

How It Works

OneNote - how it works

  • Notes are stored in SharePoint Online
  • Each CRM record gets its own Notebook
  • If there is no associated Notebook, one if automatically created
  • All users share the same Notebook for each record
  • All notes in the same Notebook are associated to the CRM record

This is what it looks like:

OneNote in CRM Step 1 OneNote in CRM Step 2 OneNote in CRM Step 3 OneNote in CRM Step 4

In the next part we’ll find out how to set it up and how OneNote compares to good old annotations a.k.a. notes.

Tip #469: Sorting lookup field quick preview

Most of the time Joel is very helpful but sometimes he’s just plain grumpy:


I’m finding that the lookup field quick preview list does not honor sort order. In this example I have a “sequence” field that sorts the list in the desired order:

Screenshot 2015-09-02 21.09.07

If you go to the lookup dialog, it honors the sort order in the lookup view:

Screenshot 2015-09-02 21.09.22

Is there any way to make the quick lookup preview honor the sort order?


And I kind of appreciate his grumpiness on this one because the reply from authoritative sources came thick and fast:

This is not possible today, quick preview list sorts it based on the “primary attribute” of the entity. But if this is something which blocks your scenario, I will be happy to add it into the backlog for lookup enhancements. Can you please open a connect bug for this and send me the ID.

Relentless man that he is, Joel indeed used Microsoft Connect to press on with the issue (and under the similar circumstances you, our readers, should do the same!):

Here is an existing Connect item with 15 votes. I would say this is high priority. The only way to make it work is currently to append numbers to the lookup list to make it sort correctly in preview.

Screenshot 2015-09-02 21.13.13

Tip #468: Tipster guide to Unified Service Desk installation

It’s Friday and this week the video subject is on something closely related to and built on top of the Dynamics CRM. USD, which stands for United States Dollars Unified Service Desk.

In the first video in our USD series, we walk you installing Dynamics CRM’s USD desktop client as well using package deployer to import USD Sample data into a CRM Online instance.

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.

Tip #467: Bulk unblock the XRM Toolbox

If you have ever downloaded the fantastic XRM Toolbox, you will know that the .dll files need to be unblocked before you can use the application.

Donna Edwards referred me to a PowerShell command suggested by Andre Margono that will bulk unblock all the files in the XRM Toolbox folder.

The syntax goes like this:
gci <your XrmToolBox folder> | Unblock-File
eg:
gci c:\XrmToolBox | Unblock-File

This is similar to our recommendation about the Package Deployer. Alternatively, when you download the xrm toolbox zip file, you can unblock the entire zip file before you extract it. if you are like me, you regularly forget to do that, and then Andre’s PowerShell is very helpful.

A third approach is to download the xrm toolbox using Firefox. Files downloaded via Firefox are not blocked by Windows, so you generally do not need to unblock them before running them.

Tip #466: It’s not a privilege

Way back in Tip 226, we talked about the sitemap privilege tag that can be used to hide sitemap subarea links for users that don’t have a specific entity permission. One thing that you should know is that the privilege tag is not honored by Dynamics CRM mobile apps.

The rule of thumb is that if a user has permission to read an entity, the entity is enabled for mobile, and a link to that entity is displayed in the sitemap, the user will see that entity listed in the menu of CRM mobile apps.

As a practical consequence, if your users use CRM mobile apps on their smartphones or tablets, you may want to avoid putting every back-end custom entity in the settings area of the sitemap. For entities that are used for purposes like lookup lists, you want the entity to be available on mobile, but you probably don’t want the link to appear in the menu of the mobile apps. My recommendation is to not display the entity in the settings menu. Users who need to add records to these entities or manage the records in them can do so by running an Advanced Find query.

Tip #465: Learn how Outlook and Exchange synchronization works

In Tip 435 we mentioned the old CRM 4.0 synchronization whitepaper as an “oldie” but still valuable whitepaper. Great news! This whitepaper has been updated. the all new “how it works” whitepaper. The CRM team has done a great job of documenting the way that synchronization works, including clarification on how deletes are handled, and documentation of new features, such as synchronization field mapping. This is a must have for CRM administrators and people supporting users who synchronize with CRM.

Download the whitepaper here

Tip #464: Connecting PowerBI to CRM Online

Don’t be a literal as me and make this same mistake when setting up a connection to CRM Online for PowerBI. Read the fine print!

See how in the example there is no trailing space to include in the oData service endpoint!

oData Service Endpoint

oData Service Endpoint

You will get an error when you copy and paste the URL from the developer resources window from CRM. PowerBI doesn’t like the trailing space at all. It will say it can’t find the endpoint. Remove the slash before or after pasting it in and clicking on OK.

CRM Developer Resources

CRM Developer Resources