将LDAP与AEM Forms工作流结合使用

将AEM Forms工作流任务分配给提交者的管理器。

在AEM工作流中使用自适应表单时,您需要将任务动态分配给表单提交者的管理器。 要完成此用例,我们必须使用Ldap配置AEM。

此处的详细说明了使用LDAP配置AEM所需的步骤。

为本文的目的,我附加了用于使用AdobeLDAP配置AEM的配置文件。 这些文件包含在包中,可使用包管理器导入该包。

在下面的屏幕截图中,我们正在获取属于某个特定成本中心的所有用户。 如果要获取LDAP中的所有用户,则不能使用额外的过滤器。

LDAP配置

在下面的屏幕截图中,我们将组分配给从LDAP获取到AEM的用户。 请注意分配给导入用户的表单用户组。 用户需要是此组的成员才能与AEM Forms进行交互。 我们还将manager属性存储在AEM的profile/manager节点下。

辛钱德勒

配置LDAP并将用户导入AEM后,我们可以创建一个工作流,将任务分配给提交者的管理器。 为了撰写本文,我们开发了一个简单的一步式审批工作流程。

工作流中的第一步将初始步骤的值设置为“否”。 自适应表单中的业务规则将禁用“提交者详细信息”面板,并根据初始步骤值显示“批准者”面板。

第二步将任务分配给提交者的管理器。 使用自定义代码获取提交者的经理。

分配任务

public String getParticipant(WorkItem workItem, WorkflowSession wfSession, MetaDataMap arg2) throws WorkflowException{
resourceResolver = wfSession.adaptTo(ResourceResolver.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable workflowInitiator = userManager.getAuthorizable(workItem.getWorkflow().getInitiator());
.
.
String managerPorperty = workflowInitiator.getProperty("profile/manager")[0].getString();
.
.

}

代码段负责获取管理器ID并将任务分配给管理器。

我们会联系启动工作流的人员。 然后,获取manager属性的值。

根据manager属性在LDAP中的存储方式,您可能需要执行一些字符串处理来获取管理器ID。

请阅读本文以实施您自己的 ParticipantChooser 。

要在系统上测试此示例(对于Adobe员工,您可以开箱即用此示例)

注意

已针对AdobeLDAP测试此用于提取管理器名称的自定义代码。 如果您针对其他LDAP执行此代码,则必须修改或编写您自己的getParticipant实施,以获取管理器的名称。

在此页面上