在JCR中对节点层次结构进行版本控制?

时间:2012-09-03 08:57:46

标签: version-control hierarchy jcr

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

1 个答案:

答案 0 :(得分:1)

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

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

然后,只需获取JCR VersionManager的{​​{1}}(通过会话的工作区),然后检查节点:

Session

检查出来进行修改就是这么简单:

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