在AEM Forms工作区中集成第三方应用程序

AEM Forms工作区支持对表单和文档的任务分配和完成活动的管理。 这些表单和文档可以是以XDP、PDF、HTML或Flex格式呈现的XDPForms、Flex®表单或指南(已弃用)。

这些功能得到进一步增强。 AEM Forms现在支持与支持类似AEM Forms工作区功能的第三方应用程序进行协作。 此功能的一个常见部分是分配工作流和任务的后续批准。 AEM Forms为AEM Forms企业用户提供单一的统一体验,以便通过AEM Forms工作区处理所有此类受支持应用程序的任务分配或批准。

例如,让我们将Correponsement Management视为与AEM Forms工作区集成的示例候选。 通信管理有“信件”的概念,可以呈现并允许行动。

创建对应管理资产

开始,方法是创建在AEM Forms工作区中呈现的示例Correndence Management模板。 有关详细信息,请参阅创建字母模板

访问URL中的“对应管理”模板,验证“对应管理”模板是否可以成功呈现。 URL的模式与https://[server]:[port]/lc/content/cm/createcorrespondence.html?cmLetterId=encodedLetterId&cmUseTestData=1&cmPreview=0;类似

其中encodedLetterId是URL编码的字母Id。 在Workbench中为工作区任务定义渲染流程时,指定相同的字母Id。

创建任务以在AEM Workspace中呈现和提交字母

在执行这些步骤之前,请确保您是以下组的成员:

  • cm-agent-users
  • 工作区用户

有关详细信息,请参阅添加和配置用户

使用以下步骤创建任务,在AEM Workspace中渲染和提交字母:

  1. 启动工作台。 以管理员身份登录到localhost。

  2. 单击“文件”>“新建”>“应用程序”。 在“应用程序名称”字段中,输入CMDemoSample,然后单击“完成”。

  3. 选择CMDemoSample/1.0并右键单击NewProcess。 在名称字段中,输入CMRenderer,然后单击完成。

  4. 拖动开始点活动选取器并进行配置:

    1. 在演示文稿数据中,选择使用CRX资产。

      useacrxasset

    2. 浏览资产。 在“选择表单资产”对话框中,“字母”选项卡列表服务器上的所有字母。

      字母

    3. 选择相应的字母,然后单击​确定

  5. 单击“管理操作用户档案”。 将显示“管理操作用户档案”对话框。 确保正确选择渲染进程和提交进程。

  6. 要使用数据XML文件打开该字母,请浏览并选择“准备数据进程”中的相应数据文件。

  7. 单击确定。

  8. 定义开始点输出和任务附件的变量。 定义的变量将包含开始点输出和任务附件数据。

  9. (可选)要在工作流中添加其他用户,请拖动活动选取器,对其进行配置,然后将其分配给用户。 编写自定义包装器(示例如下所示)或下载并安装DSC(如下所示)以扩展“Letter”模板、“开始点输出”和“Sign Attachment”。

    自定义包装器示例如下:

    public LetterInstanceInfo getLetterInstanceInfo(Document dataXML) throws Exception {
    try {
    if(dataXML == null)
    throw new Exception("dataXML is missing");
    
    CoreService coreService = getRemoteCoreService();
    if (coreService == null)
    throw new Exception("Unable to retrive service. Please verify connection details.");
    Map<String, Object> result = coreService.getLetterInstanceInfo(IOUtils.toString(dataXML.getInputStream(), "UTF-8"));
    LetterInstanceInfo letterInstanceInfo = new LetterInstanceInfo();
    
    List<Document> attachmentDocs = new ArrayList<Document>();
    List<byte[]> attachments = (List<byte[]>)result.get(CoreService.ATTACHMENT_KEY);
    if (attachments != null){
    for (byte[] attachment : attachments)
    { attachmentDocs.add(new Document(attachment)); }
    
    }
    letterInstanceInfo.setLetterAttachments(attachmentDocs);
    
    byte[] updateLayout = (byte[])result.get(CoreService.LAYOUT_TEMPLATE_KEY);
    if (updateLayout != null)
    { letterInstanceInfo.setLetterTemplate(new Document(updateLayout)); }
    
    else
    { throw new Exception("template bytes missing while getting Letter instance Info."); }
    
    return letterInstanceInfo;
    } catch (Exception e)
    { throw new Exception(e); }
    
    }
    

    获取
    文件下载DSC:上面附加的文件中提供 DSCSample.zip 示例DSC。下载并解压缩DSCSample.zip文件。 在使用DSC服务之前,您需要配置它。 有关信息,请参阅配置DSC服务

    在“定义活动”对话框中,选择相应的活动,如getLetterInstanceInfo,然后单击​确定

  10. 部署应用程序。 如果出现提示,请登记并保存资产。

  11. 登录到位于https://[server]:[port]/lc/content/ws的AEM forms工作区。

  12. 打开您添加的任务,CMRenderer。 出现“Corresponce Management(通信管理)”信函。

    cminworkspace

  13. 填写所需数据并提交信件。 窗口关闭。 在此过程中,任务会被分配给步骤9中在工作流中指定的用户。

    注意

    在填写字母中的所有必需变量之前,不会启用“提交”按钮。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now