支持和不支持的自定义做法

扩展 Dynamics 365 Customer Engagement (on-premises) 的开发人员有责任遵循 SDK 中记录的规则和最佳实践:使用 Dynamics 365 Customer Engagement (on-premises) 开发的最佳实践。 SDK 记录了开发人员可用的 API,并提供有关如何最好地使用它们的指导。 Microsoft 仅支持 SDK 中记录的 API 和实践。 您可能在 Internet 上找到一些介绍如何解决问题的东西,但如果不利用 SDK 中记录的 API,则不受 Microsoft 支持。 在让开发人员应用更改之前,应验证其是否应使用支持的方法。

如果开发人员使用 SDK 中描述的 API 和最佳实践,则我们可以确定测试我们对 Customer Engagement 所做的任何更改是否有可能中断现有的自定义项。 我们的目的是:当发布新版本或更新 Customer Engagement 应用时,继续使用采用支持的方法编写的自定义代码。 因为您可以升级到功能改进后的新版本,不必每次都让管理员更改其代码,因此您也将受益。

如果我们检测到新版 Customer Engagement 应用中的某项更改将导致某个支持的自定义项损坏,我们将记录受影响的内容以及用户如何更改代码修复该问题。

Dynamics 365 Customer Engagement (on-premises) 不支持哪几种自定义?

由于某些 API 和编程实践不受 Microsoft 支持并不意味着它们不起作用。 “Microsoft 不支持”只是表示:无法从 Microsoft 那儿获得有关这些 API 或编程实践的支持。 我们不测试它们,我们不知道我们更改的某些事件是否会破坏它们。 我们无法预测如果用户更改我们应用程序的代码会发生什么。

使用不支持的 API 和编程实践的开发人员承担为其代码提供支持的责任。 他们需要测试其代码以确保其有效。

如果您选择在 Customer Engagement 应用部署中使用不支持的自定义项,则应确保记录所做的事情,并制定在与 Dynamics 365 Customer Engagement (on-premises) 应用技术支持联系之前删除这些自定义项的策略。 如果需要有关不支持的自定义项的帮助,请联系准备自定义项的开发人员或组织。

常见的不支持自定义实践

下面列出了不受支持的常见自定义实践。 这不是一个完整列表。 详细信息:支持的 Dynamics 365 Customer Engagement (on-premises) 扩展:不支持的自定义

使用 JavaScript 与 Web 应用程序文档对象模型 (DOM) 元素交互
在应用程序中的任意位置使用的任何 JavaScript 库都必须仅与记录的 API 交互。 JavaScript 开发人员在处理应用程序时,要频繁地访问使用特定名称的 DOM 元素。 由于 Dynamics 365 Customer Engagement (on-premises) 是一种 Web 应用程序,因此这些技术有效,但他们可能会在更新过程中受损,因为它们引用的元素的名称会随时发生变化。 我们保留在应用程序中进行任何必要更改的权利,这通常是指更改页面的构建方式。 添加依赖于当前页面结构的任何更改都意味着将更新应用到应用程序时,需要测试并可能要更改这些脚本中的自定义代码。

jQuery 是 JavaScript 开发人员常用的库。 使用 jQuery 的最大好处是它简化了开发人员访问和创建 DOM 元素的过程,这正是我们在 Customer Engagement 应用的应用程序页面中不支持的功能。 当开发人员正在使用 HTML Web 资源创建自定义用户界面时,建议使用 jQuery,但在 Customer Engagement 应用程序页面中,受支持的 API 不需要使用 jQuery。

使用任何采用 JavaScript 的未记录内部对象或方法
Dynamics 365 Customer Engagement (on-premises) 使用页面中的许多 JavaScript 对象。 JavaScript 开发人员可以通过调试页面来发现这些对象,然后访问并重复使用这些对象。 我们保留对这些对象进行任何必要的更改的权利,包括删除它们或者更改方法的名称。 如果某个脚本引用了这些对象,那么,如果未找到这些对象,该脚本将中断。

另请参阅

Dynamics 365 for Customer Engagement 版本 9 (on-premises) 的应用制作和自定义概述