Supported extensions for Microsoft Dynamics 365

 

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

You can customize Microsoft Dynamics 365 (online & on-premises) by using tools that are available in the Microsoft Dynamics 365 web application or that are described in the Microsoft Dynamics 365 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 365. 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 365 SDK

Support for .NET Framework Versions

Unsupported customizations

Customizations using Microsoft Dynamics web application

There are a variety of tools included with Microsoft Dynamics 365 that you can use to customize it. Customizations made using the Microsoft Dynamics 365 tools and web application are fully supported and fully upgradeable.

The following customization methods can be used to produce fully supported customizations:

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 2016 and Microsoft Dynamics CRM Online.

Customizations using the Microsoft Dynamics 365 SDK

The Microsoft Dynamics 365 SDK, technical articles, and sample code published on the Microsoft Dynamics CRM Developer Center, and information released by the Microsoft Dynamics 365 Developer Support Team are included in the area of customizations using the Microsoft Dynamics 365 SDK. The specific actions and levels of supportability and upgradeability are described later in this topic.

Microsoft Dynamics 365 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 Extend Microsoft Dynamics 365 on the server and Administer the deployment using the deployment web service.

Client-side JavaScript

You can use JavaScript within Microsoft Dynamics 365 (online & on-premises) 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 365 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 365 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 365 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 365 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 365 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 365.

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 365 SDK is fully supported and upgradeable. This feature is available for all Microsoft Dynamics 365 deployments, including on-premises, IFD, and Online. However, plug-ins can only be registered and executed in the sandbox (isolation) of Microsoft Dynamics 365 (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 365 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 365 on-premises, IFD, and Online. However, custom workflow activities can only be registered and executed in the sandbox (isolation) of Microsoft Dynamics 365 (online). More information: Automate business processes using Dynamics 365 process

The ability to edit XAML workflows is fully supported and upgradeable. However, this feature is available for Microsoft Dynamics 365 on-premises and IFD only. More information: Automate business processes using Dynamics 365 process

Support for .NET Framework Versions

The following describes the support considerations for custom code written the Microsoft .NET Framework 4.5.2.

Any web service client created by using the Microsoft .NET Framework 4.5.2 that calls the Microsoft Dynamics 365 web services is fully supported in Microsoft Dynamics 365.

Any .NET assembly that is created with the Microsoft .NET Framework 4.5.2 for use in Microsoft Dynamics 365 as a Microsoft Dynamics 365 plug-in assembly or as a Microsoft Dynamics 365 custom workflow activity is supported.

Any visualization (chart) that is created with .NET Framework 4.5.2 .

Unsupported customizations

Modifications to Microsoft Dynamics 365 that are made without using either the Microsoft Dynamics 365 SDK or Microsoft Dynamics 365 tools are not supported and are not preserved during updates or upgrades of Microsoft Dynamics 365. Anything that is not documented in the Microsoft Dynamics 365 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 365. To minimize update and upgrade issues, do not modify any Microsoft Dynamics 365 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 365 application, Microsoft Dynamics 365 tools, or Microsoft Dynamics 365 files located at Program Files\Microsoft Dynamics 365. 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 365 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 365 server.

  • Use of client certificates is not supported by the Microsoft Dynamics 365 SDK. If you configure the Microsoft Dynamics 365 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 365 on-premises deployments, adding indexes is supported per the guidelines in the Deploying and administering Microsoft Dynamics CRM documentation. This applies to all Microsoft Dynamics 365 databases and the Microsoft Dynamics 365 for 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 365 database using SQL commands or any technology other than those described in the Microsoft Dynamics 365 SDK.

  • Referencing any Microsoft Dynamics 365 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 365, the reuse of any Microsoft Dynamics 365 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 365 root installation folder.

  • The reuse of any Microsoft Dynamics 365 JavaScript code, including ribbon commands. This code may change or be overwritten during an upgrade.

  • Modifications to any one of the Microsoft Dynamics 365 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 365 supported tools available offline in the Dynamics 365 for Outlook.

  • The use of custom HttpModules to inject HTML/DHTML into the Microsoft Dynamics 365 Forms.

  • Creating a plug-in assembly for a standard Microsoft Dynamics 365 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 365 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

Choose your development style for managed code
Extend Microsoft Dynamics 365 on the server
Write code for Microsoft Dynamics 365 forms

Microsoft Dynamics 365

© 2016 Microsoft. All rights reserved. Copyright