1

我知道可以在 JCR 存储库中对各个节点进行版本控制。但是,如果我的文档由小片段的层次结构、较大片段池中节点的别名组成,该怎么办。我想拍摄文档中所有节点的快照,并在所有正在编辑文档的客户端之间共享层次结构当前状态的信息。JCR 有可能吗?你能给我一些指导吗?

4

1 回答 1

1

是的,可以(并且非常容易)对子图进行完整的版本控制。子图顶部的节点应该具有jcr:versionablemixin,通过节点的主要类型或 mixin 类型的超类型显式或隐式。子图中没有其他节点需要标记为可版本化;事实上,如果他们都没有它,那就容易多了。

默认情况下,属性定义和子节点定义的所有“父版本控制”行为都是COPY,这将完美地工作。

然后,只需获取VersionManagerJCR Session(通过会话的工作区),并签入节点:

javax.jcr.Node subgraphRoot = ...
javax.jcr.VersionManager vmgr = session.getWorkspace().getVersionManager();
vmgr.checkin(subgraphRoot.getPath());

检查它以修改它同样简单:

vmgr.checkout(subgraphRoot.getPath());
于 2012-09-04T12:39:54.710 回答