向后兼容标准

NOTE
Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。 有关术语更改的综合参考,请参阅以下文档

对Adobe Experience Platform中的标记扩展进行的更新必须能够向后兼容该扩展的先前版本。 这意味着:

  • 对扩展的主要组件所做的任何修改必须能够与先前版本兼容。这包括扩展配置、事件类型、条件类型、操作类型、数据元素类型和共享模块。
  • 用户使用旧版本扩展创建的组件必须能够通过针对较新版本提供的模式执行的验证。
  • Adobe Experience Platform用户应该能够安装扩展的更新版本,并在他们做出刻意更改之前,使其完成的所有操作继续按原样运行。

允许的更改

允许对扩展进行以下类型的更改:

  1. 可以添加新组件(事件类型、条件类型等)。
  2. 可以将新的可选字段添加到扩展配置设置中。
  3. 可以将必填字段更改为可选字段。

禁止的更改

不允许对扩展进行以下类型的更改:

  1. 不能重命名组件。
  2. 不能删除组件。
  3. 不能从组件中删除字段。
  4. 不能将可选字段更改为必填字段。
  5. 不能添加新的必填字段。
  6. 不能更改现有共享模块的 API。

如果您进行了上述任何更改,则在资产中安装了您的扩展的任何人都会马上遇到以下问题:

  • 规则不再正确呈现,因为其中一个规则组件正在查找不存在的组件
  • 所有构建操作都会失败,因为库中包含扩展中不再存在的上游资源
  • 所有构建操作都会失败,因为库中包含的某个资源的设置未能通过针对新模式执行的验证

尤其在第二种情况下,用户可能没有相应的补救措施,并且也没有办法修复其资产,以便他们可以再次发布。

删除功能

可能会有这样一些情况,即您具有正当的业务理由,并且认为您确实需要执行禁止的更改(如上面所列)。在这些情况下,您仍旧不能执行更改,但可以执行以下替代操作:

  1. 我要删除组件 => 创建新组件并弃用旧组件
  2. 我要从组件中删除字段 => 创建一个删除了该字段的新组件并弃用旧组件
  3. 我要将可选字段更改为必填字段 => 创建一个需要该必填字段的新组件并弃用旧组件
  4. 我要更改共享模块的 API => 创建一个新的共享模块并弃用旧模块

您可能找出了这些替代操作所隐含的规律。这很好。弃用旧组件时,您将需要通知扩展的用户,该组件已弃用,他们需要切换到新组件。 有关与用户通信的几点建议:

  • 更新旧组件的显示名称,使其包括“(已弃用)”。
  • 更新旧组件的视图,使用红色大警告文本指示该组件已被弃用,用户应切换到新组件。
  • 更新您的模块代码,以在控制台中记录弃用通知。请记住,这些内容将向最终用户显示,因此应保持简洁并具有一定的通用性。
  • 从 CRM 系统发送友好的电子邮件。

如果旧功能不仅不需要,而且实际上也不再存在于解决方案中,您还可以执行另外一个步骤 - 但只有在已向用户发送通知并给予他们更新时间后,才可执行该步骤。

  • 更新模块的内容,使其不执行任何操作。这将在下一个版本中从用户部署的库删除相关功能,但不会损坏他们的任何规则或版本。

恢复删除的功能

如果您已经删除了功能,并了解到用户的一些东西因此而损坏,则必须发布新版本的扩展,以恢复您删除的组件。

您可以按照如上所述,将这些组件恢复为已弃用状态,但是这些组件需要存在。

例如,假设您有一个 v1.0 版本,该版本中包含用户正在使用的组件 XYZ。然后,您发布了 v1.1 版本,其中不再包含组件 XYZ。您从用户那里了解到您的扩展损坏了其资产,您需要对其进行修复。那么您必须发布一个重新包含组件 XYZ(可能处于已弃用状态——具体取决于您)的 v1.2 版本,并让用户升级到 v1.2,以使工作正常运行。

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743