Adobe 在页面激活时启动工作流,而不在CQ5中激活页面

Adobe 在页面激活时启动工作流,而不在CQ5中激活页面,adobe,aem,Adobe,Aem,每当内容作者在页面上单击“激活”时,我都需要调用工作流。然后,工作流将向管理员发送通知,然后管理员继续激活页面 让我详细解释一下。这有两个部分 i) 每当内容作者完成对页面的修改时,他都会继续从sidekick或siteadmin上的页面属性中单击“激活页面”。这样做,他不是直接激活页面,而是调用工作流 ii)工作流将向管理员发送通知,管理员随后决定激活页面。这一点相当普通,所以这里没有问题 所有这些都是为了确保没有发布/激活任何内容,除非它已经过管理员审核 我尝试设置一个Replication

每当内容作者在页面上单击“激活”时,我都需要调用工作流。然后,工作流将向管理员发送通知,然后管理员继续激活页面

让我详细解释一下。这有两个部分

i) 每当内容作者完成对页面的修改时,他都会继续从sidekick或siteadmin上的页面属性中单击“激活页面”。这样做,他不是直接激活页面,而是调用工作流

ii)工作流将向管理员发送通知,管理员随后决定激活页面。这一点相当普通,所以这里没有问题

所有这些都是为了确保没有发布/激活任何内容,除非它已经过管理员审核

我尝试设置一个ReplicationEvent侦听器来调用工作流。发生的情况是,在调用工作流之前,页面已经被激活;只有在上述复制事件(即激活)发生之后(显然!)才会发生ReplicationEvent

如前所述,我需要确保当用户单击activate时,页面实际上没有被激活;这意味着我需要修改激活按钮的确切功能

我试着在网上查找,但什么也没找到,这让我相信CQ5的大部分站点管理代码对我们来说是隐藏的,不能修改(而且有充分的理由)

那么,有没有其他人能想到的东西可以帮助我达到我的要求?还是我应该放弃这项失败的事业

提前感谢并为您的长篇大论道歉

您可以使用(),它类似于复制事件侦听器,但在激活完成之前被调用。在
preprocess()
方法中引发异常将停止激活过程并显示异常消息


然而,更优雅的选择是使用ACL来禁止用户激活页面。之后,单击“激活”
按钮将不会发布页面,而是会调用“激活请求”工作流。

您可以将作者放入没有复制权限的用户组中。当作者试图在没有权限的情况下激活页面时,它会自动启动
激活请求
工作流。我认为默认配置有一个内容审批步骤和一个单独的激活步骤。这两个步骤都映射到管理员用户组。工作流位于
http://localhost:4502/libs/cq/workflow/content/console.html
您可以双击模型进行编辑。

只是想知道复制预处理器是否是最好的方法。当管理员尝试激活页面时,以这种方式调用激活请求工作流是否会设置一个永不结束的排序循环?复制预处理器应仅禁用选定用户/组的激活(而不是管理员)。但是我同意第二种方法(使用ACL而不是预处理器)是更好的选择。。是否有办法在激活时通过ACL附加工作流?或者它会自动做到这一点?我尝试以“作者”身份登录,并激活页面;虽然它拒绝激活,但不会启动激活工作流请求。这里也没有说任何关于工作流的内容:-这对你有用吗?因为当我尝试以作者身份登录并激活任何页面时,它会拒绝该操作,但不会触发工作流。我在他们关于这个主题的官方文档[link]()中也没有找到任何相关信息。您使用的是哪个版本的cq?从中可以看出,在5.6+中,当用户无法激活时,工作流将自动启动。您还可以通过sidekick中的workflow选项卡手动设置工作流。我在docs for ReplicatePageProcess中看到了这一点。我用的是5.6。我的需求需要我在单击activate时触发工作流,尽管如此,如上所述,所以我想手动设置工作流在我的5.6版本中是可行的。我启动了一个新实例,创建了一个没有复制权限的用户,并尝试激活GeometricXX页面。它发出
警告:没有复制权限。已针对/content/dam/geometricxx/packshots/pack_square.jpg发出取消/激活请求,并启动工作流。您应该能够在管理员的收件箱中看到该消息(
http://localhost:4502/notifications.html
)奇怪地;当我从头开始创建新用户时,会调用工作流;而不是当我更改任何先前存在的用户的权限时。非常感谢。顺便说一句:D