aem - 如何在 cq5 工作流中以编程方式激活页面

标签 aem

我正在尝试从代码激活一些页面。我制作了一个工作流程,只要在引用该页面的其他页面中修改了某些内容,该工作流就会修改页面。我试图通过设置激活属性来做到这一点,例如:

parentpage.setProperty("cq:lastModified", Calendar.getInstance());
parentpage.setProperty("cq:lastModifiedBy", session.getUserID());

尽管每次都会设置此属性。但是在发布实例中没有发生激活。我们如何在自定义工作流本身中激活程序化盟友?

最佳答案

使用 Replicator OSGi 服务:

@Component
public class MyComponent {

    @Reference
    private Replicator replicator;

    private void activatePage(Session session) {
    //...
        replicator.replicate(session, ReplicationActionType.ACTIVATE, pathToPage);
    //...
    }
}

您不需要设置任何属性。

关于aem - 如何在 cq5 工作流中以编程方式激活页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955982/

相关文章:

css - 一个页面上的多个 Parsys

aem - 如何写一个nt :file programmatically

java - 进行 Junit 测试时,如何在 AEM Sling 模型中的节点对象中 setProperty()?

javascript - 在使用 cq :include? 包含外部 JS 之前,如何在 JSP 中包含全局 JS 变量

AEM 6.1 : ACS AEM commons bundle - multifield

java - currentStyle的意义是什么

aem - currentNode 如何注入(inject)到 CQ5 JSP 文件中?

aem - 如何更换吊带 :resourceType value in bulk using query or script

java - Live Copy 上不会自动进行转出

aem - 如何直接从使用对象中设置变量?