Tip #539: CRM 2016 Postponed Features

As we mentioned last week, Dynamics CRM 2016 was released last week. But you may have noticed that some of the anticipated features are not there.

The release preview guide has been updated with a revision summary on the last page. This table lists features which have been postponed. Some are postponed until a future release, some will be released as a preview feature before the next release

Revision_summary

So why the delay?

While Microsoft has not shared the reason for each of these delays, the most probable reason is that they weren’t fully baked yet. MVP Neil Benson says

Has the Microsoft Dynamics CRM product group switched to an agile release train release pattern? An agile release train involves several software releases that are planned in advance and released on a pre-planned schedule. Every feature that’s “done” gets released on the next train. The release train doesn’t wait until a pre-defined set of features are done. That’s a big shift from releases like CRM 4.0 and CRM 2011 that were only released once every feature was ready. Microsoft Dynamics CRM 2016 was released on 1 December, precisely as scheduled. There are a couple of expected features that appear to have missed this release train and will make it on the next one. The latest update to the Release Preview Guide describes how Voice of the Customer, External Party Access, Service Intelligence and a couple of other features will be released later. This is a good indicator that the CRM product group is using an agile release train. An agile release train is a modern software product management concept. It delivers valuable features in a regular cadence in small batches . It’s perfectly suited to a cloud-first world where customers and users expect their software to be updated and to adapt seamlessly to their needs. All aboard!

So while users may be disappointed that mobile offline capability or guided user experience are delayed, the good news is the spring 2016 release is coming.

GeorgeD $0.02 + GST

I like this agile pattern, I like this release train. My primary concern is for the on-premises customers being stuck on the platform 9 & 3/4 with the agile train picking them up only once a year. Will they miss out on Voice of the Customer a.k.a. Surveys until December 2016? Only the time will tell.

Want to learn more about what IS included in CRM 2016? Check out the latest episode of CRM Audio: The Microsoft Dynamics CRM Podcast. This week we talk about knowledge management, engagement hub, solution segmentation, and more CRM 2016 goodies.

Tip #538: Tipster guide to Dynamics CRM routing rule sets

Another Friday – another video continuing coverage of the customer service features in Dynamics CRM. In this video, we explore how to use Dynamics CRM’s Routing Rule Sets to route cases to different queues. It covers the creation, and activation as well as how they get applied to the records.

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 #537: Removing O365 global administrators

When you assign an O365 user a Global Administrator role, and this user is assigned a Dynamics CRM license, system will automatically assign a System Administrator role to that user. If later on Global Administrator role is removed, the system will also remove a System Administrator CRM role regardless whether it was automatically or manually assigned.

If you decide to tighten up the O365 security and remove unnecessary Global Administrator rights, find out if any of the affected users have System Administrator role in CRM and whether they need. If they do, you will have to re-assign this role manually.

So if any of your users complain that they can no longer access CRM even though they are administrators, or if you receive a yellow warning that some of the users are missing security privileges, that O365 role clean up could be the reason.

Tip #536: CRM Online, SharePoint On-premises and OneNote walk into a bar

There seems to be a theme here, at CRM Tip of the day, with trios of various components walking into refreshment establishments. On this occasion, it did cost me a few hours of mouse-bending investigation. Enjoy the summary.

OneNoteAs we mentioned before, if you carefully followed the steps to configure server-based authentication for Dynamics CRM Online and SharePoint on-premises, most likely you’ll end up with the working integration. Chances are though that OneNote integration will not be available. The link is just not there. If you don’t need OneNote, skip the rest, and enjoy the rest of your day, documents will work just fine.

Trick 1

Since integrating with on-premises SharePoint requires a SharePoint Online license, you do have access to SharePoint Online. Remove all SharePoint sites you configured so far then enable integration with SharePoint Online. OneNote integration will light up. Ta-da? Not so fast. Now, if you try to add your on-premises site, the one that was working before, most likely you will receive “Failed authentication” error.

Trick 2

In short, after the trust is established, CRM Online sends claim to SharePoint on-premises where it’s mapped to a local account. For on-premises integration, claim emailaddress is mapped to a Work email of a SharePoint user account. And it does work until you enable integration with Online that sends nameid claim that happened to be Azure Active Directory PUID. SharePoint on-premises has no clue what this identifier is, tries to map it to local Active Directory SID and fails miserably.

The answer is buried in this small article about custom claims. What you need to do is to tell CRM Online what claim to send to the SharePoint. Turns out, there is a perfectly named sharepointemailaddress attribute on the systemuser so simply add it to the user form and tell CRM to send it as a claim.

service.Create(new Entity("usermapping")
{
    Attributes =
    {
        { "claimtype", "smtp" },
        { "systemuserattributename",
            "sharepointemailaddress" }
    }
});

(First you may want to check if the usermapping record for claimtype smtp already exists).

Trick 3

Everything is working now but only for my account. Ugh. CRM Online is now sending individual claims per user who’s accessing the instance. Since we are not using SharePoint Email Address attribute for anything else, why not to set it for all users to the same single account that is mapped to our SharePoint:

var qba = new QueryByAttribute("systemuser");
qba.AddAttributeValue("isdisabled", false);
var users = service.RetrieveMultiple(qba);
foreach (var user in users.Entities)
{
    service.Update(new Entity("systemuser")
    {
        Attributes =
        {
            { "systemuserid", user.Id },
            { "sharepointemailaddress", 
                "drink@bar.onmicrosoft.com" }
        }
    });
}

