CRMKnowledge provided core user training to our marketing and sales team as well as bespoke consultancy on best practice for Dynamics CRM online and ClickDimensions to the CRM adoption project team as it was being on-boarded to the business. We found their extensive knowledge of the system and it’s real world use invaluable in the decision making process during the project.

Charles Creswell. Head of Information Systems, ACT

Share this page

Extending Microsoft Dynamics CRM

Course code
80295
RRP
£1395
Audience
This course is a CRM development course intended primarily for partners and customers who have a technical background and familiarity with Microsoft Dynamics CRM 4.0 or Microsoft Dynamics CRM 2011. The audience must also be experienced in basic form customisations and workflows.
Examination
MB2-876
Certification
Microsoft Dynamics Certified Technology Specialist
Sure Step
Development (also Operation , Design ) (about this)
Error loading MacroEngine script (file: CoursePage-AvailabiltySection.cshtml)

Most of our courses are available on a one-company basis and can usually be customised to your specific needs. Please contact us for more information.

Is this the right course for you?

Peter says:

One for the technically adept and those of us who need to dive deep in to the world of the SDK. This course looks at the many ways in which a CRM solution can be effectively customised using Javascript, SDK extensions, web service interfaces and workflow extensions. This is an intensive course which lasts 3 days and generally is most useful to the CRM developer or technical analyst. You really need some solid .net coding experience and solid understanding of the CRM data structures to get the most out of this course. This course is highly recommended for those wishing to take the Extending CRM exam.

When is this course most useful?

This course is most useful during these Sure Step phases:

Design, development, operation

Course overview

Print this overview
This course offers detailed and interactive information on how to develop extensions for Microsoft Dynamics CRM, with focus on extension methods documented in the Microsoft Dynamics CRM SDK. It provides instruction on the use of a number of Common Platform Operations, on how to query and execute these operations, as well as on developing a concise understanding of business process implementation and workflows. In addition, the course describes how to use Plug-ins, application event programming, client extensions and web resources. Finally, it includes a summary overview of the integration between Windows Azure and Microsoft Dynamics CRM.

At Course Completion

After completing this course, students will be able to:

  • Describe how Microsoft Dynamics CRM is extended and the core extensibility features.
  • Use common methods to access system and custom entities, including the Security Model, business logic, xRM Framework and exceptions.
  • Execute queries in the Microsoft Dynamics CRM database, including QueryAttribute, QueryByExpression, LINQ, FetchXM, filtered views and OData.
  • Explain how the Organisation Service web service interacts with Microsoft Dynamics CRM metadata.
  • Develop custom workflow activities for use within Microsoft Dynamics CRM that run code when configured workflow or dialog rules are created.
  • Debug custom workflow activity code and use declarative workflows for On-premise deployments.
  • Use Plug-ins to extend the functionality of events for any entity in Microsoft Dynamics CRM.
  • Understand the integration between Windows Azure with Microsoft Dynamics CRM.
  • Use the built-in features of the Microsoft Dynamics CRM application and understand how the Dynamics CRM application behaves when forms are loaded or saved, field data changed, tabs change state, and when IFRAMES are uploaded.
  • Add custom buttons, menu items and modifications to the navigation areas, including interaction with the Site Map and the Ribbon.
  • Add custom web content (for example HTML, Images, Silverlight, JavaScript) to CRM forms.
  • Use web resources to enable the storage of shared blocks of code or resources for reuse across the Microsoft Dynamics CRM web application.

Course Outline

Module 1: Extensibility Overview

This module introduces some of the basic concepts in Microsoft Dynamics CRM, including a brief description of the xRM Application Framework, and the platform and features upon which it is built. The module also provides a review of the Security model, business logic, business entity and data access components.  Finally the module contains a list of helpful skills and resources to assist in the development process.

Lessons

  • Objectives
  • Introduction
  • xRM Application Framework
  • Extensibility Platform and Features
  • Security Model
  • Business Model
  • Business Logic
  • Business Entity Components
  • Data Access Components and Platform
  • Helpful Skills
  • Resources
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

After completing this module, students will be able to:

  • Describe how Microsoft Dynamics CRM is designed to be extended and the core extensibility features
  • Explain how the Security Model affects custom development and design.
  • Explain how "business logic" is incorporated
  • Explain how entities are structured and defined within the xRM Framework
  • Examine how data access is handled with the application
  • Recognise the skills developers will use to extend Microsoft Dynamics CRM and the resources available to them

Module 2: Common Platform Operations

This module explains how to use a number of common methods to access both system and custom entities in Microsoft Dynamics CRM.  It includes a detailed description of these methods and the available data types in the system. The module also contains a sample application that shows the audience how to create and update a Microsoft Dynamics CRM entity. Finally, it provides some helpful information about error handling.

