Neil McDonald's Dynamics 365 Blog

Archive for the ‘CRM 2011’ Category

CRM Outlook Client Spell Check

leave a comment »

Recently, a customer has found that spell checking is not available when typing into forms on the CRM Outlook client. Spell checking is built into Internet Explorer and works fine on the web client, so I wanted to find a way to get it working in Outlook.

spell1

Using this MSDN article, I found that adding a registry key may help. After some trial and error, the following key and value had the desired effect. Read the rest of this entry »

Written by neilmcd

Jan 27, 2015 at 4:21 pm

Chrome 37 breaks CRM 2011 and 2013 functionality

with 20 comments

Google has removed a number of APIs from Chrome 37 which is causing a lot of issues with CRM 2011 and CRM 2013. So far I’ve noticed: –

  • You can no longer add options to Option Set fields via customisation
  • Changes made to an email in a workflow are not saved when the save button is clicked
  • The ‘Upload’ button on the SharePoint list component no longer works
  • Anything using the ‘window.showModalDialog’ function no longer works as the API has been deprecated
  • Can no longer save field properties such as ‘Visible by default’
  • Export to Excel no longer works

In order to fix the problem until Microsoft issue a real fix, you can re-enable the deprecated features by following the below: – Read the rest of this entry »

Written by neilmcd

Sep 8, 2014 at 1:35 pm

Posted in CRM 2011, Misc

Tagged with , ,

Cross Browser Support For Calling Workflow Via Ribbon Buttons

with 2 comments

For some time now, I’ve been using ribbon buttons to call various workflows, both from open records and subgrids. There’s a good guide here on how to do this, but like most guides, they were written before update rollup 12 was released. Since cross-browser support was introduced in UR12, I’ve found that the ribbon buttons do not work unless I’m using Internet Explorer.

After looking at the JavaScript code again, I could see why it was failing (snippet below)

var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
Xrm.Page.context.getAuthenticationHeader() +
"<soap:Body>" +
"<Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
"<Request xsi:type=\"ExecuteWorkflowRequest\">" +
"<EntityId>" + guid + "</EntityId>" + //entity record ID
"<WorkflowId>" + workflowId + "</WorkflowId>" + //WorkflowId - guid of the workflow
"</Request>" +
"</Execute>" +
"</soap:Body>" +
"</soap:Envelope>";

var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.send(xml);

The XMLHttpRequest is being created using ActiveX, which is only supported by Internet Explorer.

Simply changing the affected code to the below has fixed the issue and it now works across all browsers.

var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.open("POST", "/mscrmservices/2007/CrmService.asmx", false);

Note: The change on the second line may not be obvious, but .open has been changed to use a lower case O

Written by neilmcd

Mar 27, 2013 at 5:17 pm

Reducing Bandwidth Requirements Via Compression

leave a comment »

I’ve been looking at ways to try to increase the performance of our CRM infrastructure recently. I followed this Technet Optimisation guide some time ago, but thought it was worth a revisit. The tips here were great when I first configured our CRM environment, but that was almost 2 years ago now!

One thing which jumped out at me was the ‘Using Compression Techniques’ section. I remember following this in the past, but the section on ‘Dynamic Compression’ jumped out at me, as I don’t recall following before. It specifically talks about compressing responses sent to SDK clients such as the Outlook client. Standard HTTP compression does not do this, so since a lot of my our users use the Outlook client, I gave it a go.

Both the command line and GUI steps can be found in the Technet article, but here are the IIS 7.5 steps which I followed to enable it: –

  1. In Internet Information Services Manager, click the <Server name>, scroll down in the Features View to the Management section, and then start the Configuration Editor.
    comp-1 Read the rest of this entry »

Written by neilmcd

Feb 19, 2013 at 5:49 pm

Posted in CRM 2011

Tagged with , , ,

Restricting Hosted CRM Users From Browsing Active Directory

with 2 comments

When adding users to CRM via the Add Multiple Users wizard, it’s possible to view all users in Active Directory and then add them as CRM users

Screen_shot_2012-12-20_at_17

In a hosted environment, this is not ideal, as admin users for each organisation will be able to see users from all other hosted customers.

