Supported extensions for Microsoft Dynamics CRM 2013
Applies To: Dynamics CRM 2013
You can customize Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online by using tools that are available in the Microsoft Dynamics CRM web application or that are described in the Microsoft Dynamics CRM SDK. These customizations are supported and can be upgraded.
Customizations made using methods other than those described here are unsupported and could cause problems during updates and upgrades to Microsoft Dynamics CRM. For more information, see Unsupported customizations.
Topics covered in technical articles published on MSDN in the CRM Developer Center on MSDN are supported, but might not be upgraded.
In This Topic
Customizations using Microsoft Dynamics web application
Customizations using the Microsoft Dynamics CRM SDK
Support for .NET Framework Versions
Unsupported customizations
Customizations using Microsoft Dynamics web application
There are a variety of tools included with Microsoft Dynamics CRM that you can use to customize it. Customizations made using the Microsoft Dynamics CRM tools and web application are fully supported and fully upgradeable.
The following customization methods can be used to produce fully supported customizations:
Customization in the web application. For more information, see the Customization Guide for Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online
Settings in the web application. For more information, see the Administrator’s Guide in Microsoft Dynamics CRM online Help.
Reporting Services. For more information, see Developers guide to reports for Microsoft Dynamics CRM 2013.
Using Filtered Views with external applications such as those in Microsoft Office.
Note
Fully supported means that developer support can provide assistance for customizations and that application support can help customers running those modifications.
For more information about using the customization tools in the web application, see the Customization Guide for Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online
Customizations using the Microsoft Dynamics CRM SDK
The Microsoft Dynamics CRM SDK, technical articles, and sample code published on the Microsoft Dynamics CRM Developer Center, and information released by the Microsoft Dynamics CRM Developer Support Team are included in the area of customizations using the Microsoft Dynamics CRM SDK. The specific actions and levels of supportability and upgradeability are described later in this topic.
Microsoft Dynamics CRM SDK
Use of the web services is fully supported. This includes: DiscoveryService, OrganizationService, Organization Data Service, the OData endpoint, the modern app SOAP endpoint, and the DeploymentService. We strive to keep the APIs backward compatible but reserve the right to change APIs for additional features. Entity attributes may also change in future versions. For more information, see Write applications and server extensions and Administer the deployment using the deployment web service.
Client-side JavaScript
You can use JavaScript within Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online in three areas:
Form Script event handlers: You can configure form event handlers to call functions defined in JavaScript web resources.
Command bar (ribbon) commands: You can use the <CustomRule> (RibbonDiffXml) or <JavaScriptFunction> (RibbonDiffXml) elements to define actions that call functions defined within JavaScript web resources.
Web resources and IFRAMEs: You can use JavaScript web resources within HTML web resources. IFRAMES configured to allow cross-site scripting, or scripts within HTML web resources included in a form may interact with the documented Xrm.Page or Xrm.Utility methods within the form via the parent reference.
All interaction with Microsoft Dynamics CRM application pages must only be performed through the methods with the Xrm.Page or Xrm.Utility namespaces documented in the Client-side programming reference. Directly accessing the Document Object Model (DOM) of any Microsoft Dynamics CRM application pages is not supported. The use of jQuery in form scripts and commands is not recommended. More information: Use of jQuery
You can open Microsoft Dynamics CRM forms, views, dialogs, and reports using the methods documented in Open forms, views, dialogs and reports with a URL.
Ribbon customization
Use of RibbonDiffXml to add, remove, or hide ribbon elements is supported. Reuse of Ribbon commands defined by Microsoft Dynamics CRM is supported; however, we reserve the right to change or deprecate the available commands. Reuse of JavaScript functions defined within ribbon commands is not supported.
Solution file
Modification of an unmanaged solution file is supported as described in the Microsoft Dynamics CRM SDK. Certain customization tasks are performed using these steps:
Export a solution component as an unmanaged solution.
Extract the contents of the solution package.
Edit the Customizations.xml file.
Repackage the solutions file.
Import the modified solution.
Changes to the Customizations.xml file must conform to the CustomizationsSolution.xsd schema. For more information, see Schemas used in Microsoft Dynamics CRM 2013.
The following supported tasks require this procedure:
Ribbon customization.
Application navigation customization using SiteMap.
Form and dashboard customization using FormXml.
Saved query customization.
Plug-ins
The ability to create custom business logic using the plug-in mechanism described in the Microsoft Dynamics CRM SDK is fully supported and upgradeable. This feature is available for all Microsoft Dynamics CRM deployments, including on-premises, IFD, and Online. However, plug-ins can only be registered and executed in the sandbox (isolation) of Microsoft Dynamics CRM Online. More information: Write plug-ins to extend business processes
Adding your plug-in and custom workflow activity assemblies to the %installdir%\server\bin\ folder is supported on Microsoft Dynamics CRM on-premises and IFD server installations only.
Workflow
The ability to create custom workflow activities (assemblies) to be called from workflow rules is fully supported and upgradeable. This feature is available for Microsoft Dynamics CRM on-premises, IFD, and Online. However, custom workflow activities can only be registered and executed in the sandbox (isolation) of Microsoft Dynamics CRM Online. More information: Write workflows to automate business processes
The ability to edit XAML workflows is fully supported and upgradeable. However, this feature is available for Microsoft Dynamics CRM on-premises and IFD only. More information: Write workflows to automate business processes
Support for .NET Framework Versions
The following describes the support considerations for custom code written with Microsoft Visual Studio 2010, 2012, or 2013, and the Microsoft .NET Framework 4. The Microsoft .NET Framework 4.5 is currently not supported for building managed code applications, plug-ins, and custom workflow activities that link to the SDK assemblies.
Any web service client created by using Visual Studio and the Microsoft .NET Framework 4 that calls the Microsoft Dynamics CRM web services is fully supported in Microsoft Dynamics CRM. The use of ASP.NET AJAX is supported.
Any .NET assembly that is created with Visual Studio and the Microsoft .NET Framework 4 for use in Microsoft Dynamics CRM as a Microsoft Dynamics CRM plug-in assembly or as a Microsoft Dynamics CRM custom workflow activity is supported.
Any visualization (chart) that is created with .NET Framework 4 or 3.5 is supported.
For backwards compatibility, these endpoints can be used with earlier versions of the .NET Framework as follows:
- The 2011 endpoint supports .NET Framework 3.0
Unsupported customizations
Modifications to Microsoft Dynamics CRM that are made without using either the Microsoft Dynamics CRM SDK or Microsoft Dynamics CRM tools are not supported and are not preserved during updates or upgrades of Microsoft Dynamics CRM. Anything that is not documented in the Microsoft Dynamics CRM SDK and supporting documents is not supported. Additionally, unsupported modifications could cause problems when you update through the addition of hotfixes or service packs or upgrade Microsoft Dynamics CRM. To minimize update and upgrade issues, do not modify any Microsoft Dynamics CRM file that you did not create yourself.
The following is a list of unsupported action types that are frequently asked about:
Modifications to any .aspx, .css, .htm, .js, .xml, .jpg, or .gif files or the addition of files in the wwwroot directories of the Microsoft Dynamics CRM application, Microsoft Dynamics CRM tools, or Microsoft Dynamics CRM files located at Program Files\Microsoft Dynamics CRM. However, if you have made changes to these files, these files are checked for modifications and will not be overwritten.
Modifications to the Microsoft Dynamics CRM website (file and website settings). Custom solutions should be installed in a different website. This includes modifications to the file system access control lists (ACLs) of any files on the Microsoft Dynamics CRM server.
Use of client certificates is not supported by the Microsoft Dynamics CRM SDK. If you configure the Microsoft Dynamics CRM website to require IIS client certificates, you will get authentication failures for any applications that were built using the SDK.
Modifications to the physical schema of the database, other than adding or updating indexes. This includes any actions performed against the database without using the System Customization capabilities in the web application or using the metadata APIs that are described in this SDK documentation. Modifying tables, stored procedures, or views in the database is not supported. Adding tables, stored procedures, or views to the database is also not supported because of referential integrity or upgrade issues. For Microsoft Dynamics CRM 2013 on-premises deployments, adding indexes is supported per the guidelines in the “Microsoft Dynamics CRM 2013 Implementation Guide.” This applies to all Microsoft Dynamics CRM databases and the Microsoft Dynamics CRM for Microsoft Office Outlook local database.
When you change the database without using the support methods for system customization, you run the risk of problems occurring during updates and upgrades.
Data (record) changes in the Microsoft Dynamics CRM database using SQL commands or any technology other than those described in the Microsoft Dynamics CRM SDK.
Referencing any Microsoft Dynamics CRM dynamic-link libraries (DLLs) other than the following:
Microsoft.Xrm.Sdk.dll
Microsoft.Crm.Sdk.Proxy.dll
Microsoft.Xrm.Sdk.Workflow.dll
Microsoft.Xrm.Sdk.Deployment.dll
Microsoft.Crm.Outlook.Sdk.dll
Microsoft.Crm.Tools.EmailProviders.dll
The use of application programming interfaces (APIs) other than the documented APIs in the web services DeploymentService, DiscoveryService, Organization Data Service, SOAP endpoint for web resources and OrganizationService.
To achieve the appearance and behavior of Microsoft Dynamics CRM, the reuse of any Microsoft Dynamics CRM user interface controls, including the grid controls. These controls may change or be overwritten during an upgrade. We do not recommend that you use or change the Default.css file in the Microsoft Dynamics CRM root installation folder.
The reuse of any Microsoft Dynamics CRM JavaScript code, including ribbon commands. This code may change or be overwritten during an upgrade.
Modifications to any one of the Microsoft Dynamics CRM forms or adding new forms, such as custom .aspx pages, directly to Microsoft Office Outlook or making changes to .pst files. These changes will not be upgraded.
Making customizations except when you use the Microsoft Dynamics CRM supported tools available offline in the CRM for Outlook.
The use of custom HttpModules to inject HTML/DHTML into the Microsoft Dynamics CRM Forms.
Creating a plug-in assembly for a standard Microsoft Dynamics CRM assembly (Microsoft.Crm.*.dll) or performing an update or delete of a platform created pluginassembly is not supported.
Microsoft Dynamics CRM 4.0 plug-ins and custom workflow activities are not supported.
Microsoft Dynamics CRM 4.0 Service Endpoint (2007 endpoint) is not supported.
Creating an Internet Information Services (IIS) application inside the Microsoft Dynamics CRM website for any VDir and specifically within the ISV folder is not supported. The <crmwebroot>\ISV folder is no longer supported.
Editing a solutions file to edit any solution components other than ribbons, forms, SiteMap, or saved queries is not supported. For more information, see When to edit the customizations file. Defining new solution components by editing the solutions file is not supported. Editing web resource files exported with a solution is not supported. Except for the steps documented in Maintain managed solutions, editing the contents of a managed solution is not supported.
Silverlight Application Library Caching is not supported.
Displaying an entity form within an IFrame embedded in another entity form is not supported.
See Also
Developer overview
Choose your development style for managed code
Write applications and server extensions
Write code for Microsoft Dynamics CRM 2013 forms
Upgrade your code from Microsoft Dynamics CRM 2011 to Microsoft Dynamics CRM 2013