Lessons

  • Objectives
  • Introduction
  • WCF Web Services
  • Discovery Service
  • Early versus Late-Binding
  • Early-Bound Entity Class
  • Late-Bound Entity Class
  • Organisation Service
  • Authentication and Authorisation
  • Entity Information
  • Working with Data Types
  • Using the Create Method
  • Using the Retrieve Method
  • Using the Update Method
  • Using the Delete Method
  • Using the RetrieveMultipleMethod
  • Handling WCF Faults
  • Summary
  • Test Your Knowledge
  • Solutions

Lab: Lab 2.1: Creating Leads

  • Goal Description
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab: Lab 2.1: Account Management Application

  • Goal Description
  • Need a Little Help?
  • Step by Step
  • Step by Step

After completing this module, students will be able to:

  • Discuss the use and benefits of the Windows Communication Foundation
  • Use the Discovery Service web service to access Organisation-level information
  • Explain the difference between early and late-bound classes
  • Use the code generation tool to create a file which contains multiple classes to use in early-bound code
  • Develop custom code that used late-bound classes
  • Reference and use the Organisation Service
  • Explain security dependencies
  • Identify how Entity information is used with the Organisation web service
  • Identify the different Microsoft Dynamics CRM data types
  • Use the Create method of the Organisation Service class to create a new record in Microsoft Dynamics CRM
  • Use the Retrieve method of the Organisation class to retrieve a single record
  • Use the Update method of the Organisation Service class
  • Use the Delete method of the Organisation Service class
  • Use the RetrieveMultiple method of the Organisation Service class
  • Identify how to manage exceptions thrown by the Microsoft Dynamics CRM platform

Module 3: Querying Data and Executing Operations

This module provides the audience a variety of ways to query the Microsoft Dynamics CRM database including: QueryAttribute, QueryByExpression, LINQ, FetchXML, Filtered views and OData. Additionally, the module describes the Execute method and explains how to use the OrganisationRequest and OrganisationResponse messages within Microsoft Dynamics CRM. Finally, the module explains how the Organisation Service web service can be used to interact with Microsoft Dynamics CRM metadata.

Lessons

  • Objectives
  • Introduction
  • Querying in Microsoft Dynamics CRM 2011
  • Query Expression
  • QueryByAttitude
  • LINQ Queries
  • FetchXML
  • Filtered Views
  • OData
  • Execute Method
  • Requests and Responses
  • Using the MetadataService Web Service
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab: Lab 3.1: Using QueryExpression

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab: Lab 3.2: Using LINQ to Perform, Create, Read, Update and Delete Operations

  • Goal Description
  • Challenge Yourself
  • Need a Little Help?
  • Step by Step
  • Step by Step

Lab: Lab 3.3: Using Fetch XML

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab: Lab 3.4: Using FetchXML

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab: Lab 3.5: Using Request and Response

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step #C
  • Step by Step Visual Basic. NET

After completing this module, students will be able to:

  • List querying options available to developers
  • Use the QueryExpression class to retrieve records based on complex criteria
  • Use the QueryByAttribute class for simple queries
  • Identify the benefits and appropriate uses of LINQ when querying and interacting with data
  • Demonstrate and explain the uses of FetchXML
  • Examine how filtered views can be used to access data by using SQL
  • Use and specify OData elements when querying
  • Use the Execute method of the Organisation Service for more specific platform operations
  • Identify common Request and Response classes
  • Access and update schema information through he Organisation Service web service

Module 4: Implementing Business Processes

This module explains how to develop custom workflow activities for use within Microsoft Dynamics CRM.  The functionality of Microsoft Dynamics CRM can be extended by writing custom workflow activities that run code when configured workflow or dialog rules are run.  In addition, the module describes how to debug custom workflow activity code as well as how to use declarative workflows for On-premise deployments.

Lessons

  • Objectives
  • Introduction
  • Overview of Workflow
  • Overview of Dialogues
  • Setting up Custom Workflow Activity Assemblies
  • Demonstration: Configuring a Custom Workflow Activity
  • Creating Custom Workflow Activities
  • Debugging Custom Workflow Activities
  • Creating and Modifying Windows Workflow Foundation (XAML Workflows)
  • Demonstration: Modifying an Existing Workflow in Visual Studio 2010
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab: Lab 4.1: Creating a Custom Workflow Activity

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step C#
  • Step by Step Visual Basic .NET

After completing this module, students will be able to:

  • Identify core workflow features in Microsoft Dynamics CRM
  • Review the basic concepts, terminology and benefits of using dialogues
  • Examine the steps involved in developing and deploying custom workflow activities
  • Create custom workflow activities
  • Debug custom workflow activities
  • Modify an existing Microsoft Dynamics CRM 2011 workflow in Visual Studio

Module 5: Plug-ins

This module provides the audience with an overview of Plug-ins.  Plug-ins are powerful mechanisms used to extend the functionality of events for any entity in Microsoft Dynamics CRM 2011.  The module reviews how plug-ins are used.  It provides an explanation of the event framework, and examines Plug-ins as they pertain to Isolation, Trusts and Statistics.  In addition the module illustrates how to develop Plug-ins, use impersonation and Entity Classes, and how to register, deploy and debug Plug-ins.  Finally the module provides an overview of how to integrate Windows Azure with Microsoft Dynamics CRM 2011.

