我正在尝试从代码中激活一些页面。我已经创建了一个工作流,每当某些内容在其他具有此页面引用的页面中被修改时,该工作流将对页面进行修改。我试图通过设置激活属性来做到这一点,比如:
parentpage.setProperty("cq:lastModified", Calendar.getInstance());
parentpage.setProperty("cq:lastModifiedBy", session.getUserID());尽管每次都会设置此属性。但是,在发布实例中没有发生激活。我们如何在自定义工作流本身中激活程序联盟?
发布于 2013-09-23 11:21:37
使用Replicator OSGi服务:
@Component
public class MyComponent {
@Reference
private Replicator replicator;
private void activatePage(Session session) {
//...
replicator.replicate(session, ReplicationActionType.ACTIVATE, pathToPage);
//...
}
}你不需要设置任何属性。
发布于 2014-12-17 17:45:21
如果您没有组件,那么您可以将服务注入到-
Replicator replicator = getSling().getService(Replicator.class);https://stackoverflow.com/questions/18955982
复制相似问题