CRM online update schedule change: 2 per year

AS explained in a blog post yesterday, Microsoft is now going to make 2 major releases per year, 1 in April and 1 in October.

We are transforming how we do service updates for Dynamics 365 (online). We will deliver two major releases per year – April and October – offering new capabilities and functionality. These updates will be backward compatible so your apps and customizations will continue to work post update. New features with major, disruptive changes to the user experience are off by default. This means administrators will be able to first test before enabling these features for their organization.

In addition to the two major updates, they will continue to deploy regular performance and reliability improvement updates throughout the year. Also, release notes will be published months prior to each major update to help you plan for the new capabilities. The release notes for the October 2018 update will be published on July 23.

Starting with the April 2019 update, you can validate major updates in a sandbox environment in advance of the update release. This will help you assess productivity and efficiency gains of the new capabilities, as well as train your end users about new capabilities. We will publish the timeline of when to expect updates in sandbox environments in advance.

 

Error when exporting unmanaged solution: Business Process Error, Invalid Business Process

Tonight when trying to export a solution, I received the following error: Business Process Error, Invalid Business Process. The blue link “Show technical details” did nothing.

The reason was that I had use dthe “Save as” button on a business process to create a backup. That backup was never activated, it always stayed in draft mode. Simply removing that process from the solution allowed me to export that solution successfully!

 

Issue in editable grids: You must enter a number between -1000000 and 1000000

Last week, around June 30 2018, this bug showed up from nowhere. It’s thus a problem in editable grids, related to currency numbers apparently.

After searching the web and finding nothing, I reached the conclusion that it was a Microsoft bug… not always easy to convince the customers though. However, since this bug is online and showed up right after the update to Dynamics 365 Version 1612 (8.2.2.1960).

This is the link to the page describing the update in question, service update 14 for Dyamics 365 8.2.2.
https://support.microsoft.com/en-us/help/4338685/service-update-14-for-microsoft-dynamics-365-8-2-2

And, on July 2nd, a new thread appeared on community.dynamics.com discussing the issue, only confirming it.
https://community.dynamics.com/crm/f/117/t/286234

So as you can see, the only thing to do here is open a ticket to Microsoft support, and wait…
I hope they react quickly as for many customers, this is a show stopper for editable grids.

 

 

How to prevent meeting requests to be sent with Server Side Sync

What we did at my customer is the following:

  • Add a custom checkbox on the appointment: “Send meeting request”, unchecked by default
  • With a plugin, make sure that for every appointment, the subject is appended with a tag like ” – DONOTSENDMR”
  • Create an Exchange Transport Rule that prevents any calendaring message to be sent whenever the subject contains that tag
  • Make sure that when the checkbox is checked, the tag is removed, thus allowing the meeting request to be sent

Of course, doing so means that the tag will be synced as is in the calendar.

CRM and Chrome: Run as another user

As a CRM consultant, you need to test the customisations. With IE, Run as another user actually works and allows you to easily logon as any test user you like. However, Chrome consistently ignores the specific credentials entered and always logs on with the currently authenticated Windows user.

So in order to get this to work with Chrome, I created a desktop shortcut as follows:

“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –no-sandbox

The –no-sandbox command did the trick! And now I can use the “Run as another user” and authenticate to CRM in Chrome with any test user I want. However, running Chrome in this mode is not as safe. Please refer to this page for a quick visual introduction to the sandbox mode:

https://www.google.com/googlebooks/chrome/med_26.html

Or see here for more details:

https://chromium.googlesource.com/chromium/src/+/master/docs/design/sandbox.md

 

Connecting Power BI Desktop to Dynamics 365 Online: API Version

When trying to connect Power BI Desktop to Dynamics 365, I went in Dynamics 365, customizations, developer resources, and copied the Instance Web API – Service Root URL: ,

https://leolix.api.crm4.dynamics.com/api/data/v9.0/

After pasting that in Power BI Desktop, I encountered the following error:

“OData: The feed’s metadata document appears to be invalid”

The way I found to fix this error was to adapt the Web API url to the following:

https://leolix.api.crm4.dynamics.com/api/data/v8.2/

thus replacing 9.0 to 8.2 in order to target the previous version. It would seem the latest version is not yet supported by Power BI…

And it’s the case, as explained here.

“Currently, the Power BI service isn’t compatible with the Dynamics 365 (online) version 9.0 OData endpoint. When you try to use the version 9.0 OData endpoint with the Power BI service the error message “The feed’s metadata document appears to be invalid” is displayed. To work around this incompatibility, use the Dynamics 365 (online) version 8.2 OData endpoint.For more information about the different endpoint versions, see Web API URL and versions.”

How to reinstall the Dynamics 365 Outlook App After Removing It

Hi,

Recently I was testing the Outlook App. One of my tests was to remove it completely. To do that, I opened the settings in Office 365, clicked “Mail” at the bottom, then expanded “General” and clicked “Manage  add-ins”. This opens this page:

https://outlook.office.com/owa/?path=/options/manageapps

Note: this is the same page that is reached when you open the Outlook Client (2016 for example) and click File and Manage add-ins.
Note: this is different from clicking Options in Office 365 then clicking directly the “Manage add-ins” on the right. This opens the market place. You can see the Dynamics 365 add-in there by clicking “My add-ins”.

 

Manage add-ins
Manage add-ins in Office 365

