AEM-具有作者内容验证功能的自定义工作流程?

桑迪普

如何编写具有作者内容验证功能的AEM-自定义工作流程?

例如:我想在进行页面激活时验证作者HTML内容。我想检查作者内容中的所有超链接,基于特定的链接未能通过工作流程或通过工作流程进行激活。

纳豆

AEM工作流程文档是对这个问题非常有帮助。您将需要创建实现该WorkflowProcess接口的服务完成后,您可以在http:// localhost:4502 / workflow上创建新的工作流,或者可以在http:// localhost:4502 / cf#/ etc / workflow / models / request_for_activation.html上更新默认的激活工作流。放入一个新的Process Step,将设置Advance Handler为true,然后将Process设置为您的服务。别忘了Save按一下按钮。

在您的服务中,您可以访问会话,从而可以访问资源解析器以及已激活资源的路径。这就是获取资源并针对其属性运行自定义代码所需的全部。如果自定义验证返回false,则可以使用终止工作流程wfsession.terminateWorkflow(item.getWorkflow()),否则工作流程将继续,因为您将其设置为自动前进。

这是工作流程过程步骤的粗略概述:

@Component
@Service
@Properties({
    @Property(name = Constants.SERVICE_DESCRIPTION, value = "Workflow step description"),
    @Property(name = Constants.SERVICE_VENDOR, value = "Company Name"),
    @Property(name = "process.label", value = "Process Label will show in the workflow dropdown") })
public class MyCustomStep implements WorkflowProcess {

    public void execute(WorkItem item, WorkflowSession wfsession, MetaDataMap args) throws WorkflowException {
        ResourceResolver resolver = wfsession.adaptTo(ResourceResolver.class);

        if (resolver != null) {
            // Get the payload: the activated resource
            String path = item.getWorkflowData().getPayload().toString();

            Resource resource = resolver.getResource(path);

            if (resource != null) {
                ValueMap properties = resource.adaptTo(ValueMap.class);
                String propertyToCheck = properties.get("myPropertyName", String.class);

                if (!customValidationMethod(propertyToCheck)) {
                    // Terminate workflow
                    wfsession.terminateWorkflow(item.getWorkflow());
                }
            }
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

内容合并AEM

来自分类Dev

无法理解AEM工作流程中的“或拆分”

来自分类Dev

如何在Aem中安排批准/拒绝工作流程?

来自分类Dev

AEM工作流程:获取发起方的会话以检查权限

来自分类Dev

AEM获取子节点内容

来自分类Dev

AEM作者实例没有响应

来自分类Dev

带有ExternalLoginModule的AEM错误

来自分类Dev

mscrm动态中的自定义工作流程与可配置工作流程

来自分类Dev

自定义AEM表单字段未保留

来自分类Dev

AEM 6:如何自定义Reviews Essentials组件

来自分类Dev

CQ5 / AEM5.6工作流程:从内部或拆分访问工作流程实例属性

来自分类Dev

AEM身份验证是无状态的

来自分类Dev

AEM移动内容更新处理程序

来自分类Dev

在AEM的MSM网站中处理从左到右的内容?

来自分类Dev

AEM CQ等待工作流完成

来自分类Dev

AEM 6 工作流清除何时运行?

来自分类Dev

Visual Studio在线自定义工作项/工作流程

来自分类Dev

Visual Studio在线自定义工作项/工作流程

来自分类Dev

自定义工作流程活动未显示在插件注册中

来自分类Dev

自定义工作流程步骤行为不一致

来自分类Dev

Alfresco:如何更改自定义工作流程的启动任务名称?

来自分类Dev

将自定义工作流程添加到“创建项目”屏幕

来自分类Dev

使用自定义工作流程构建OmniAuth策略

来自分类Dev

CRM自定义工作流程,使用多线程

来自分类Dev

如何使用自定义工作流步骤查找所有工作流

来自分类Dev

AEM 6.0,在editor.html窗口中没有内容

来自分类Dev

没有样本内容的AEM环境设置,如何将AEM实例转换为没有样本内容?

来自分类Dev

没有样本内容的AEM环境设置,如何将AEM实例转换为没有样本内容?

来自分类Dev

具有布尔表达式的AEM XML必需属性

Related 相关文章

热门标签

归档