Peter is highly experienced with the CRM platform but crucially, blends in his many years of commercial, consulting and training experience to target the specific skills that our client required to enhance their CRM experience.

Adam Spurr, Zero2Ten

Share this page

Real world Dynamics CRM development

Course code
DOTNET2XRM
RRP
£1495
Audience
.Net developers, programmers, solution architects
Examination
N/A
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.

Course overview

Print this overview
This course equips software development consultants with a deep understanding of the Microsoft Dynamics CRM platform in order that they can configure and develop extended software solutions using Dynamics CRM. This is an intensive 5-day course using the latest version of Microsoft Dynamics CRM 2011 developer tools and offers hands-on, practical experience throughout. Pre-course reading for an Introduction to Dynamics CRM will be offered and must be reviewed. Delegates should have a solid background in .net development with knowledge of web services, WCF and SQL.

At Course Completion

After completing this course, students will be able to:

  • Understand the components that make up an extended CRM solution
  • Define the business unit and security framework in CRM
  • Extend the entity structures to meet specific requirements
  • Use the CRM solution management functionality to build and transfer solutions between environments
  • Design Dynamics CRM forms and views to meet specific requirements
  • Customise the CRM ribbon and site map
  • Identify where Dynamics CRM queues can be used to assist workflow
  • Build workflows and dialogs to meet specific requirements
  • Understand the extension points in CRM available in CRM to the developer
  • Understand and use the CRM Organisation service
  • Understand and use techniques for client side extensions
  • Understand and use techniques for server side extensions
  • Understand how to build standard and custom reports within CRM
  • Understand how to extend CRM functionality to customer portals
  • Understand how to use Team Foundation Server and Configuration Management
  • Understand key differences across online v onpremise

Course Outline

Module 1. Microsoft Dynamics CRM technology overview

This module introduces the students to the world of Microsoft Dynamics CRM so that they understand the background of Dynamics CRM, the core technology components, modules and the opportunities open to skilled Dynamics CRM developers.

Lessons

  • Why do customers buy Microsoft Dynamics CRM
  • Understanding the ISV and Partner community
  • CRM out of the box
  • High level architecture of CRM
  • CRM server and client components
  • CRM extended solutions
  • The market and CRM trends - the opportunity for the XRM developer

Lab

Navigating CRM client and server side. Locating and identifying key elements.

After completing this module, students will be able to:

  • Understand the trends that have led customers to build and use CRM solutions
  • Understand the technology infrastructure that Dynamics CRM relies on
  • Understand what Dynamics CRM deliverys out of the box
  • Understand what makes up an extended Dynamics CRM solution
  • Identify future career opportunities with Dynamics CRM development

 

Module 2. Microsoft Dynamics CRM security primer

This module helps developers understand and apply effective security frameworks to their extended CRM solutions. Dynamics CRM implements security via the platform and so any request going via the platform conforms to the security model in place. Therefore, there is no shortcut to Dynamics CRM security - even developers must work within the boundaries designed within the solution

Lessons

  • What are the components that make up Dynamics CRM security
  • Where are the security rules implemented
  • The business unit structure
  • Entities and ownership
  • Users and Teams
  • Security roles
  • Sharing and best practice
  • Form and field security

Lab

Locating the security components, amending and testing the results

After completing this module, students will be able to:

  • Identify and locate the core security components within Dynamics CRM
  • Modify business units
  • Understand entity ownership and its impact on security
  • Understand users, teams and related security roles
  • Understand how to use form and field security

 

Module 3. Microsoft Dynamics CRM functionality review

This module helps developers understand the core application functionality that Microsoft Dynamics CRM provides on an out of the box installation. One reason for this is to ensure that developers don't re-create the wheel by building functionality that already exists in Dynamics CRM.

Lessons

  • CRM views, forms and advanced find
  • The core customer model from lead to account and contact
  • The core activity model, tracking and synchronisation with Outlook
  • The sales process model - from Opportunity to Invoice
  • The product catalog
  • The customer service model - service management and scheduling
  • The marketing model - marketing lists and campaigns
  • Dynamics CRM queues - how to use them
  • Frequently used ISV solutions

 Lab

Tracking the life in a day of a typical customer

After completing this module, students will be able to:

  • Identify functionality that is available from installation
  • Understand how standard functionality can be removed
  • Understand the central role that customer records play in CRM
  • Understand how to best use Dynamics CRM queues  

 

Module 3. Microsoft Dynamics CRM Entity design

