Extending Microsoft Dynamics CRM 4.0
(Microsoft Training Course: 8969) - 3 days - £1700 exc VAT

Save up to 50% of the cost of some courses: check our Certification Packages or buy F1 Training Vouchers

> Target Audience
This course provides students with the knowledge and skills to develop extensions for Microsoft Dynamics CRM. The course focuses on extension methods documented in the Microsoft Dynamics CRM SDK. It is intended for .NET developers who work with Microsoft Dynamics CRM and understand the built-in customization capabilities of the application.
> Course outline
  1. Extensibility Overview
  2. Microsoft Dynamics CRM Architecture
  3. Common Platform Operations
  4. Advanced Platform Operations
  5. Custom Workflow Activities
  6. Plug-ins
  7. Application Event Programming
  8. Application Integration
  9. Building ASP .NET Extensions

Supplementary InformationThis course has been updated to a B version and therefore the outline may differ from the previous version.
Module 1: Extensibility Overview
  • This module provides an overview for the course. It introduces the features available to extend Microsoft Dynamics CRM.
  • Microsoft Dynamics CRM Design Focus
  • Extensibility Features
  • Required Skills
  • Resources
  • Understand how Microsoft Dynamic CRM is designed to be extended.
  • Recognize the main extensibility features.
  • Recognize the skills they will need to use the extensibility features.
  • Recognize resources that will help them learn more.
Module 2: Microsoft Dynamics CRM Architecture
  • This module describes the Microsoft Dynamics CRM architecture as it applies to practical decisions when planning extensions to Microsoft Dynamics CRM.
  • Extensibility Points
  • Microsoft Office Outlook Clients
  • Layers
  • Application Layer
  • Platform Layer
  • Database Layer
  • Recognize where the available extension features exist within Microsoft Dynamics CRM.
  • Understand how the Microsoft Dynamics CRM Clients for Microsoft Office Outlook interact with Microsoft Dynamics CRM.
  • Understand the basic components of Microsoft Dynamics CRM and the functions they perform.
  • Understand how Microsoft Dynamics CRM enforces security.
  • Understand how Microsoft Dynamics CRM applies business logic.
  • Understand how Microsoft Dynamics CRM uses meta-data.
  • Understand how Microsoft Dynamics CRM exposes Web Service APIs.
  • Understand the functions of the Microsoft Dynamics CRM Platform.
  • Understand how Microsoft Dynamics CRM interacts with the SQL Server data store.
Module 3: Common Platform Operations
  • This module explains how to include the Microsoft Dynamics CRM Web Service APIs into development projects and how to use common methods available for all Microsoft Dynamics CRM entities.
  • CrmDiscoveryService
  • CrmService
  • crmAuthentication Token
  • Entity Information
  • Microsoft Dynamics CRM Data Types
  • Using Type Helpers
  • Using the Create Method
  • Using the Retrieve Method
  • Using the Update Method
  • Using the Delete Method
  • Using the RetrieveMultiple Method
  • Handling SOAP Exceptions
  • Lab: Importing Leads
  • Lab: Contact Management Application
  • Use the common CrmService methods for all Microsoft entities.
  • Use Microsoft Dynamics CRM data types and use the type helper provided in the Microsoft Dynamic CRM SDK.
  • Handle SOAP Exceptions generated by the CrmService.
Module 4: Advanced Platform Operations
  • This module explains how to query data and perform actions on the Microsoft Dynamic CRM platform using the Execute Method with the appropriate Request and Response classes.
  • Querying Data
  • QueryExpression
  • QueryByAttribute
  • Saving Queries
  • Filtered Views
  • Execute Method
  • Requests and Responses
  • Dynamic Entities
  • Using the Metadata Web Service
  • Caching Metadata
  • Lab: Using Query Expressions
  • Lab: Using Filtered Views
  • Lab: Using Request and Response
  • Query Microsoft Dynamics CRM using QueryExpression, QueryByAttribute and Filtered Views.
  • Use the CrmService.Execute method.
  • Use DynamicEntity.
  • Access, use and cache Metadata.
