Beruflich Dokumente
Kultur Dokumente
Introduction
The Microsoft Dynamics CRM application design provides a platform upon
which businesses can customize and configure the system to meet their own
particular business needs. When changes occur within an organization or to its
business processes, this architecture allows the organization to adapt to these
changes effortlessly and affordably within the application.
3-1
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Customization Methodology
Successfully customizing Microsoft Dynamics CRM requires more than just
familiarity with its customization features. The key to successful
implementations comes from the following:
In either case, to successfully implement the software you must understand the
organization's Relationship Management strategy. If an organization does not
have a clear strategy, they may need help in defining it.
3-2
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
However, some changes go beyond the scope of those that can be performed by
selecting options through the UI. For example, to make the system process data
in forms in a way that is specific to a particular implementation, it might require
the use of code in a scripting language (Jscript). Still, other changes might
require a developer to produce compiled code and interface it with the Microsoft
Dynamics CRM platform (Plug-Ins). The more complex and deep the changes,
the more the system can be molded to manage relationships beyond the classic
Sales-Customer or Marketing-Customer relationships. Such systems can be
produced in-house or through external consultants for a specific company, or
they can be produced and sold by ISVs.
Microsoft Dynamics CRM is built on the .NET Framework and makes use of
several core Microsoft Platform technologies, such as Windows Workflow
Foundation (WF), SQL Server, and Windows Communication Foundation
(WCF). Independent Software Vendors (ISVs) and other developers can use
these technologies to extend the Microsoft Dynamics CRM framework,
producing solutions that are tailored to vertical or horizontal markets.
The database simplifies much of the complexity that a developer has to manage,
and it provides him or her with the means to interact with the data through
available APIs by using languages such as Transact-SQL. But the client/server
architecture has many shortcomings, and there is only so much that a database
that is designed for general use can provide.
3-3
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
The parts of the graphic that are marked with a cog indicate places where the
Microsoft Dynamics CRM customizer can interact with the platform through
code, the UI, custom reports, and so on. This training concentrates on the part
that is labeled Extensible Application. The other parts will be described briefly,
but detailed treatment is beyond the scope of this training.
3-4
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
The Microsoft Dynamics CRM platform removes the complexity that developers
might otherwise have to deal with and provides a rich environment for
customizing the application. Because it is designed specifically for use as a
Relationship Management platform, it can provide more specific features that
programmers can use when they build applications that use it.
The Business Entity Components part of the platform is responsible for creating
domain-specific objects. Examples of domain-specific objects in Microsoft
Dynamics CRM include Contact, Lead, Opportunity, Account, and Business
Unit. These objects are created in response to instructions from applications such
as the Microsoft Dynamics CRM web application or custom-built applications.
The goal of the Microsoft Dynamics CRM platform is to implement the service
rules by manipulating and combining the underlying domain-specific objects.
The platform accomplishes this by performing the following tasks:
Except for reports, every application that interacts with Microsoft Dynamics
CRM does so through Web services in the Microsoft Dynamics CRM platform.
This includes the Workflow tools and solutions that are created by ISVs. For
instance, think of the platform layer as providing the entire infrastructure that is
required to implement a complete Microsoft Dynamics CRM application.
3-5
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
You can apply business logic at the platform through workflow processes and
plug-ins, or through the UI using Dialog box or event scripts on Forms.
Certain parts of the Microsoft Dynamics CRM application include business logic
that is not found in the platform and cannot be customized.
An example of this is the logic that converts a Lead into a Contact, Account, and
Opportunity. This behavior occurs because the application interacts with the
platform to create these new objects based on programmatic information that is
stored in the Lead object. The platform creates the Lead, but the built-in business
logic that is performed by the application converts the Lead to a Contact,
Account, and Opportunity.
Database Access
The data access layer of the platform handles all interactions between the
application and Microsoft SQL Server, which contains the Microsoft Dynamics
CRM database.
IMPORTANT: With only one exception, direct interaction with the Microsoft
Dynamics CRM database is not supported. The only supported interaction with
the database is the querying of Filtered Views, which is covered in the "Filtered
Views - Exception to the Rule" topic.
3-6
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
Developers must not directly access or update the Microsoft Dynamics CRM
database for the following reasons:
NOTE: Because all data transactions go through the Microsoft Dynamics CRM
platform, the structure of Microsoft Dynamics CRM's actual SQL Server
database is technically irrelevant to even the deepest level customizations.
3-7
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Microsoft SQL Reporting Services and other ODBC compliant applications use
filtered views to access data directly from the Microsoft Dynamics CRM
database. By using filtered views the returned dataset can bypass the Microsoft
Dynamics CRM platform but continue to honor security settings.
NOTE: Microsoft Dynamics CRM makes use of a relatively new standard for
data access called the Open Data protocol, or oData. This makes use of the
concept of a RESTful (REpresentational State Transfer) endpoint to allow
applications to access data held in the system. This applies to both On-Premise
and IFD systems, and removes the need for access to Filtered Views. Detailed
discussion of oData is beyond the scope of this training.
3-8
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
System Customizers
System customizers can customize the Microsoft Dynamics CRM schema,
including adding, modifying, renaming, and deleting entities and fields. System
customizers can create Solutions and most (but not all) of the components of
Solutions; they can also export and import configurations. However, System
Customizers have limited privileges to configure the sort of business entities that
come under Templates, as shown in the previous “Microsoft Dynamics CRM
Customization Architecture” figure. Users who are assigned the System
Customizer role are generally limited to working with records that they own.
System Administrators
System administrators can perform all customization and configuration tasks in
Microsoft Dynamics CRM, and they can work with all records. As a best
practice, an organization should strictly limit the number of people that are
assigned the System Administrator role, and it should never remove this role.
3-9
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
The Customization tab includes permissions that allow or prohibit the user from
customizing each component of a Solution. However, the relationship between a
Customizer’s general role and the options on the Security Role’s Customization
tab is not entirely complete. Some Manager roles have privileges on the
Customization tab, such as Dialog Session, Process, and System Chart. This
reflects the fact that these components are connected with business processes.
3-10
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
Other privileges also allow User, Business Unit, and Parent:Child Business Unit
levels.
Types of Customizations
Customizations to Microsoft Dynamics CRM can be classified into one of the
following groups:
This training examines in detail the first two types of customizations; that is,
customizing forms, views, and charts, and customizing the schema. In both cases,
customizations are performed using the Web application.
The remaining customization types are outside the scope of this training. These
tasks are typically performed by resources that are different from the
implementer/customizer that configures and customizes the application and
platform.
3-11
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
• Views are a type of saved query; they return lists of records for a
given entity that meet certain criteria.
• Views display only a subset of data for each record.
• The views for a given entity can display fields from related entities;
for example, each Account record in an Account view can display
fields from its primary Contact.
• Views provide a way for users to locate the data that they need and
can be used for reporting.
• The data that is displayed in a view can be exported to Microsoft
Office Excel spreadsheets.
3-12
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
• Filter criteria: filters are rules or conditions that specify the records
to show in a view.
• Columns: each view displays specific columns of data from records;
users can choose by which column the list of records should be
sorted.
3-13
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Client Extensions
Microsoft Dynamics CRM can be integrated with other applications by using
custom buttons and menu items in the web application and Microsoft Dynamics
CRM for Outlook.
For example, the following customizations can link Microsoft Dynamics CRM
with other applications:
• Create buttons and menu items that are configured to point to the
URL of another application, and optionally pass parameters to the
application regarding a Microsoft Dynamics CRM record. This
enables the other application to query Microsoft Dynamics CRM for
a specific record’s details.
• Use URL addressable forms to display Microsoft Dynamics CRM
forms within other applications.
• Use URL addressable forms to let users create a new Microsoft
Dynamics CRM record within another application.
3-14
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
NOTE: Using the Microsoft Dynamics CRM SDK to extend the functionality of
Microsoft Dynamics CRM is beyond the scope of this training. For more
information, refer to the Microsoft Dynamics CRM SDK and to the Extending
Microsoft Dynamics CRM training offering.
Process Customization
Microsoft Dynamics CRM supports two types of processes, Workflow and
Dialog.
Dialog boxes allow interaction with a Microsoft Dynamics CRM user. A dialog
can present questions, receive and store answers, perform actions on data, and
implement conditional steps based on input. A dialog could be used to present a
sales user with a customer sales script, which prompts questions that the user can
ask, stores the responses, and then delivers different prompts depending on the
answers.
3-15
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Reporting
SQL Server 2008 R2 Reporting Services is the default reporting solution that
Microsoft Dynamics CRM uses. A default set of Reporting Services reports is
included with the application. Report designer tools can be used to modify
existing reports or create new Reporting Services reports.
NOTE: Using Microsoft SQL Server Reporting Services to create and customize
reports is beyond the scope of this training. For more information, refer to the
Microsoft Official Curriculum course titled "Implementing and Maintaining
Microsoft SQL Server 2008 Reporting Services for more information."
Users can export data from views, including Advanced Find. The data can be
exported into dynamic Microsoft Excel worksheets and pivot tables that can be
automatically refreshed when they are opened.
Microsoft Dynamics CRM also includes a Report Wizard, where users can create
simple Reporting Services reports from within the application. Reports can also
be generated by exporting data into Microsoft Office Excel and using Excel's
reporting functionality. The following is an example of a graph that was
generated using Excel's reporting tools.
3-16
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
NOTE: Creating reports using the Report Wizard and by exporting data into
Microsoft Office Excel is covered in the Reporting in Microsoft Dynamics CRM
2011 training offering.
The components of a Solution can be just about anything that can be customized
or be part of the customization process. The components are displayed in
the"Solution Components" figure.
3-17
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Default Solution
When an Organization is created, a corresponding Solution is created that
contains all the components in the system is created also. This is called the
Default Solution, which is essentially Microsoft Dynamics CRM at its basis. The
standard components can be customized in the Default Solution, and new entities
and other components can be added to it. The Default Solution can be exported
from the application and then imported into another Microsoft Dynamics CRM
organization.
Two separate managed solutions can contain customizations to the same entity.
Microsoft Dynamics CRM 2011 has a conflict resolution strategy that supports
the idea of "merging and co-existence". Elements that support this, such as the
Ribbon and Forms, can exist in different states on multiple solutions yet, they can
be displayed in a consistent way in the organization.
3-18
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
The rules by which the merging and co-existence is implemented are complex.
The rules are explained in full in the Microsoft Dynamics 2011 SDK. However,
not all elements can co-exist in different forms of customization. For example, a
problem will occur if one solution renames Cases as "Incidents" and another
solution renames them as "Issues."
Managed Properties
• Is Customizable
• Can change Display name
• Can change requirement level
Some components, such as Site Map, have no managed properties. The Managed
Properties button allows you to set the component's properties, provided that
component is in an unmanaged state.
Creating Solutions
Perform the following steps to create a new Solution:
3-19
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Once you have created the Solution, the various components will be available in
the Navigation pane under Components. No components will be available for a
newly-created Solution. Creating certain Solution components is covered later in
this training offering. The purpose of this lesson is to provide a general overview
of the options for managing components.
• Delete: removes the component from the system and any references
to the component in unmanaged Solutions. You may might not be
allowed to do this if the component is part of managed Solutions.
• Remove: removes the reference to the component from the Solution.
• Publish: changes to some components may might need to be
published before they take effect; this does not apply to all changes.
WARNING: The Delete option removes the component itself, not just the
reference to the component in the Solution.
Two specific components can be added for which there is no New option: Site
Map and Application Ribbon. These components allow modifications to
navigation areas and ribbons (application and/or entity) for a solution.
Customizing these components is beyond the scope of this training.
Showing Dependencies
3-20
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
The Add Required Component button checks the current component and adds
to the Solution any other components upon which it depends. This frequently
happens when existing standard entities are added to a Solution, because they
tend to have many inter-dependencies. The Add Required Components button
does not check for dependencies that arise through custom code.
Publishers
The Publisher identifies the body that develops the solution (whether an in-house
development team, an individual, or an ISV). You can create Publishers from the
Customizations area or from the Find Publisher dialog when creating the
Solution. The Publisher information is organized into three tabs: General,
Contact Details, and Marketplace.
General Tab
Use the fields on the Contact Details tab to provide contact information that
your Solution consumers can use.
Marketplace Tab
3-21
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
In this lab, you will create a new Solution for use in subsequent labs. You will
create a Publisher to attach to the new solution, though the solution itself will
have no components at this stage.
Goal Description
To distribute a managed solution you should create a Publisher with the
following properties:
Solution Properties:
Challenge Yourself!
Perform the following steps to complete this lab:
3-22
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
4. Look up the Publisher field, but use the Look Up Record dialog
box to create a new publisher called ADVWorks Publisher, and
assign it a prefix of ADV.
5. Enter 1.0.0.1 in the Version field.
6. Save the Solution.
7. Export the solution as an Unmanaged solution. Save the exported zip
file on the desktop.
Step by Step
3-23
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Summary
Microsoft Dynamics CRM's enhanced, built-in customization tools can help
organizations customize the application's user interface and platform quickly and
efficiently, providing flexibility to an organization’s ability to meet their business
needs.
3-24
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
2. Which of the following features does the Microsoft Dynamics CRM platform
apply through workflow processes and plug-ins, or through the UI using
Dialog box or event scripts on Forms?
( ) Row-based security checking
( ) Business logic
( ) Direct database access
( ) Open Data protocol
3-25
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
6. What is the difference between Delete and Remove when applied to a custom
component in an unmanaged Solution?
( ) Delete will delete the component from the system and all references to
it from all unmanaged Solutions. Remove simply removes the
reference to the component.
( ) Delete simply deletes the reference to the component from the current
Solution. Remove will remove the component from the system and
all references to it.
( ) Delete will delete the component from the Solution unless the
component has dependencies. Remove will delete the component
regardless of any dependencies.
( ) Delete applies only to Client Extensions, Plug-in Assemblies, SDK
Message Processing Steps and Service Endpoints and allows them to
be removed from Solutions.
3-26
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
1.
2.
3.
3-27
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
Solutions
Test Your Knowledge
1. What is the purpose of a Solution in Microsoft Dynamics CRM?
MODEL ANSWER:
A Solution acts as a container for all the components that form part of a
customized system. A Solution provides a means of tracking and isolating
the components of different solutions. A Solution allows solutions to exist in
managed or unmanaged states.
2. Which of the following features does the Microsoft Dynamics CRM platform
apply through workflow processes and plug-ins, or through the UI using
Dialog box or event scripts on Forms?
( ) Row-based security checking
(•) Business logic
( ) Direct database access
( ) Open Data protocol
3-28
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Chapter 3: Customizing Microsoft Dynamics CRM Overview
6. What is the difference between Delete and Remove when applied to a custom
component in an unmanaged Solution?
(•) Delete will delete the component from the system and all references
to it from all unmanaged Solutions. Remove simply removes the
reference to the component.
( ) Delete simply deletes the reference to the component from the current
Solution. Remove will remove the component from the system and
all references to it.
( ) Delete will delete the component from the Solution unless the
component has dependencies. Remove will delete the component
regardless of any dependencies.
( ) Delete applies only to Client Extensions, Plug-in Assemblies, SDK
Message Processing Steps and Service Endpoints and allows them to
be removed from Solutions.
3-29
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement
Microsoft Dynamics® CRM 2011 Customization and Configuration
3-30
Microsoft Official Training Materials for Microsoft Dynamics®
Your use of this content is subject to your current services agreement