【问题标题】:How does versioning and version control management work in Oak?版本控制和版本控制管理在 Oak 中是如何工作的?
【发布时间】:2016-12-13 23:45:34
【问题描述】:

我们可以说 OAK 1.4 提供了开箱即用的版本控制和版本控制管理功能吗?如果是这样,如何?这是否也意味着 AEM 作者可以使用相同的功能,即暴露于顶层?

【问题讨论】:

    标签: aem jackrabbit-oak


    【解决方案1】:

    Jackrabbit 的核心始终是提供版本管理。在 OAK 实现中,它封装在 org.apache.jackrabbit.oak.jcr.version 下。

    关于 JackRabbit 版本控制的功能方面的详细信息(OAK 也适用)可以在 Wiki here

    中找到

    核心概念围绕着 mixin 类型 mix:versionable,在 OAK 中,任何具有混合类型 mix:versionable 的节点都可以进行版本控制以维护更改历史记录。实现的关键方面是 VersionManager 类,它为版本关系操作提供 API。

    在 AEM 中,JCR 版本控制的核心概念得到了扩展,并以更受限制的方式提供。 AEM 允许对 Pages only 进行版本控制,这受限于在包 com.day.cq.wcm.core.impl.VersionManagerImpl 中提供自己的 VersionManager 实现,请参阅文档here

    默认情况下,在 AEM 中,页面版本是在页面激活时创建的。 AEM 在经典 UI 中提供 GUI 界面以在页面上显式创建版本,并且有一个 OOTB 流程步骤可用于在自定义工作流实现中按原样使用版本控制。

    【讨论】:

      最近更新 更多