Extending Microsoft CRM 3.0
(Microsoft Training Course: 8531) - 3 days - £1700 exc VAT

> Target Audience
This course provides students with the knowledge and skills to develop extensions for Microsoft CRM 3.0. It is intended for .NET developers who work with Microsoft CRM and understand the built-in customization capabilities of the application.
> Course outline
  1. Extensibility Overview
  2. Microsoft CRM Architecture
  3. Common Platform Operations
  4. Advanced Platform Operations
  5. Workflow .NET Assemblies
  6. Business Logic Extensions
  7. Application Event Programming
  8. Application Integration
  9. Connect Microsoft CRM to the Internet

Supplementary InformationThis course is written in an older version of Microsoft Dynamics CRM and we therefore no longer schedule it. However, if there is a specific requirement for CRM 3.0, then we could run a course, subject to demand. Please call for details.
Module 1: Extensibility Overview
  • Microsoft CRM Design Focus
  • Extensibility Features
  • Required Skills
  • Resources
  • Understand how Microsoft CRM was 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 CRM Architecture
  • TOPIC: Architecture Overview
  • Extensibility Points
  • Outlook Clients
  • Layers
  • TOPIC: Application Layer
  • Application Layer Security
  • Data Validation
  • Business Logic
  • Meta-data driven UI
  • TOPIC: Platform Layer
  • Web Services
  • Entity Definitions
  • Platform Security
  • Platform Business Logic
  • Data Access Components
  • TOPIC: Database Layer
  • Databases
  • Demonstration: Using the Metadata Browser
  • Recognize where the available extension features exist within Microsoft CRM 3.0.
  • Understand how the Microsoft CRM Clients for Microsoft Office Outlook interact with Microsoft CRM.
  • Understand the basic components of Microsoft CRM 3.0 and the functions they perform.
  • Understand how Microsoft CRM enforces security.
  • Understand how Microsoft CRM applies business logic.
  • Understand how Microsoft CRM uses meta-data.
  • Understand how Microsoft CRM exposes Web Service APIs.
  • Understand the functions of the Microsoft CRM Platform.
  • Understand how Microsoft CRM interacts with the SQL Server data store.
Module 3: Common Platform Operations
  • TOPIC: CrmService
  • Setting Up the CRM Services
  • TOPIC: Common Methods
  • About Entities
  • Microsoft 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 1
  • Lab: Contact Management Application 2
  • Use the common CrmService methods for all Microsoft entities.
  • Use Microsoft CRM data types and use the type helper provided in the Microsoft CRM SDK.
  • Handle SOAP Exceptions generated by the CrmService.
Module 4: Advanced Platform Operations
  • TOPIC: Querying Data
  • QueryExpression
  • QueryByAttribute
  • Saving Queries
  • Filtered Views
  • TOPIC: Using Execute Methods
  • Using the Execute Method
  • Requests and Responses
  • TOPIC: Dynamic Entities
  • Binding Microsoft CRM Data to a .NET DataGrid
  • TOPIC: MetaData Service
  • Using the MetaData Web Service
  • Caching MetaData
  • Lab: Using QueryExpression
  • Lab: Using Filtered Views
  • Lab: Using Requests and Responses
  • Lab: Bind Microsoft CRM Data to a .NET DataGrid
  • Lab: Link UI features to Microsoft CRM Metadata
  • Query Microsoft CRM using QueryExpression, QueryByAttribute and Filtered Views.
  • Use the CrmService.Execute method.
  • Use DynamicEntity.
  • Accesss, use and cache meta-data.
Module 5: Workflow .NET Assemblies
  • TOPIC: Configuring .NET Assemblies
  • Overview of Workflow
  • Understanding the Workflow Service
  • Setting up Workflow .NET Assemblies
  • Workflow Configuration File Overview
  • Specifying Assembly Information
  • Defining Parameters
  • Specifying Return Information
  • TOPIC: Creating .NET Assemblies
  • Data Type Mapping
  • Support for Web Services
  • Running Code in User Context
  • Debugging Workflow Assemblies
  • Demonstration: Configuring a Workflow .NET Assembly
  • Lab: Creating a Workflow .NET Assembly
  • Create .NET assemblies for use in workflow.
  • Configure Microsoft CRM to display methods in the assembly.
  • Specify parameters to pass data to an assembly.
  • Handle values returned from the assembly.
  • Debug Workflow assemblies.
