Для целей аудита я получил требование создать инструмент, в котором авторы могут просматривать более старые версии страницы CQ. Мне удалось получить доступные версии с JCR VersionManager, используя следующий код (используется в SlingServlet с сд: Страница в качестве ResourceType):Показать старую версию страницы 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 для отображения страницы в этой версии? Я ожидал бы URL с некоторым параметром или селектором, но я не нашел никакой документации. Я попытался перестроить его с помощью Timewarp, но там URL-адрес кажется еще оригинальным, и волшебство где-то скрыто.