如何在 CQ5 中以编程方式删除页面的修订



在当前设置中;我们正在尝试自动化创建蓝图页面的过程,将其推广到其实时副本;并激活实时副本页面。也;页面的停用和删除也是以编程方式完成的。所有这些都是通过使用com.day.cq.wcm.api.msm和com.day.cq.replication api的代码完成的。

我们现在面临的问题是以编程方式删除蓝图和实时复制页面后; 如果我们再次以编程方式创建相同的页面; 那么; 有一个选项"不采取行动";而不是在推出页面时"创建";这意味着活动副本已分离。我们想要做的是在删除页面的同时;我们要删除与关系关联的历史记录;以便下次创建同一页面时;它将推广到实时副本分支。

我们尝试了取消关系和结束关系(在文档中提到它会删除历史记录https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/wcm/msm/api/LiveRelationshipManager.html#endRelationship ),但它不会删除历史记录。

这是因为每次激活页面时,都会创建一个版本。如何以编程方式删除页面的修订版/版本?有一个选项可以创建修订 https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/wcm/api/PageManager.html#createRevision 但没有删除创建的修订的选项。

我们应该尝试删除在/var/audit/com.day.cq.replication 中创建的版本节点吗?

我认为您希望能够重新创建以前是实时副本的页面。然后,只需确保在删除作为实时副本的页面之前,实时关系将终止(https://docs.adobe.com/docs/en/aem/6-0/develop/ref/javadoc/com/day/cq/wcm/msm/api/LiveRelationshipManager.html#endRelationship(org.apache.sling.api.resource.Resource,布尔值)

此方法不会删除任何历史记录。它只是删除页面上的任何实时副本信息,以便当您之后删除页面时,该页面的创建修订版也没有任何实时副本信息。

为了确定已删除的页面是否是实时副本,AEM/MSM会查找该页面的最后一个修订版,以检查它在删除时是否有任何实时副本信息。

要清除版本,您应该使用:https://docs.adobe.com/docs/en/cq/5-6-1/deploying/version_purging.html

相关内容

  • 没有找到相关文章

最新更新