About Apex InfoTech Information Services Products Consulting Online Courses Certifications Course Schedule Reserve your seat Search Apex InfoTech Home Page
Course ScheduleSearch by Course NumberPrint this documentEmail this documentRegister for this course

Extending Microsoft Dynamics CRM 4.0

Course 8969 : 3 days; Instructor-Led

Introduction

Elements of this syllabus are subject to change.

 

Prerequisites

Before attending this course, students must have:

Completed Course 8912A 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.


Microsoft Certified Professional Exams

No Microsoft Certified Professional exams are associated with this course currently.


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.


Course Outline

Module 1: Extensibility Overview

This module provides an overview for the course. It introduces the features available to extend Microsoft Dynamics CRM.

Lessons

Microsoft Dynamics CRM Design Focus

Extensibility Features

Required Skills

Resources

After completing this module, students will be able to:

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. A strong understanding of the Microsoft Dynamic CRM architecture provides insight that can be used when developing extensions.

Lessons

Extensibility Points

Microsoft Office Outlook Clients

Layers

Application Layer

Platform Layer

Database Layer

Demonstration: Using the Metadata Browser

Open the Metadata Browser.

Import the Opportunity Details Custom Entity.

Note how Opportunity Details is related to Opportunities.

After completing this module, students will be able to:

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. This module also explains how data types are implemented in Microsoft Dynamics CRM as well as helper code that developers can use to manage Microsoft Dynamics CRM data types. Finally, the process of handling SOAP exceptions from the Microsoft Dynamics CRM Web Services is described.

Lessons

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 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

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

After completing this module, students will be able to:

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. It also describes the use of Filtered Views, the DynamicEntity class and methods to work with the Microsoft Dynamic CRM Metadata.

Lessons

Querying Data

QueryExpression

QueryByAttribute

Saving Queries

Filtered Views

Execute Method

Requests and Responses

Dynamic Entities

Using the Metadata Web Service

Caching Metadata

Lab 4.1: Using Query Expressions

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

Lab 4.2: Using Filtered Views

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

Lab 4.3: Using Request and Response

Create a .NET console application that uses the Execute Method to reassign accounts evenly amongst users.

After completing this module, students will be able to:

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.

Lessons

Configuring Custom Workflow Activities

Workflow Architecture

Setting Up Custom Workflow Activity Assemblies

Creating Custom Workflow Activities

Debugging Custom Workflow Activities

Demonstration: Configuring a Custom Workflow Activity

Create a simple workflow rule that uses a Custom Workflow Activity.

Lab 5.1: Creating a Custom Workflow Activity

Create a simple Custom Workflow Activity and register it using the Plug-in Registration Tool so that the activity can be used in a workflow rule.

After completing this module, students will be able to:

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.

Lessons

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 6.1: Creating a Plug-in

Create a pre-event plug-in and use the Plug-in Registration tool to register it against the event.

After completing this module, students will be able to:

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. 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

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

Implement a hierarchical picklist on the phone call entity.

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

Lab 7.2: Using XML Request

Use the onChange Event of the postal code field to auto-populate the state and city codes based on the value of the postal code.

Pass the postal code to a Web page using a query string.

Return the XML to update the state and city fields.

Use error handling code.

After completing this module, students should be able to:

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. It also explains how to create applications that have the same appearance and behaviors as Microsoft Dynamics CRM. Finally, it describes how IFrames and URL addressable forms are used to integrate Microsoft Dynamics CRM with other Web applications.

Lessons

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

Demonstration: Add External Site to Microsoft Dynamics CRM

Display the Metadata Browser in a custom area on the Navigation Bar in Microsoft Dynamics CRM.

Lab 8.1: Creating 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: Creating a Task with Default Data

Add a button on the Case form.

Use this button to open a new Task form with a specific set of default data.

Retrieve some of the data from the Case.

After completing this module, students will be able to:

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.

Lessons

Web.config settings within Microsoft Dynamics CRM

Authentication within Custom ASP .Net applications

Deploying Custom ASP .Net Applications

Lab 9.1: Creating and Deploying an ASP .NET Application

Build and Deploy a Custom ASP .Net application within the Microsoft Dynamics CRM Web site.

After completing this module, students will be able to:

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.

For more information or to give feedback, send e-mail to info@OneApex.com or call 949-597-2100