为了审计目的,我得到了创建工具的要求,作者可以在CQ页面的旧版本中查看。我设法使用下面的代码(在SlingServlet使用CQ:页面的resourceType为):获得可用的版本,以与JCR VersionManager显示CQ页面的旧版本
Session session = request.getResourceResolver().adaptTo(Session.class);
VersionManager vm = session.getWorkspace().getVersionManager();
VersionHistory versionHistory = vm.getVersionHistory(request.getResource().getPath());
VersionIterator vIt = versionHistory.getAllVersions();
while (vIt.hasNext()) {
Version version = vIt.nextVersion();
String no = version.getName();
Calendar createdDate = version.getCreated();
// do something with it
}
版本分例如的路径/jcr:system/jcr:versionStorage/d6/23/4f/d6234f36-3360-4024-bee2-411020ac63ae/1.0
我可以在其中看到名为jcr:frozenNode
的子节点,它似乎代表此特定版本的jcr:content节点。
如何告诉CQ在此版本中呈现页面?我期望与一些参数或选择器的网址,但我没有找到任何文件。我试图用Timewarp对其进行逆向工程,但这里的URL似乎仍然是原版,并且魔法隐藏在某处。