在摘要URL中获取任务变量

摘要页显示与任务相关的信息。 本文介绍了如何重复使用摘要页面中与任务相关的信息。

在此编排示例中,员工提交了休假申请表。 然后,申请表将转至员工经理进行审批。

  1. 为resourceType Employees/PtoApplication​创建示例HTML渲染器(html.esp)。

    呈现器假定要在节点上设置以下属性:

    • name
    • empid
    • 原因
    • 持续时间
    注意

    此渲染器是摘要页面模板。

    此渲染器的以下示例代码包含在中:

    apps/Employees/PtoApplication/html.esp

    <html>
      <body>
        <table>
        <tbody>
        <tr>
            <td>
                <h3>Employee Name: <%= currentNode.ename %></h3>
                <h3>Employee ID: <%= currentNode.eid %></h3>
                <h3>Leave duration: <%= currentNode.duration %> days</h3>
                <h3>Reason: <%= currentNode.reason %></h3>
            </td>
        </tr>
        </tbody>
        </table>
      </body>
    </html>
    
  2. 修改编排以从提交的表单数据中提取四个属性。 之后,在CRX中创建类型为​Employees/PtoApplication​的节点,并填充属性。

    1. 创建流程​创建PTO摘要​并在业务流程中的​分配任务​操作之前将其用作子流程。

    2. 将​employeeNameemployeeIDptoReasontotalDays​和​nodeName​定义为新流程中的输入变量。 这些变量将作为提交的表单数据进行传递。

      此外,还定义一个输出变量​ptoNodePath,该变量将在设置摘要Url时使用。

    3. 在​创建PTO摘要​流程中,使用​set value​组件在​nodeProperty(nodeProps)映射中设置输入详细信息。

      此映射中的键应与上一步中HTML渲染器中定义的键相同。

      此外,在映射中添加值为​Employees/PtoApplication​的​sling:resourceType​键。

    4. 使用​创建PTO摘要​流程中​ContentRepositoryConnector​服务的子进程​storeContent。 此子进程会创建一个CRX节点。

      它需要三个输入变量:

      • 文件夹路径:创建新CRX节点的路径。将路径设置为​/content
      • 节点名称:将输入变量nodeName分配给此字段。这是唯一的节点名称字符串。
      • 节点类型:将类型定义 为nt:unstructured。此进程的输出为nodePath。 nodePath是新创建节点的CRX路径。 ndoePath将是​创建PTO​摘要流程的最终输出。
    5. 将提交的表单数据(employeeNameemployeeIDptoReason​和​totalDays)作为输入传递给新流程​创建PTO摘要。 将输出作为​ptoSummaryNodePath

  3. 将摘要Url定义为XPath表达式,其中包含服务器详细信息以及​ptoSummaryNodePath

    XPath: concat('https://[*server*]:[*port*]/lc',/process_data/@ptoSummaryNodePath,'.html').

在AEM Forms工作区中,打开任务时,摘要Url将访问CRX节点,而HTML渲染器将显示该摘要。

无需修改流程,即可更改摘要布局。 HTML渲染器会相应地显示摘要。

在此页面上