Extend Microsoft Dynamics CRM


Applies To: Dynamics CRM 2016, Dynamics CRM Online

The extensibility platform is the heart of Microsoft Dynamics CRM Online 2016 Update and Microsoft Dynamics CRM 2016 (on-premises). When you use the Microsoft Dynamics CRM SDK, you are building on top of this system. The Microsoft Dynamics CRM platform supports several types of deployments with the power of choice: Microsoft Dynamics CRM Online, Microsoft Dynamics CRM installed on your own server (on-premises), or a hosted deployment of Microsoft Dynamics CRM. The security model protects the platform from unauthorized access across the Web.

When you develop an application that uses the Microsoft Dynamics CRM server, you use Web services to communicate with the underlying xRM platform layer. Microsoft Dynamics CRM uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes and also to make upgrades and enable transportation of solutions easier. This allows for changes in the data structure without requiring any change to code in Microsoft Dynamics CRM.

The xRM platform does not impose business-specific logic. This layer imposes only generic constraints such as security. It contains the building blocks for an application, but by itself is nothing more than a collection of related objects. However, the interaction between those objects is used to implement more extensible logic such as the quote-to-order-to-invoice processing and pricing logic.

The xRM platform also controls access to data through security, controls access to the database, and raises events for workflow processes and custom business logic implementations (plug-ins). The platform layer provides for both incoming and outgoing email processing through Microsoft Exchange Server.

Microsoft Dynamics CRM SDK architecture

In This Section

Dynamics CRM application platform - A platform for building extended CRM (xRM) applications

CRM provides a powerful platform for building line-of-business applications. These applications are often referred to as Extended CRM (xRM) applications because they leverage the relationship tracking capabilities beyond the typical customer relationship management (CRM) scenarios. This topic introduces resources to learn more about this capability.

Supported extensions for Microsoft Dynamics CRM

When you create extensions it is important that you choose to implement them in a supported way. This protects your investment by helping to insure that you can upgrade to new releases of Microsoft Dynamics CRM and use the latest capabilities as they are released. This topic describes which extensions are supported and which are not.

The metadata and data models in Microsoft Dynamics CRM

Microsoft Dynamics CRM uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes. This structure also makes upgrades and the transportation of customizations easier. The data structure can change without requiring any change to code in the Microsoft Dynamics CRM server or client applications.

Topics in this section describe how you can easily view the metadata, create and edit metadata with code, and query metadata to create dynamic applications which react to changes or metadata differences found in separate organizations.

Extend Microsoft Dynamics CRM on the server

This section describes capabilities to extend Microsoft Dynamics CRM on the server. Compared to extensions you can apply on the client, extensions performed on the server are applied consistently regardless of the client application used to interact with the platform. Whenever possible, extensions which apply business logic should be applied on the server.

Topics in this section describe how to deploy custom business logic using plug-ins, processes, the asynchronous service, Azure extensions and more.

Extend Microsoft Dynamics CRM on the client

This section contains information about changes developers and customizers can make to extend Microsoft Dynamics CRM within the clients provided for Microsoft Dynamics CRM: web application, Microsoft Dynamics CRM for phones, and Microsoft Dynamics CRM for tablets . You apply these extensions by using JavaScript and web resources. These clients are designed to allow you to add extensions which can be applied for all clients rather than each one separately.

Client extensions can provide a very rich and responsive experience for users because the code runs on their device. However, critical business logic should not be applied only by client-side scripts. Unlike extensions that are applied on the server, client extensions cannot apply business logic for data entering the system by other means, such as integrations with other systems, custom clients, or data import.

Customize Microsoft Dynamics CRM applications

Microsoft Dynamics CRM client applications include the web application, Microsoft Dynamics CRM for phones, and Microsoft Dynamics CRM for tablets. Each of these clients reference a common set of data that controls visual elements of the clients. This application metadata is usually edited using customization tools in the application or third-party tools. Other clients can also reference this application metadata if they want to leverage configuration options defined for specific organizations.

For an in-depth guide to customization by using the tools available in the web application see TechNet: Customize your CRM system. The topics in this section describe the structure of the data edited by those tools or third-party tools.

Package and distribute extensions using solutions

Solutions give you a framework for packaging, installing, and uninstalling components that provide specific business functionality. Solutions are used by ISVs and other Microsoft Dynamics CRM solution providers to distribute extensions they create, but you will also use them to transfer customizations between different organizations you may use in your development process, such as separate development, test, and production organizations.

Developers guide to reports for Microsoft Dynamics CRM

Microsoft Dynamics CRM includes reports that provide useful business information to the user. These reports are based on Microsoft SQL Server Reporting Services, and provide the same set of features that are available for the Microsoft SQL Server Reporting Services reports.

Topics in this section describe how to publish, manage, and work with reports programmatically. For information about writing reports, see Report writing with CRM 2016 for online and on-premises

Extend Microsoft Dynamics CRM for Outlook

Microsoft Dynamics CRM for Outlook lets users interact with data while they’re offline and not connected to a server. Microsoft Dynamics CRM includes features that let you extend your solutions to offline scenarios by calling the web services offline from your custom code. In addition, the Microsoft.Crm.Outlook.Sdk assembly provides programmatic support for basic Microsoft Outlook actions such as synchronization, going offline or online, and Dynamics CRM for Outlook state verification. Offline programming uses the Microsoft ASP.NET Development Server.

Microsoft Dynamics CRM includes features that allow administrators to customize and manage filters for their users. Filter templates provide the starting point for entity synchronization on Dynamics CRM for Outlook. Filters determine which entity collections are synchronized to Outlook and to Microsoft SQL Server 2008 Express Edition for offline-enabled Microsoft Dynamics CRM solutions.

Integrate Microsoft Dynamics CRM with SharePoint

Microsoft SharePoint Server is a collaboration and content management application that simplifies how people store, find, and share information. It helps people to collaborate effectively by having secure access to documents and information that they require to make business decisions.

The SharePoint integration feature enables you to store and manage documents on SharePoint in the context of a Microsoft Dynamics CRM record, and use the SharePoint document management abilities in Microsoft Dynamics CRM, such as checking the document in and out, viewing version history, and changing document properties.

Integrate Microsoft Dynamics CRM with OneNote

Set up OneNote Integration in Microsoft Dynamics CRM so that a dedicated OneNote notebook is automatically created for the selected entity records in CRM. This feature provides you the ability to easily take notes in the context of a CRM record in various formats such as pictures, drawings, formatted text (bullet points and tables), and voice recordings in a OneNote notebook. You can access the OneNote notebook directly on the activity wall in the CRM web client or from the record form in the CRM mobile apps.

Microsoft Dynamics CRM 2016 and CRM Online

© 2016 Microsoft. All rights reserved. Copyright

Community Additions