Module 5: Custom Workflow Activities
  • This module explains how to create and set up Custom Workflow Activities.
  • Configuring Custom Workflow Activities
  • Workflow Architecture
  • Setting Up Custom Workflow Activity Assemblies
  • Creating Custom Workflow Activities
  • Debugging Custom Workflow Activities
  • Lab: Creating a Custom Workflow Activity
  • Write Custom Workflow Activities.
  • Create Workflow rules that use Custom Workflow Activities.
  • Use the Plug-in Registration Tool.
  • Understand Workflow Architecture.
Module 6: Plug-ins
  • This module explains how to extend the functionality of Microsoft Dynamics CRM events by writing custom plug-ins.
  • Plug-in Model
  • Plug-ins Overview
  • Event Framework
  • Developing Plug-ins
  • Impersonation in Plug-ins
  • Dynamics Entities and Plug-ins
  • Deploying Plug-ins
  • Debugging Plug-ins
  • Lab: Creating a Plug-in
  • Decide when to use Plug-ins.
  • Review the Event Framework.
  • Develop, de-bug and deploy Plug-ins.
  • Use Dynamic Entities within Plug-ins.
Module 7: Application Event Programming
  • This module explains how to write client-side code for Microsoft Dynamics CRM Form and field events.
  • Form and Field Events
  • Overview of Form and Field Events
  • Accessing Microsoft Dynamics CRM Data Fields
  • Setting Event Dependencies
  • Using Best Practices in Writing Client-side code
  • Debugging Client-side code
  • Using DHTML
  • Developing Code with External Files
  • Requesting External Data
  • Accessing Microsoft Dynamics CRM Web Services
  • Lab: Creating Hierarchical Pick lists
  • Use Form and Field events.
  • Reference Microsoft Dynamics CRM form values.
  • Write and debug client-side code in Microsoft Dynamics CRM.
  • Request External Data from form and field events.
Module 8: Application Integration
  • This module explains how to add custom buttons, menus, and navigation items in Microsoft Dynamics CRM to integrate other applications.
  • Overview - Customizing the User Interface
  • Customizing SiteMap
  • Using ISV.Config
  • Customizations and the Outlook Client
  • Using IFrames in Entity Forms
  • Using the Microsoft Dynamics CRM Design Guide
  • URL Addressable Forms
  • IFrames Considerations
  • Retrieving Data using Parameters
  • Dynamic IFrame
  • URL Addressable Forms and Views
  • Lab: Creating Menus and Buttons
  • Lab: Creating a Task with Default Data
  • Add custom buttons, menus, and navigation items to the Microsoft Dynamics CRM user interface.
  • Use IFrames to integrate other applications into Microsoft Dynamics CRM.
  • Perform actions on selected records in a Microsoft Dynamics CRM view.
  • Set default data in form fields.
  • Create applications with the same appearance and behaviors as Microsoft Dynamics CRM.
Module 9: Building ASP .NET Extensions
  • This module explains how to configure and deploy custom ASP .NET pages which are deployed on the same Web site as Microsoft Dynamics CRM.
  • Web.config settings within Microsoft Dynamics CRM
  • Authentication within Custom ASP .NET applications
  • Deploying Custom ASP .NET Applications
  • Lab: Creating and Deploying an ASP .NET Application
  • Build and Deploy ASP .NET Applications on the Microsoft Dynamics CRM Web site.
  • Modify the web.config file.
  • Understand the authentication and impersonation mechanism within the application.
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • Completed Course 8912: Customization and Configuration in Microsoft Dynamics CRM, or have equivalent knowledge of the customization capabilities of Microsoft Dynamics CRM.
  • At least three months experience creating .NET applications using Microsoft Visual Studio.
  • A good understanding of Web development technologies including programming with DHTML.
> Purpose
After completing the course, students will be able to create applications that use the Microsoft Dynamics CRM Web Services to perform actions on the Microsoft Dynamics CRM platform; create, configure and debug Custom Workflow Activities; create, configure and debug .NET assemblies to use in Plug-ins; create and debug client-side code for Microsoft Dynamic CRM form events; integrate other applications with Microsoft Dynamics CRM through the use of URL addressable forms, IFrames, and custom buttons, menus, and navigation areas added to Microsoft Dynamics CRM; recognize licensing and security issues related to building extensions to Microsoft Dynamics CRM that connect to the Internet.
> Supplementary Information
This course has been updated to a B version and therefore the outline may differ from the previous version.