CRM 2011 – Top CRM blogs

Microsoft Dynamics world recently had a survey to find out the best CRM blogs, Richard Knudson discusses the top 5 on his blog this week, which you can read about here.  Although Richard is talking about it because he is featured at number 4.  He certainly deserves to be in the top 5, his blog is consistently excellent, especially considering he is a one man band, where as other blogs featured have a few contributors.

Since I have been using Netvibes I can subscribe to lots of CRM blogs but it is these 5 which produce some of the best articles.  Not only do they produce the best blog entries but the volume of blog entries is incredible from these blogs

Here’s an executive summary, starting with the listing of the top five:

  1. The official Microsoft Dynamics Team Blog
  2. The Customer Effective Blog
  3. A CRM Riff by Jim Glass
  4. Richard Knudson’s Dynamics CRM Trick Bag (this one)
  5. The PowerObjects Blog

I would also add a few more blogs to that list

CRM 2011 – Getting Started with LINQ in CRM 2011

I have been using LINQ with CRM 2011 and I have to say it’s awesome.  It’s a great way to code without having to write connectors to SQL databases.  I used to spend hours and days writing database code when I was a Java programmer, not to mention I am always forgetting how to write complex SQL statements joining tables etc.

LINQ is one of the areas that is well covered in the SDK, it has lots of examples and creating the dataContext is a piece of cake.  I went about learning LINQ a bit backwards because I got started with LINQ in CRM 2011 by just using the samples and then I have just finished reading a chapter on it for the 70-515 .NET 4 exam.

If you want to get started writing LINQ queries for CRM 2011, I found these pages from the SDK the most useful

Firstly you have the parts of a LINQ query




How to retrieve data using LINQ

then you have this page about the LINQ functions



An example on how to build a complex LINQ query

I would also recommend this page Use The Organisation Service Context Class, You need to know this because this creates the DataContext which LINQ uses to connect to the CRM database (which saves you writing all that troublesome code yourself)

finally to finish off you have the real winner, lots of LINQ Samples.  If you are going to click on one link then this is the one to go for because from this you will quickly understand enough to start writing your own LINQ queries.

SDK code Samples : queries

I found learning LINQ one of the easier parts of CRM 2011 and also one of the most beneficial.

These pages from the CRM 2011 – building LINQ queries

In This Section

Use LINQ to Construct a Query
Provides information about how to create LINQ queries. 

Use Late-Bound Entity Class with a LINQ Query
Learn how to use late-bound entity classes with LINQ. 

Order Results Using Entity Attributes with LINQ
Learn how to use Lookup attributes with LINQ. 

Filter Multiple Entities with LINQ
Learn how to work with multiple entities. 

Page Large Result Sets with LINQ
Learn how to use the Skip and Take operators to page query results. 

LINQ Query Examples
View LINQ sample queries. 

Sample: Create a LINQ Query
Learn how to create simple LINQ queries. 

Sample: Complex LINQ Queries
Learn how to create more complex LINQ queries. 

Sample: RetrieveMultiple With Condition Operators Using LINQ
Learn how to use retrieve multiple condition operators with LINQ. 

Sample: More LINQ Query Examples
Learn how to use Skip and TakeorderBy and complex where conditions. 

Sample: Use LINQ with Late Binding
Learn how to build LINQ queries that use late bound entities. 



Sample CRM Developer Resume/CV

I caught a link the other day to a sample CRM Developer CV.  Although the samples are very general they do give an insight to what recruitment consultants think should be on a CRM developers CV.

They are of interest to me not because I am looking for a job but because it gives me an idea of what areas I should be learning.  I would say they are focused around CRM 4, so I would imagine CRM 2011 developers would also need to have the .NET 4 skills such as WCF, oData, Linq, Jquery and silverlight would also be beneficial.  These are certainly some of the skills I have improved on since I have been developing with CRM 2011.

the main skills it lists as

SQL Server, Microsoft CRM 4.0,.NET, Reporting Services, web services, C#, SSIS, Scribe, Ajax, JavaScript, Workflow, CRM System Architecture.

These and the new ones I mentioned above would certainly cover all the knowledge you would need for a CRM developer.  These are the core skills it would also be beneficial to have experience in Sharepoint development, particularly as SharePoint 2010 integrates very well with CRM 2011.

These are the core skills mentioned, they seem a bit non de script to me

Core Skills

  • Design, customization, and implementation of Microsoft CRM 4.0.
  • Coordination in Wireless Devices and Outlook CRM Laptop Client.
  • Design and administration of SQL Server Database.
  • Integrations with Great Plains, SharePoint, Scribe, Web Services, and BizTalk.

I was interested to see how they described the skills they had picked up at work, quite well written, not a great deal of detail but to the point and this is what employers want, they want a quick tick of your skills and maybe an example.  All the CV is really going to do is get you an interview and then at that point you can persuade them why you are perfect for the job.

Microsoft Crm Consultant
2004 to Present

Technical expert provides highly effective CRM application design skills to offer configuration, installation, customization and enhancement of CRM systems for small to mid-size firms.

  • Custom installation and integration of MSCRM Outlook client.
  • Incorporation of accounting systems (e.g., QuickBooks) into Microsoft 3.0 CRM.
  • Design and implementation Microsoft CRM Architecture.
  • Web 2.0 developments with Adobe Flex, Ajax, and SilverLight.
  • Administration and design of SQL Server database.
  • SQL Server 2000-2005, IIS, BizTalk 2006, Oracle,.NET 2.0/3.0, SharePoint 2007.
  • Visual Studio 2003-2005-2008, C#, ASP.NET, XML, C++, Java, DHTML, JavaScript.