(You’d need to skip some user accounts that are outside of your control like Delegate Admin).

Like a boss meme

Tip #535: Licensing Microsoft Dynamics Marketing trial

Dynamics CRM TipperStopping the truck again, otherwise Daniel “Soft king” Cai won’t be able to market his awesome products.

Daniel: Computer says “No”

I wonder what criteria it is to get a MDM trial. I have successfully requested a new MDM trial, but when I try to assign myself a license for MDM, I am getting the following error message.

You can’t assign licenses that contain these conflicting services: Microsoft Dynamics Marketing Sales Collaboration – Eligibility criteria apply, Microsoft Dynamics Marketing Enterprise. Review the services included with each license, and try again.

What’s the point of making the trial instance available to me, but not allowing me to assign myself a license? Can anyone please help me get a trial? Ideally I hope that I can get a long-term instance, so that I don’t have to configure the integration options every time I get a new trial instance.

Jason: Computer says “Yes”?

Jason “I can make a kettle talk to CRM” Lattimer to the rescue:
On your O365 user under Licenses, look at the Microsoft Dynamics CRM Online Professional license, you should be able to expand it and under it you’ll see 3 different selections. Uncheck the option for Microsoft Dynamics Marketing Sales Collaboration.

Tip #534: Product Bundles

Product bundles is a feature that was added in Dynamics CRM 2015. Bundles addressed some of the major limitations of the old “kit” feature. It allows you to create product bundles that combine multiple products with various quantities, allowing users to add configured bundles to quotes, opportunities, and orders.

The biggest improvement over the old kit feature is that when a user adds a bundle to a quote, opportunity, or order, you can actually see all the products in the bundle, rather than just seeing the bundle. Users can then remove optional products from the bundle, if they don’t apply.

Product Bundles

Scott “Ribbon Workbench” Durow adds a few limitations to consider when using this feature:

  1. You can’t search on dynamic product properties through advanced find, but you can use FetchXml.
  2. There isn’t any way of making the price dependant on the product properties –but you can create a custom pricing component that does this which works really well.
  3. Once you have created a bundle – you can’t add/remove bundle items.
  4. Moving the product catalogue between orgs needs to be done using the Configuration Migration tool – it’s good at importing new products, but not at updating existing ones.
  5. You can’t import dynamic property values using the import utility.

Tip #533: Tipster guide to automatic record creation in Dynamics CRM

Hey, it’s Friday and our video dude is back from the brink. With many new service related features on the horizon, we take some time to refresh knowledge on current service features. In this video we show you how to use Dynamics CRM’s Automatic Record Creation feature. This can be used to create CRM records automatically from other records such as emails, tasks, etc.

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 #531: CRM, SPA and CORS walk into a bar

If you wanted to access your CRM from the javascript using web services, the only option until CRM 2016 was to wrap your script as a webresource. That way script is hosted in the same domain as CRM and “rides” authenticated session of your browser. External pages were no go because of the Cross-Origin Resource Sharing (CORS) issues.

CRM 2016 has CORS enabled so now you can create awesome things like single-page applications (SPA) that securely talk to CRM. I thought of putting some cool code together but, as usual, Jim “That’s Mr SDK for you” Daly was the first off the blocks with an SPA sample for CRM.

The most tedious part is authentication but now it’s an absolute breeze with the release of ADAL for javascript. Kilolines of code are now reduced to (simplified version, of course):

  window.config = {
      tenant: "contoso.onmicrosoft.com",
      clientId: "ef46083a-abba-dead-beef-4aafd81a93f5",
      postLogoutRedirectUri: 
           "http://contoso.com/crmspa.html",
      endpoints: { orgUri: 
           "https://contoso.crm.dynamics.com" },
      cacheLocation: 'localStorage', 
  };
  var ac = new AuthenticationContext(config);
  ac.login();
  ac.acquireToken(config.endpoints.orgUri, talkToCRM);

Detailed documentation is available, of course, from the Jim’s team. If you’re thinking of reusing your old code, that’s a no go, unfortunately, as CORS is only supported for Web API and not SOAP or OData v2.

Tip #530: CRM 2016 is available

Happy new

Earlier today at Convergence EMEA, Jujhar Singh announced general availability of Dynamics CRM 2016. The CRM Tipsters would like to wish everyone in the CRM community a happy new (CRM) year, and we are very excited to finally be able to talk about it.

The temptation for any CRM blogger is to say “hey, look at these shiny new features.” And there is a lot of shiny new goodness in CRM 2016. But the way we CRM is to look at what the features mean to real users. Hopefully we will get at least 250 more tips from this release.

The following are the areas about which we are most excited regarding CRM 2016:

For all users

  • Document generation
  • Documents in mobile
  • Mobile app linking (Export to Excel and generate Word Documents on mobile)
  • Hybrid Exchange server synchronization

For on premises users

  • Goodbye to the CRM 2013 sitemap and form nav bar.
  • Hello CRM for Phones

For CRM Online users

  • Offline mobile
  • Office 365 groups general availability
  • Significantly improved sandbox management
  • CRM App for Outlook (in another year or two we will fondly recall the ‘early’ days of the Outlook CRM Client)

Developers (They are users too. In a sense)

  • Web api (OData v2 is dead deprecated)
  • CORS support (single page apps, here we come)
  • Solution patching
  • New mobile custom controls
  • Web resources and iframes support in mobile
  • Online/on-premises parity (for now)