爲了審計目的,我得到了創建工具的要求,作者可以在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似乎仍然是原版,並且魔法隱藏在某處。