CRM 2011 – Extending CRM 2011 Study notes

At the tail end of last year I passed the CRM 2011- Extending CRM 2011 certification and I thought I would just mention how I passed the exam and put up some of my notes to help other people in the CRM dynamics Community pass the exam

I used the Microsoft MOC’s, so if you can get the company you work for to pay for you to go on the course I would recommend that, the link to the course is below

Otherwise I would recommend the elearning of the same course.

I found a great study guide from the blog MSCRM Geek on the blog post below

The study guide is 107 pages long

If you want to download just the guide go here

MB2-876 Extending CRM 2011 Exam Notes.docx (1.92 mb)

I have to say it’s very generous of Jason Weibel to put his notes up and I will certainly use the notes whislt studying for this exam

Although I’m not sure if 100 page document is really study notes but this exam is a whopper

Below are may final revision notes, they will only mean something once you have studied for the exam.  They are not in any order and they were just some things I wanted to remember and learn a few days before taking the exam.

Hosk’s revision notes for Extending CRM 2011 

Client side iFrame event = OnReadyStateComplete. 

Early Bound classes

You used the CrmSvcUtil.exe to create early bound classes

Late Bound Classes

You can access variables which are not created at compile time

Debugging a custom workflow – CrmAsyncService.exe process.  You can read more about it

  • REST – The REST endpoint for AJAX and Microsoft Silverlight clients provides an alternative interface that you can use to work with Microsoft Dynamics CRM data. Rather than directly invoking the SOAP-based Web service, you can execute requests using a service that is based on a URI. For more information, see Use the REST Endpoint for Web Resources.
  • WSDL – This programming paradigm lets you develop code from non-.NET clients, and does not depend on the use of Microsoft Dynamics CRM assemblies. For example, you can use this programming model to write code for Microsoft Dynamics CRM in Java. For more information, see Development from Non-.NET Clients in Microsoft Dynamics CRM.

REST = Create, Read, Update, Delete.  Also Associate and Disassociate

SOAP = Assign, Retrieve Metadata, Execute Messages

Use of the REST endpoint is limited to JScript libraries or Silverlight web resources.

Javascript form events

OnSave and OnLoad events for the form

OnChange events for a field

TabStateChange for Tabs

OnReadyStateComplete for iFrame to indicate it has loaded.


SiteMap is displayed in Outlook as a list of folders shown in ALPHABETICAL order

The Entity class has replaced the DynamicEntity class

Custom XAML workflows cannot be used with CRM Online

Custom workflow activities inherit from the CodeActvity base class

Custom Workflow users Windows Workflow Foundation 4.0.  This requires .NET 4

Extraqs is an parameter for forms, you can only have one variable but you can included data to manually split.

Plugins can be deployed to the CRM Database or to the Server hard disk


OData sends and receives data by using either ATOM or JavaScript Object Notation (JSON). ATOM is an XML-based format usually used for RSS feeds. JSON is a text format that allows for serialization of JavaScript objects.

Web Resources can be CSS, XSL and XSLT.

Files must be uploaded as Web Resources if you want to use them in CRM.

IDiscoveryService is used to see what organisations the user can view

IOrganizationService is used to run CRM commands


CRM 2011 uses XRM not crmForm



Xrm.Page.ui.GetFormType(); – gets formtype e.g. 1 for create, 2 for update

Xrm.Page.ui.close(); – closes the form“saveandclose”);

Xrm.Page.context.getAuthenticatedHeader() – returns user credentials.

getAuthenticatedHeader is depreciated, it must have Xrm.Page.context in front of it.

Xrm.Page.context.getUserRoles() – gets user roles


Assign a record to a user/team

Share a record with a user/team

Capabilities of Image Web resources

With image Web resources you can add images where you need them. Common uses include the following:

  • Custom entity icons
  • Icons for custom Ribbon controls and SiteMap subareas
  • Decorative graphics for entity forms and Web page Web resources.
  • Background images that are used by CSS Web resources

Limitations of Image Web Resources

Like all Web resources, image Web resources use the Microsoft Dynamics CRM security context. Only licensed Microsoft Dynamics CRM users who have the necessary privileges can access them.

Only the four specified types of image files (*.jpg, *.png, *.gif, *.ico) are supported.

Limitations of HTML Web Resources

  • An HTML web resource cannot contain any code that must be executed on the server. ASP.NET pages cannot be uploaded as HTML web resources.
  • HTML web resources can only accept one custom query string parameter called “data”.

Custom Workflow Activities (Workflow Assemblies)

You can create custom workflow activities in Microsoft Visual C# or Microsoft Visual Basic .NET code by creating an assembly that contains a class derived from the Windows Workflow Foundation CodeActivity class

Custom workflow activities are not supported for Microsoft Dynamics CRM Online. This is because Microsoft Dynamics CRM workflows are not supported to run in sandbox mode, and if the custom XAML workflow contains malicious code, this can lead to data security issues

Required Software and Assemblies

To develop Windows Workflow Foundation 4 custom activities, you must use Microsoft Visual Studio 2010, which requires Microsoft .NET Framework 4. If it is not available on your computer, Microsoft Visual Studio 2010 will install it.

The following assemblies must be added to your project. They can be found in the SDK\Bin folder in Microsoft Dynamics CRM SDK.

  • Microsoft.Xrm.Sdk.dll
  • Microsoft.Xrm.Sdk.Workflow.dll
Use the CodeActivity Workflow Base Class