This module takes the student through a process of best practice design of entity and metadata in Dynamics CRM. Poor design decisions made at the stage of entity design and build can have ramification all the way through a CRM project and so it is essential to get it right.

Lessons

  • Principals in designing a new entity
  • Principals in extending a new entity
  • Custom activity entities explained
  • The core aspects of a new entity
  • Building new attributes
  • Building out Dynamics CRM entity forms
  • Accessing the new entity from code
  • Building entity to entity relationships

Lab

Establishing the core entity structure required for the case study

After completing this module, students will be able to:

  • Apply best practice in Dynamics CRM entity design
  • Understand the features associated with entities
  • Understand when to use a custom activity entity
  • Add new attributes to the entity and associated forms
  • Understand how to access the entity from code
  • Build relationships between entities to meet requirements

 

Module 4. Microsoft Dynamics Architecture and Extension Points

This module explains from a developers perspective the most important elements of the architecture that they should understand and the extension points that are available to build custom solutions from.

Lessons.

  • Dynamics CRM architecture server and client side
  • Server roles, groups and services
  • The Software Developers Kit introduced
  • Customisation extension points, events and web resources
  • The ribbon and the site map
  • Platform services
  • Plug-ins
  • Custom workflows and dialogs
  • Deployment options
  • Authentication and authorisation
  • Using the Solution Management features

 Lab

Using the developer toolkit and solution packager

After completing this module, students will be able to:

  • Understand the difference between the physical and logical structure of Dynamics CRM
  • Understand and access the extension points in CRM
  • Understand the role of workflows, dialogs and plug-ins
  • Understand the principles of authentication and authorisation

 

Module 5. SOAP Platform Web Services

This module explains to students how to utilise the SOAP Platform Web Service in order to connect to CRM instances and query data. Students will have hands on practice with building code as part of the course case study.

 

Lessons:

Using the Organisation and Discovery Services

Using SOAP Authentication

Using SDK assemblies

Understanding Entity and Entity collections and Attribute types

Working with CRUD operations

Execute requests

Querying data

 

Lab

Setting up the Time entry solution and building the Time entry editor

 

After completing this module, students will be able to:

  • Understand how to use the Organisation and Discovery Services
  • Use different SOAP authentication methods
  • Create, read and update records using SOAP requests
  • Query CRM data via a QueryExpression request

 

Module 6: Querying & Executing Requests 

This module introduces the student to the methods of Querying and Executing requests. Students will learn how to use FetchXML, Linq and how to query metadata.

Lessons:

  • Where and when to use FetchXML
  • Creating and accessing FetchXML queries
  • Aggregating data via FetchXML
  • Setting up a LINQ Query
  • Querying metadata

Lab

Students will complete hands on exercises using FetchXML and LINQ

After completing this module, students will be able to:

  • Understand where and when to use the various query methods
  • Integrate query code into CRM extensions such as plug-ins and Javascript

 

Module 7: Custom Reports in CRM

This module explains the purposes of the various reporting tools available within the Microsoft Dynamics CRM environment such as BIDS and Report Author. It identifies the structure of reports and the methods employed as a report is generated from Dynamics CRM. It explains filtering and pre-filtering and also looks at navigation and drill through techniques. The module concludes with a review of best practice techniques employed in CRM projects.

Lessons:

  • Reporting components and tools
  • The importance of the user context in running reports
  • Using FilteredViews in queries and FetchXML
  • Using parameters for filtering and pre-filtering
  • Reporting best practices

Lab

Building out a custom report for invoicing purposes

After completing this module, students will be able to:

  • Understand the options available to report on CRM data
  • Utilise Filtered Views and parameters for contextual reports
  • Understand and utilise parameters within CRM reports
  • Apply best practice to CRM reporting

 

Module 8: Custom Process Activities in CRM

This module looks at how the developer can leverage functionality from the process tools available to them in Dynamics CRM. They will learn how best to use dialogs and when best to use a process or a plugin. This module also reviews in detail the role of the asynchronous service and looks at how to build and utilise custom workflow steps.

Lessons:

  • Workflows v dialogs
  • Processes or plugins?
  • The async server
  • Understanding workflow states
  • Understanding wait dependencies
  • Loop detection
  • Best practices including debugging and unit testing

Lab

Students will incorporate their learning in this module to build a custom workflow process that sends a PDF invoice by email.

After completing this module, students will be able to:

  • Make informed decisions on the choice of process technology
  • Understand the features of the async server
  • Understand and use workflow states and wait dependencies
  • Apply best practices in process design and development