With CRM 4, there was a method of restricting users to only browse users in a particular business unit (see here). Unfortunately, this tool does not work with CRM 2011.

By looking at an old CRM 4 instance, I had a hunt around to see which settings were actually changed by the config tool to see if they would still work in CRM 2011. Thankfully, I found where to add the settings and it still appears to work in CRM 2011.

Note: The rest of this post involves making changes directly to the MSCRM_CONFIG database and this is completely unsupported. Please only try this if you have your CRM databases backed up. Please try it on a test environment first. Read the rest of this entry »

Written by neilmcd

Dec 20, 2012 at 6:14 pm

Posted in CRM 2011

Tagged with , ,

Import a Solution Without Form Customisations

leave a comment »

I’ve been using a solution recently which I really like, but it has added quite a lot of new fields, tabs, sections etc to my default entity forms which I didn’t really need.

I want some of the features of the solution, but without the form customisations. To get around this I took a look inside the solution zip file.

Note: You should check that the solution does not rely on the form changes by performing this on a dev system first. Also, make a backup copy of the solution and your MSCRM database. In this case, I’m using a managed solution, so the changes can be easily reversed by uninstalling.

Solution1

I extracted the customizations.xml file to my machine and opened it up in Notepad++. In this case we’ll look at the Account entity.

Solution2

If you scroll through the Account entity, you’ll eventually get to the <FormXml> element. I find it easier to get the <EntityInfo> element out of the way by minimising it with Notepad++. It saves me scrolling through 2500+ lines.

Solution3

The <FormXml> element contains all of the form customisations which are going to be imported i.e. fields to display, sections on-load/on-save script etc. Read the rest of this entry »

Written by neilmcd

Aug 16, 2012 at 3:41 pm

Posted in CRM 2011

Tagged with ,

CRM Email Router and Office 365

leave a comment »

We were recently moved from Microsoft Business Productivity Online Standard Suite (BPOS) to the new Office 365 platform.

BPOS was built on the 2007 range of Microsoft’s server products, so the step up to SharePoint and Exchange 2010 is very welcome.

However, I needed to reconfigure our CRM email router to process emails from the new system.

I tried all sorts of weird and wonderful email server URLs and kept being greeted by ‘401 Unauthorised errors’. Using auto-discover seemed to work for a few of the mailboxes, but it was very slow and occasionally stopped working until the Email Router service was restarted.

Finally, I got it working. After accessing webmail from the 365 portal, take the URL from the address bar and adapt it for the Exchange web service URL e.g.

1

becomes…

2

My Email Router configuration profiles for both outgoing and incoming mail look like this: –

3

Now when testing the connection on users and queues, I’m greeted with the familiar Incoming Status: Succeeded message.

Read the rest of this entry »

Written by neilmcd

Jan 20, 2012 at 4:39 pm

Posted in CRM 2011

Tagged with , ,

Add a CRM Calendar to a dashboard

with 9 comments

Dashboards in Dynamics CRM 2011 are a great way to visualize data. Did you know that they can also be used to view pretty much any other web content?

I’ve recently had a requirement to add the CRM Calendar to a dashboard. I could have simply added a list of appointment activities to the dashboard, but the actual calendar control looks a lot nicer.

To do this, first we need to get the URL of the Calendar page. Load up the IE developer tools (F12 in IE9) and start a profiler. Now navigate to the calendar in CRM and click on ‘Month’, ‘Week’ and ‘Day’ (we want the URL for each page).

1_cycle_through_pages

Stop the profiler and take a look at the results

2_profiler

As you can see, we’ve got the URLs of the 3 calendar views needed for the dashboard. The URL seems to contain a parameter for the current date in ISO8601 format (YYYY-MM-DDThh:mm:ss). We’ll have to deal with that inside of our web resource.

Read the rest of this entry »

Written by neilmcd

May 10, 2011 at 4:00 pm

Posted in CRM 2011

Tagged with , , ,

CRM 2011 Update Rollup 1

leave a comment »

Update Rollup 1 for Dynamics CRM 2011 has been released and fixes a lot of issues. You can get the update from Microsoft downloads now or wait for it to be pushed out via Windows update on 26th April 2011.

Written by neilmcd

Apr 8, 2011 at 7:54 am

Posted in CRM 2011

Tagged with