Neil McDonald's Dynamics CRM 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

January 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

September 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

March 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

February 19, 2013 at 5:49 pm

Posted in CRM 2011

Tagged with , , ,

Restricting Hosted CRM Users From Browsing Active Directory

with one comment

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

December 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

August 16, 2012 at 3:41 pm

Posted in CRM 2011

Tagged with ,