Module 9: Form Javascript Programming

The addition of form scripting using Javascript is a common method used by XRM developers to build business logic and custom behaviour into CRM forms. Quality of code varies widely and poor implementation of such code leads to problems of usability and performance in extended CRM solutions. In this module we look at how best to use Javascript and the recommended methods of building script as part of an overall solution.

Lessons:

  • A review of client-side event programming
  • Functions and libraries in CRM
  • Form events that trigger script
  • The XRM page structure and form elements explained
  • Using option-sets and lookups
  • Generating Javascript code
  • Understanding web resources and the virtual file system
  • Authoring, deploying and debugging
  • Creating a dynamic user interface

 

Labs

Students will have the opportunity to build several components in hands on practice labs using the knowledge gained in this lab.

After completing this module, students will be able to:

  • Understand the options available for client-side event programming
  • Understand how Javascript is stored and called from CRM
  • Understand the XRM page structure and working with CRM field types
  • Understand how to author, deploy and debug client-side script
  • Apply best practices in building a dynamic user interface

 

Module 10: Server-side plug-ins

Server-side plug-ins provide a level of process automation that is not available when building scripts or processes. However, they require detailed design and build using .net code and CRM SDK properties and methods. It is critical that a developer working on server-side automation understands the full range of options available to them and applies best practice methods when designing, developing and deploying Plug-Ins.

Lessons

  • Understanding the difference between a Plug-in and processes
  • Understand Plug-in architecture
  • Understand the pipeline stages and Plug-In integration
  • How Plug-Ins are registed and stored within Dynamics CRM
  • Understanding Plug-In steps
  • The IPlugin Interface, Iservice Provider and Plugin context
  • Target, Pre and Post Images
  • Unit testing Plug-Ins and Sandbox processing

 

Labs

Students will apply the knowledge gained in this module to build a Time Entry Plugin and a cascade process to update addresses between accounts and contact.

After completing this module, students will be able to:

  • Identify where a Plug-in is required
  • Understand the architecture and the pipeline stages for Plug-Ins
  • Register and store the Plug-In correctly
  • Configure the interface, provider and context
  • Utilise the appropriate image for the process
  • Apply best practice in unit testing and deploying Plug-Ins

 

Module 11: HTML & Silverlight Web Resource Programming

Extended CRM solutions very often require dynamic forms that go beyond the constraints of the standard CRM form by using User Interface web resources. In this module we explore the use of UI web resources, how these may be stored and accessed from the CRM interface. We compare the features of both HTML and Silverlight which is a topical area of discussion for developers today.

Lessons

 

  • Web resources and virtual file system
  • Using UI Web resources
  • How to reference files and open them
  • Comparing Silverlight v HTML
  • Using Query string parameters
  • How to embed a web resource
  • Using the XRM context within the web resource
  • Understanding MVVM in the context of Dynamics CRM
  • Data binding to views
  • Building Web resources with Silverlight
  • Using Javascript web resources

 

Labs

Students will apply the knowledge gained in this module to build a web resource with both Silverlight and HTML

After completing this module, students will be able to:

  • Understand where and how to use web resources to extend UI functionality
  • How web resources are stored and accessed
  • Determine the best of use of Silverlight or HTML web resources
  • Design and build effective web resources
  • How to bind data to web resource views
  • Understand the use of the MVVM model

 

Module 10: Ribbon and Site Map editing

An extended CRM solution will require to customise the ribbon and the site map so as to provide quick and effective navigation around the modified solution. It may also be necessary to remove access to functionality that while is available. This module explores the options that are open to the developer and identifies best practices and tools to use to edit these components.

Lessons

  • Ribbon customisation options
  • Understanding the RibbonDiffXML
  • Identifying typical customisation scenarios
  • Using the Ribbon workbench
  • Understanding the elements within the ribbon
  • How to use web resources within the ribbon
  • How ribbon customisations are stored within the solution layers
  • Best practice approach to ribbon customisation
  • Site Map structure explained
  • Outlook navigation explained
  • Web resources in the Site Map
  • Online & offline considerations

 

Labs:

Students will have hand on practice using the knowledge gained in this module to build out customisations to both the ribbon and the Site Map in Dynamics CRM

After completing this module, students will be able to:

Understand the structure of both the Ribbon and the Site Map

Understand best practice approaches to customising both elements

How to use tools to work with both elements

Understand how the Outlook navigation differs to the web client