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: –

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.Read the rest of this entry »

Some of the SQL and JavaScript formatting got lost during the transfer, so I’m currently in the process of checking it all over. If you find anything not working, leave a comment and I’ll get it fixed.

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

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 »

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.

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.

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.

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 »

I’ve been experiencing an issue since the launch of CRM 2011 (online and IFD). Opening a Silverlight web resource in a new window from the Outlook client causes the user to see a login prompt rather than the web resource.

Other people have been reporting the same problem in the CRM forums both here and here, but none of the proposed solutions seemed to work for me. I had to advise users to log into CRM from Internet Explorer and leave it minimised to get around the problem.

When Microsoft introduced CRM 2011 Update Rollup 8, they also introduced a number of new Xrm.Utility JavaScript functions. Xrm.Utility.openWebResource jumped out at me as a possible fix to the login prompt issue. You can read more about the new functions on the Microsoft Dynamics CRM blog.

The JavaScript I had been using to launch my web resource from the ribbon button was: –

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.

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).

Stop the profiler and take a look at the results

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.