Here are the links to the Sample CV’s I found

CRM Developer CV’s


crm consultant

CRM 2011 – How to use external Javascript files

There are a few javascript files which you want to call, like json2.js file and probably jquery.js file.

I couldn’t understand initially how you to call another Javascript file from within my javascript file.

The actual answer was quite obvious after I worked it out.

you have to import the Javascript file as a webresource.  This won’t mean you will be able to access it because you also have to make sure you select the file in the form properties and then Add it in the form libraries.

What this means is when the form loads, it will also load the javascript file.  Once it is loaded you can then call the functions on the form.

I only worked this out because I added the other Javascript file and when I was debugging I could then see all of the Javascript files I had loaded.

IE8 – debug windows opens out of screen



Other ways to maximize an open window:

  • Double-click the top of an open window just below the top edge. To restore a maximized window to its original size, double-click the top of the window again.
  • On the taskbar, press Shift and right-click a taskbar button or a preview of an open window, and then click Maximize.
I was having major problems with the debug window.  When I was firing up the debug window (by pressing F12), the window was appearing outside of the screen.  I think this problem was caused because at work I had an extra screen and then when I was at home I only had the laptop.
The problem I had was I couldn’t find any way to maximise the screen to bring it onto the main laptop screen.
In the end I found that by pressing the windows key – Picture of Windows logo key and then down arrow or up key.  You can then press shift to go through the screens until you get the developer debug screen.

CRM 2011 – How to set an attribute label in Javascript

It took me a while to figure this out but finally thanks to this forum post I did it.  I think what was confusing me was you had to get the control and then set the label.

var affectedControl = Xrm.Page.ui.controls.get(fieldname);

var affectedAttribute =;


affectedControl.setLabel(‘New label’);

Learning Resource – Getting started with Silverlight

I have started to have a look at silverlight and found there is a really good resource for getting started with Silverlight

It has lots of videos, labs, tutorials.  This is probably a good place to start to get to grips with silverlight.  Looking at all the material I feel there is a long way to go but every long journey starts with one step.

here is what is briefly covered at the site

Start Learning Silverlight

  1. Watch Getting Started for Silverlight Web

    Watch Getting Started for Silverlight Out-of-Browser (Desktop)

    Pete Brown introduces the concepts and tools needed to get started with Silverlight development in its two major forms: in-browser and out-of-browser. The web video introduces basic concepts, the out-of-browser video expands those to create a simple Twitter client.

  2. Read Tim Heuer’s 8-part blog series on getting started

    Tim’s blog posts will walk you through the fundamentals of Silverlight and will help you build a sample application along the way. Each step includes source code as well as C# and Visual Basic code for the completed application.

  3. Watch How Do I Videos

    Over two dozen new Silverlight 4 videos including Jesse Liberty’s new Silverlight 4 From Scratch series.

  4. Walk through the QuickStart Tutorials

    The quickstarts walk you through key Silverlight concepts, illustrated on-page with working Silverlight examples and demo applications.

  5. Read Jesse Liberty’s Tutorials

    Learn more about Silverlight with Jesse’s tutorial series.

  6. Learn to use Expression Blend with .toolbox

    Follow the free, fun Silverlight and Expression courses and tutorials at the Microsoft .toolbox site to understand how to use the key features of Expression Blend. Also consider running through the Project Rosetta tutorials.


CRM 2011 – How to add crmsvcutil to the External tools menu in Visual Studio

I am loving the CRM 2011 early bound functionality.  The one draw back is it you have to run the crmsvcutil quite often if you are adding/removing fields from your entities.

If you want to see a quick example of using the crmsvcutil to generate you classes check this blog out

simple crmsvcutil example

In visual studio under the tools menu there is an External Tools section where you can call exe’s, pass them some variables and run them.  crmsvcutil is a prime candidate for that.

so go to the Tools/External Tools

Click Add

Give it a cool title like – Awesome crmsvcutil tool

in the command you need to specify the location of the crmsvcutil.exe

here is mine – C:\Hosk Stuff\crm\CRM2011\sdk\bin\crmsvcutil.exe

in the arguements you put in the arguements you want to pass to crmsvcutil.exe

/url:http://crmserver:5555/crmorganisationname/xrmServices/2011/Organization.svc /out:earlyboundclasses.cs /username:hosk /password:Hoskspassword

finally you specify the initial directory which is where you want the output to go


I just put in on the c drive for now.

So there we go, it should be such a choir to build your early bound classes any more.

web.Config Error – duplicate scriptResourceHandler section defined

this was the annoying error I was being plagued with today

Config Error There is a duplicate ‘system.web.extensions/scripting/scriptResourceHandler’ section defined

I was getting this error today and it was very annoying but then when you work out what the problem is quite interesting, especially if like me you are studying for the 70-515 .NET web applications exam.

A bit of background.  I had created a website, it was a demo website and in the website it had a sectionGroup with the name of scripting.

<sectionGroup name=”scripting” type=”System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″>

When I tried to run the website it then popped up with the annoying duplicate error.

The way ASP.NET works is you have default settings held in the machine.config.  These are used by all Web sites using that version of .NET, in this case 4.

When you create a website, you can over write the machine.config settings and have local setting specified in your web apps web.config.


The reason I was getting duplicate errors was because it was almost the same reference, except one of them was 3.5 and one of them was 4.0.  Depending on what server you have got (in on iis 7) you can find the machine.config somewhere around here



local web.config

<sectionGroup name=”system.web.extensions” type=”System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35″>



<sectionGroup name=”scripting” type=”System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″>


to solve the problem I deleted the sectiongroup from my local web.config and then the problem went away.

for more information I found these web links useful