Extending Microsoft CRM 3.0

Course 8531: Three days; Instructor-Led

Take This Training

On This Page
IntroductionIntroduction
AudienceAudience
At Course CompletionAt Course Completion
PrerequisitesPrerequisites
Microsoft Certified Professional ExamsMicrosoft Certified Professional Exams
Course MaterialsCourse Materials
Course OutlineCourse Outline
Take This TrainingTake This Training

Introduction

This three-day instructor-led course provides students with the knowledge and skills to develop extensions for Microsoft CRM 3.0.

The course focuses on extension methods documented in the Microsoft CRM 3.0 SDK. It includes content on Microsoft CRM Web Service programming, creating and configuring workflow .NET assemblies and business logic extensions (callouts), advanced client-side scripting, application integration capabilities and how to create a customer portal solution that connects Microsoft CRM 3.0 to the internet.


Top of pageTop of page

Audience

This course is intended for .NET developers who work with Microsoft CRM and understand the built-in customization capabilities of the application. Developers attending this course should also understand web development technologies including client-side programming using DHTML. This course is intended for developers creating extensions for a single Microsoft CRM implementation - it does not contain guidance for ISVs creating packaged Microsoft CRM 3.0 add-on products for re-sale


Top of pageTop of page

At Course Completion

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.


Top of pageTop of page

Prerequisites

Before attending this course, students must have:

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.


Top of pageTop of page

Microsoft Certified Professional Exams

This course will help the student prepare for the following Microsoft Certified Professional exam:

Exam Extending Microsoft CRM 3.0:


Top of pageTop of page

Course Materials

The student kit includes a comprehensive workbook and other necessary materials for this class.

The following software is provided in the student kit:

Student CD contains Visual Studio projects used in the course.


Additional Reading

To help you prepare for this class, review the following resources:

The Microsoft CRM 3.0 SDK

Working with Microsoft Dynamics CRM 3.0, Microsoft Press


Top of pageTop of page

Course Outline

Chapter 1: Extensibility Overview

This brief chapter serves as an overview for the course. It introduces the features available to extend Microsoft CRM 3.0.

Lessons

Microsoft CRM Design Focus

Extensibility Features

Required Skills

Resources

After completing this module, students will be able to:

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.

Chapter 2: Microsoft CRM Architecture

This chapter describes the Microsoft CRM 3.0 architecture as it applies to practical decisions when planning extensions to Microsoft CRM. A strong understanding of the Microsoft CRM architecture provides insight that can be used when developing extensions.

Lessons

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

After completing this module, students will be able to:

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.

Chapter 3: Common Platform Operations

This chapter explains how to include the Microsoft CRM Web Service APIs into development projects and how to use common methods available for all Microsoft CRM entities. This module also explains how data types are implemented in Microsoft CRM as well as helper code that developers can use to manage Microsoft CRM data types. Finally, the process of handling SOAP exceptions from the Microsoft CRM Web Services is described.

Lessons

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 3.1: Importing Leads

Create a .NET console application that uses the Create Method to import Leads from a .csv file

Lab 3.2: Contact Management Application 1

Create a .NET Web application that will allow users to view, update and delete Microsoft CRM contact records

Lab 3.3: Contact Management Application 2

Modify the .NET Web application created in Lab 3.2 to implement SOAP Exception handlers

After completing this module, students will be able to:

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

Chapter 4: Advanced Platform Operations

This chapter explains how to query data and perform actions on the Microsoft CRM platform using the Execute Method with the appropriate Request and Response classes. It also describes the use of Filtered Views, the DynamicEntity class and methods to work with the Microsoft CRM meta-data.

Lessons

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 4.1: Using QueryExpression

Create a .NET console application to query the Microsoft CRM platform using QueryExpression

Lab 4.2: Using Filtered Views

Create a .NET console application to query the Microsoft CRM platform using Filtered Views

Lab 4.3: Using Requests and Responses

Create a .NET console application that will use the Execute Method to re-assign accounts evenly amongst users.

Lab 4.4: Bind Microsoft CRM Data to a .NET DataGrid

Create a Web application that will use DynamicEntity to display Microsoft CRM accounts in a .NET DataGrid control.

Lab 4.5: Link UI features to Microsoft CRM Metadata