From there, you have 2 options:

  • Uncheck the “Turned on” box. That is easy to reset.
  • Click the Minus “-” button. This will remove the add-in completely (as will the Uninstall button from the “My add-ins” page mentioned above).

Now, from there, the question arises: how to reinstall the add-in? The problem is that in CRM, in the settings related to the Outlook App, the user will still show as “Added to Outlook”. You can always click the button “ADD APP FOR ALL ELIGIBLE USERS” again and again, it will not reinstall the app… I tried to deactivate/reactivate the mailbox, and other things, nothing worked.

So… The answer was finally quite simple! In Dynamics, click the gear button on the top right. There, click on “Apps for Dynamics 365”.

Apps For Dynamics 365
Apps For Dynamics 365

Notice under “Microsoft Dynamics 365 App for Outlook”, the green checkbox “Already added to your Outlook”, and next to it the link “Re-add the app”. How beautiful is that link! You need to click it. It will re-add the app to all the eligible users who removed it.

CRM 2016 & Server Side Synchronization: How to prevent meeting requests (invites) to be sent

Well, there are actually 2 ways to do that.

  1. The first “way” is a workaround. As adviced by Microsoft, use the regarding field for your attendees, and simply stop using the (required and optional) attendees fields. This is of course not always acceptable.
  2. The serious way: create an Exchange transport (mail flow) rule. This rule can be designed as follows. For messages where:
    • The recipient is located Outside the organization (ToUserScope = NotInOrganization )
    • The message type is Calendaring (MessageType = Calendaring)
    • The subject contains “DONOTSENDINVITE” (for example)
    • => Delete the message

Such a rule is quite easy to create and to manage. Of course, you then create a dependency on Exchange, but it’s quite effective.

The fact is that Exchange actually sends the invites by default, so we need a way to stop that. And the Exchange rules do not cover many fields that are common to both Echange and CRM.

The type or namespace name ‘Xrm’ does not exist in the namespace ‘Microsoft’

I just created, for the first time, a plugin for a partner hosted CRM 2015 installation. After adding the Microsoft.Xrm.Sdk.dll assembly reference to the project, I tried to build, only to get this error:

The type or namespace name ‘Xrm’ does not exist in the namespace ‘Microsoft’

After digging a bit, it quickly became obvious that it was a .net framework version related issue. It took me another while to find this page: https://msdn.microsoft.com/en-us/library/dn481609.aspx and realize that the last release of the Microsoft Dynamics CRM SDK for Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update is built on .NET Framework 4.5.2. So I had to install it. As explained on the page, when installing .NET Framework 4.5.2 on your development computer, be sure to install the developer pack and not just the run-time. This will enable the 4.5.2 framework to be chosen in the New Project dialog box of Visual Studio and in the target framework drop-down menu of the project’s properties.

That solved my problem.

CRM 2011/2013/2015 Easy Navigation Solution

Click here to purchase the solution: 

Easy Form Navigation Solution

We are happy and proud to introduce our “Easy Form Navigation” solution!
What does it do? Well, a couple of things:

  1. Add tabs back to the form, either on top of the form (CRM 4 like) or on the left (CRM 2011 like), or both
  2. Add left menu back to the form: links to related entities can be brought back!

The picture below shows the account form with all three options activated:

Account form with top tabs, left tabs and left navigation Account form with top tabs, left tabs and left navigation

 

An important element to underline is that the solution is entirely html/css/javascript based. There is no Silverlight and no plugin. So, let’s review all this in more details.

1. Installing the solution

Just import the solution. All this will do is to create web resources. No other customization is performed upon installation. The solution is unmanaged, so you are free to change everything you want.

All the web resources schema names are prefixed with llx_.

So here’s the web resources that will be created with this solution:

  • llx_jquery.js (javascript)
  • llx_form_easynav (html)

Solution Elements:

Solution Elements
Easy Form Navigation Solution Elements

 

2. Options of the solution

Now that the solution is installed, it can be manually adding the web resources to the forms of your choice.

The options of the web resource

  • Left navigation: displays the links to the related entities
  • Left tabs: displays the form tabs on the left
  • Top tabs: displays the form tabs on top

See the pictures below:

  • Left navigation:

small_leftnav

 

  • Left tabs:

small_lefttabs

  • Top tabs:

small_toptabs

 

3. Manually adding the webresource

Simply add the web resource the form header. Here are the parameters:

  • Visible by default
  • Custom parameters: you can choose to activate any of the three options here:     lefttabs=true&toptabs=true&leftnav=true

add_webresource

  • Select the number of columns to have full width
  • 2 rows
  • Scrolling: never
  • Uncheck Display border

add_webresource

 

4. Warning

This solution combines supported and totally unsupported techniques:

  • The left part (tabs and navigation) are displayed by accessing undocumented and actually quite hidden javascript objects
  • Html code is dynamically inserted on the form

So, keep the following in min:

  • The web resource could become useless, in which case we would release a new version, if possible. But the worst case scenario is that you’ll have to remove it from the form
  • So, while this solution has been successfully tested on online environments, please keep in mind that Microsoft could make updates that can break the solution.
  • This solution is sold “as-is”, with no warranty whatsoever that it will work. It uses unsupported techniques and it can break your system. Use it at your own risk. Leolix will not take responsability for any damage that would be caused by using any of its products. Make sure an experienced Dynamics CRM expert uses it.