可持续升级

自定义框架

体系结构(功能/基础架构/内容/应用程序)

自定义框架功能旨在帮助减少不友好升级的代码(如API)或内容(如叠加)的不可扩展区域中的违规。

自定义框架有两个组件:API Surface​和​内容分类

API表面

在AEM的早期版本中,许多API通过Uber Jar公开。 其中一些API不打算由客户使用,但是它们跨捆绑套件提供了支持AEM功能。 今后,Java API将标记为“公共”或“私有”,以向客户指示哪些API在升级环境中是安全的。 其他具体信息包括:

  • 标为Public的Java API可由自定义实现包使用和引用。

  • 公共API将向后兼容兼容性包的安装。

  • 兼容性包将包含一个兼容性Uber JAR以确保向后兼容性

  • 标记为Private的Java API仅供AEM内部捆绑包使用,不应由自定义捆绑包使用。

注意

不应将此背景中的PrivatePublic的概念与公共类和私有类的Java概念混淆。

image2018-2-12_23-52-48

内容分类

AEM长期以来一直使用叠加和Sling Resource Mergaber的主体来允许客户扩展和自定义AEM功能。 为AEM控制台和UI提供支持的预定义功能存储在​/libs​中。 客户绝不得修改​/libs​下的任何内容,但可在​/apps​下添加其他内容,以覆盖和扩展在​/libs​中定义的功能(有关详细信息,请参阅使用叠加进行开发)。 当将AEM升级为​/libs​中的内容时,这仍然会导致许多问题,这些问题可能会发生变化,导致叠加功能以意外方式中断。 客户还可以通过继承通过sling:resourceSuperType扩展AEM组件,或直接通过sling:resourceType引用​/libs​中的组件。 类似的升级问题可能与引用和覆盖用例有关。

为了使客户更安全、更容易地了解​/libs​的哪些区域是安全的,并且在​/libs​中覆盖内容已使用以下混音进行分类:

  • 公共(granite:PublicArea) — 将节点定义为公共节点,以便它可以覆盖、继承() sling:resourceSuperType或直接() sling:resourceType使用。在/libs下标为“Public”的节点下添加兼容性包后,升级是安全的。 一般而言,客户只应利用标记为“公共”的节点。

  • 摘要(granite:AbstractArea) — 将节点定义为摘要。节点可以叠加或继承(sling:resourceSupertype),但不能直接使用(sling:resourceType)。

  • Final(granite:FinalArea) — 将节点定义为final。分类为final的节点不能被叠加或继承。 最终节点可以直接通过sling:resourceType使用。 默认情况下,最终节点下的子节点被视为内部节点

  • 内部(granite:InternalArea) — 将节点定义为内部。分类为内部的节点不能被覆盖、继承或直接使用。 这些节点仅用于AEM的内部功能

  • 无注释 — 节点基于树层次继承分类。/ root默认为Public。 父节点分类为“内部”或“最终”的节点也被视为“内部”。

注意

这些策略仅针对基于Sling搜索路径的机制实施。 /libs​的其他区域(如客户端库)可标记为Internal,但仍可与标准clientlib包含一起使用。 在这些情况下,客户应继续遵守内部分类。

CRXDE Lite内容类型指示器

在CRXDE Lite中应用的混音将显示标记为INTERNAL为灰显的内容节点和树。 对于FINAL,只有图标灰显。 这些节点的子项也将显示为灰色。 在这两种情况下,叠加节点功能都处于禁用状态。

公共

image2018-2-8_23-34-5

最终

image2018-2-8_23-34-56

内部

image2018-2-8_23-38-23

内容运行状况检查

AEM 6.4附带运行状况检查,以在以与内容分类不一致的方式使用覆盖或引用的内容时提醒客户。

Sling/Granite内容访问检查​是一个新的运行状况检查,它监视存储库以查看客户代码是否正确访问AEM中受保护的节点。

这将扫描​/apps,通常需要几秒钟才能完成。

要访问此新运行状况检查,您需要执行以下操作:

  1. 从AEM主屏幕,导航到​工具>操作>运行状况报告

  2. 单击​Sling/Granite内容访问检查,如下所示:

    screen_shot_2017-12-14at55648pm

扫描完成后,将显示警告列表,通知未正确引用的受保护节点的最终用户:

screeston-2018-2-5healthreports

修复违规后,它将返回绿色状态:

screeston-2018-2-5healthreports-vilations

运行状况检查显示由后台服务收集的信息,当所有Sling搜索路径中使用叠加或资源类型时,后台服务会异步检查。 如果内容混合使用不正确,则报告违规。

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now