Extend the solution created in Lab 4.4 to query the Microsoft CRM meta-data so that the column labels in the DataGrid control display the current field label values

After completing this module, students will be able to:

Query Microsoft CRM using QueryExpression, QueryByAttribute and Filtered Views

Use the CrmService.Execute method

Use DynamicEntity

Accesss, use and cache meta-data

Chapter 5: Workflow .NET Assemblies

This chapter explains how to configure, create and debug .NET assemblies for use in workflow rules.

Lessons

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 5.1: Creating a Workflow .NET Assembly

Create a Workflow .NET assembly that defines a RouteLead method. This method will assign a lead to the user with the fewest leads.

Configure the assembly so the method is available in the Workflow Manager application

Create a workflow rule that will automatically assign a lead when it is created

After completing this module, students will be able to:

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

Chapter 6: Business Logic Extensions

This chapter explains how to configure Callouts and create assemblies for use in Callouts.

Lessons

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 6.1: Configuring and Deploying Callouts

Modify callout.config.xml to subscribe methods in a .dll file to Account event s in order to implement an auditing solution.

Lab 6.2: Creating Callout Components

Create a .NET assembly that contains methods to automatically number all leads as they are created.

Deploy and test the assembly

Demonstration: Create Auditing Solution using Callouts

After completing this module, students will be able to:

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

Chapter 7: Application Event Programming

This chapter explains how to write client-side code for Microsoft CRM 3.0 Form and field events. It includes the available form and field events, how to work with form and field values, debugging client-side code and several techniques to improve productivity and solve business problems.

Lessons

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 7.1: Creating Hierarchical Picklists

Implement a hierarchical picklist on the phone call entity.

Values in the Call Description picklist will be dependant on the option chosen for the Call Type picklist.

Lab 7.2: Formatting Telephone Numbers

Define a function using an external file to apply consistent formatting to phone numbers on each phone number field on the Contact form.

Inject the external file into the Contact OnLoad event.

Call the function from each of the telephone number field OnChange events.

Test the function and make any necessary adjustments.

Copy the function definition to the Contact OnLoad event.

Test and confirm the function works properly in a supported configuration.

Lab 7.3: Using XML Request

Use AJAX to perform a request of data from the OnChange event on the Postal Code field in the account form

When the postal code value is set in Microsoft CRM, the Region and City values will be automatically populated based on the postal code.

After completing this module, students will be able to:

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

This module explains how to add custom buttons, menus, and navigation items in Microsoft CRM to integrate other applications. It also explains how to create applications that have the same appearance and behaviors as Microsoft CRM. Finally, it describes how IFrames and URL addressable form are used to integrate Microsoft CRM with other web applications.

Lessons

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 8.1: Creating Custom Menus and Buttons

Add a custom button on the Contact form

The custom button will open a web site used to set user’s passwords

Lab 8.2: Perform Actions on the Grid

Create a button on the Account grid

When clicked, any selected accounts on the grid will have their City and Region fields populated based on the postal Code entered.

Lab 8.3: Using IFrames to Display External Data

Add an IFrame to the Contact form to display integrated data with an external database.

Lab 8.4: Create a Task with Default Data

Add a button on the Case form.

This button will open a new Task form with a specific set of default data

Some of the data will come from the Case

Add a second button on the Case form to open a Task with different default data

After completing this module, students will be able to:

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

Chapter 9: Connect Microsoft CRM to the Internet

This chapter explains licensing and security implications related to creating a Customer Portal site that allows external users to interact with Microsoft CRM through a web site connected to the Internet.

Lessons

TOPIC: Licensing and Security

Understanding Licensing

Best Practices in Security

TOPIC: Integration with External Sites

Setting up a site

Lab 9.1: Integration with External Sites

Create a Web site that includes a ‘Contact Me’ button.

When a user accesses this page from the Internet and clicks the ‘Contact Me’ button, they will be prompted to enter their personal information.

The Web site is configured to use a proxy account that will create a new Lead in Microsoft CRM when the users submits the form with their personal information

After completing this module, students will be able to:

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




Top of pageTop of page

Take This Training

Type your city and state or province to find classes currently
scheduled for this course at a training center near you.

Location:        



Top of pageTop of page