Module 6: Business Logic Extensions
  • TOPIC: Callouts
  • Callout Model
  • Callout Configuration
  • Callout Method Signatures
  • Working with Callout Parameters
  • Pre-Callout Summary
  • Post-Callout Summary
  • TOPIC: Developing Callout Components
  • Callout Component Development
  • Impersonation in Callouts
  • Error Handling in Callouts
  • Lab: Configuring and Deploying Callouts
  • Lab: Creating Callout Components
  • Demonstration: Create Auditing Solution using Callouts
  • Understand how callouts work.
  • Decide when and what kind of Callouts to use.
  • Configure pre and post callouts.
  • Develop and Deploy callouts.
  • Handle errors in callouts.
  • Debug callouts.
Module 7: Application Event Programming
  • TOPIC: Form and Field Events
  • Overview of Form and Field Events
  • Accessing Microsoft CRM Data Fields
  • Setting Event Dependencies
  • TOPIC: Writing Client-side code
  • Using Best Practices in Writing Client-side code
  • Debugging Client-side code
  • Using DHTML
  • Developing Code with External Files
  • Requesting External Data
  • Lab: Creating Hierarchical Picklists
  • Lab: Formatting Telephone Numbers
  • Lab: Using XML Request
  • Use Form and Field events.
  • Reference Microsoft CRM form values.
  • Write and debug client-side code in Microsoft CRM.
  • Develop code using external files for greater productivity.
  • Request External Data from form and field events.
Module 8: Application Integration
  • Overview - Customizing the User Interface
  • TOPIC: SiteMap
  • SiteMap Structure
  • Editing SiteMap.xml
  • TOPIC: ISV.config
  • isv.config.xml Structure
  • Performing actions from the Grid
  • TOPIC: Customizations and the Outlook Client
  • Customizations and the Outlook Client
  • Integration Points
  • TOPIC: Microsoft CRM Appearance And Behavior
  • Using Template.css
  • TOPIC: IFrames
  • IFrames Considerations
  • Retrieving Data using Parameters
  • Dynamic IFrame
  • TOPIC: Using URL Addressable forms
  • URL Addressable Forms
  • Lab: Creating Custom Menus and Buttons
  • Lab: Perform Actions on the Grid
  • Lab: Using IFrames to Display External Data
  • Lab: Create a Task with Default Data
  • Add custom buttons, menus, and navigation items to the Microsoft CRM 3.0 user interface.
  • Use IFrames to integrate other applications into Microsoft CRM.
  • Perform actions on selected records in a Microsoft CRM view.
  • Set default data in form fields.
  • Create applications with the same appearance and behaviors as Microsoft CRM.
Module 9: Connect Microsoft CRM to the Internet
  • TOPIC: Licensing and Security
  • Understanding Licensing
  • Best Practices in Security
  • TOPIC: Integration with External Sites
  • Setting up a site
  • Lab: Integration with External Sites
  • Recognize licensing requirements and security practices to create a customer portal linked to Microsoft CRM.
  • Understand how to set up a customer portal site.
  • Understand how to create and configure with a proxy account so that a customer portal can interact with Microsoft CRM.
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • Completed Course 8525A, Microsoft CRM 3.0 Customization, or have equivalent knowledge of the customization capabilities of Microsoft CRM 3.0.
  • 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 this course, students will be able to create applications that use the Microsoft CRM 3.0 Web Services to perform actions on the Microsoft CRM platform; create, configure and debug .NET assemblies to use in workflow; create, configure and debug .NET assemblies to use in business logic extensions (Callouts); create and debug client-side code for Microsoft CRM form events; integrate other applications with Microsoft CRM 3.0 through the use of URL addressable forms, IFrames, and custom buttons, menus, and navigation areas added to Microsoft CRM; recognize licensing and security issues related to building extensions to Microsoft CRM that connect to the Internet.
> Supplementary Information
This course is written in an older version of Microsoft Dynamics CRM and we therefore no longer schedule it. However, if there is a specific requirement for CRM 3.0, then we could run a course, subject to demand. Please call for details.