Lessons

  • Objectives
  • Introduction
  • Overview of Plug-ins
  • Event Framework
  • Plug-in Isolation, Trusts and Statistics
  • Developing Plug-ins
  • Impersonation in Plug-ins
  • Entity Classes and Plug-ins
  • Register and Deploy Plug-ins
  • Debugging Plug-ins
  • Windows Azure Integration with Microsoft Dynamics CRM 2011
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lesson Learned
  • Solutions

Lab: Lab 5.1: Creating a Plug-in

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step
  • Step by Step

After completing this module, students will be able to:

  • Identify how Plug-ins can be used to extend Microsoft Dynamics CRM 2011
  • Review the event framework
  • Examine Plug-in Isolation, Trusts and Statistics
  • Develop Plug-ins
  • Use impersonation in Plug-ins
  • Register and deploy Plug-ins
  • Debug Plug-ins
  • Integrate Windows Azure with Microsoft Dynamics CRM

Module 6: Application Event Programming

This module explains how to use the built-in features of the Microsoft Dynamics CRM application.  It also shows how the Microsoft Dynamics CRM application behaves when forms are loaded or saved, field data changes, tabs change state, and when IFRAMES are loaded. In Microsoft Dynamics CRM, event handler code can be attached to five events.

Lessons

  • Objectives
  • Introduction
  • Using Jscript Libraries
  • Form and Field Events
  • Xrm.Page
  • Xrm.Page.context (Client-Side Context)
  • Xrm.Pge.data entity
  • Xrm.Page.ui
  • Form Types
  • Form Event Handler Execution Context
  • Setting Event Dependencies
  • Pass Parameters
  • Using Best Practices in Writing Client-Side Code
  • Debugging Client-Side Code
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab: Lab 6.1: Telephone Number Formatting

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help
  • Step by Step

Lab: Lab 6.2: Control Tab Visibility

  • Goal Description
  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

After completing this module, students will be able to:

  • use JScript Libraries to Customise Microsoft Dynamics CRM
  • Explore form and field events
  • Examine the Xrm.Page object
  • Examine the Xrm.Page.context (client-side context) object
  • Examine the Xrm.Page.data.entity object
  • Examine the Xrm.Page.ui object
  • Explore form types
  • Examine the form event handler execution context
  • Identify how to set event dependencies
  • Evaluate how parameters can be used within Microsoft Dynamics CRM 2011 forms
  • Apply best practices when writing client-side code
  • Identify how to debug client-side code

Module 7: Client Extensions

This module explains how to add custom buttons, menu items, and navigation areas so that custom solutions are included in Microsoft Dynamics CRM.  It also explains how to modify the Application Navigation area and goes into detail on the ways to customise both theSite Map and the Ribbon. 

Lessons

  • Objectives
  • Introduction
  • Customising the Site Map
  • Customising the Ribbon
  • URL Addressable Forms and Views
  • Summary
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab: Lab 7.1: Modifying the Site Map

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

Lab: Lab 7.2: Customise the Ribbon

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

After completing this module, students will be able to:

  • Integrate web pages into the user interface by using the Site Map
  • Describe the steps to modify the Ribbon
  • Demonstrate the use of Custom Actions, Rules and Localising Ribbon controls
  • Describe how URL addressable forms can be used

Module 8: Web Resources

This module explains how the addition of custom web content (for example HTML, Images, Silverlight, JavaScript) to CRM forms is a common method that is used to extend CRM functionality.  It describes a few examples of the use of client-side technology such as among others, adding custom validation, mashups with other applications and adding new applications (for example, Silverlight applications displaying Microsoft Dynamics CRM data).  The module also describes how web resources are used to enable the storage of shared blocks of code or resources so that they can then be reused across the Microsoft Dynamics CRM web application.

Lessons

  • Objectives
  • Introduction
  • Overview of Web Resources
  • Web Resource Management
  • Referencing Web Resources
  • Silverlight Web Resource
  • REST Endpoint, OData and JSON
  • Using JQuery
  • Test Your Knowledge
  • Quick Interaction: Lessons Learned
  • Solutions

Lab: Lab 8.1: Silverlight and Opportunity Slider

  • Challenge Yourself!
  • Need a Little Help?
  • Step by Step

After completing this module, students will be able to:

  • Overview of the use of web resources in Microsoft Dynamics CRM
  • Evaluate how parameters can be used
  • Demonstrate how web resources are implemented and utilised
  • Practice referencing web resources within other web resources
  • Implement the use of a Silverlight web resource
  • Define REST
  • Examine and understand the use of ATOM and JSON
  • Understand and demonstrate how JQuery can be utilised

Prerequisites

Before attending this course, students must have:

  • Experience in basic form customisations and workflows
  • Background in one or more of the following technologies: .NET-connected applications to Visual Studio, JScript, DHTML, XML, Transact_SQL, Microsoft Dynamics CRM customisations and web services, Silverlight, Windows Workflow Foundation, AJAX and Windows AZURE Platform