サマリー URLでのタスク変数の取得 getting-task-variables-in-summary-url
概要ページには、タスクに関連する情報が表示されます。この記事では、サマリーページでタスクに関連する情報を再利用する方法について説明します。
このサンプルオーケストレーションでは、従業員は休暇申請書を提出します。申請書は許可を受けるために従業員のマネージャーに渡されます。
-
resourseType Employees/PtoApplication のサンプル HTML レンダラー(html.esp)を作成します。
レンダラーは、次のプロパティがノードに設定されているものとみなします。
- ename
- empid
- reason
- duration
note note NOTE このレンダラーはサマリーページのテンプレートです。 このレンダラーの以下のサンプルコードは、
apps/Employees/PtoApplication/html.esp
code language-html <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>
-
オーケストレーションを変更して送信されたフォームデータから 4 つのプロパティを抽出します。その後、プロパティを入力してタイプ Employees/PtoApplication の CRX にノードを作成します。
-
プロセス create PTO summary を作成し、これをオーケストレーションで Assign Task 操作の前のサブプロセスとして使用します。
-
employeeName、employeeID、ptoReason、totalDays および nodeName を新しいプロセスで入力変数として定義します。これらの変数は送信されたフォームデータとして渡されます。
サマリー URL を設定する際に使用される出力変数 ptoNodePath も指定します。
-
create PTO summary プロセスで、set value コンポーネントを使用して nodeProperty(nodeProps)マップに入力詳細を設定します。
このマップのキーは、前の手順の HTML レンダラーで定義したキーと同じである必要があります。
また、マップに sling:resourceType キーを値 Employees/PtoApplication と共に追加します。
-
create PTO summary プロセスの ContentRepositoryConnector サービスからサブプロセス storeContent を使用します。このサブプロセスで CRX ノードを作成します。
これには 3 つの入力変数が必要です。
- フォルダーパス:新しい CRX ノードが作成されるパスです。パスを /content に設定します。
- ノード名:入力変数 nodeName をこのフィールドに割り当てます。これは固有のノード名文字列です。
- ノードタイプ:タイプを nt:unstructured として定義します。このプロセスの出力は nodePath です。nodePath は、新しく作成されたノードの CRX パスです。nodePath は、create PTO サマリープロセスの最後の出力になります。
-
送信されたフォームデータ(employeeName、employeeID、ptoReason および totalDays)を新しいプロセス create PTO summary への入力として渡します。ptoSummaryNodePath として出力を取得します。
-
-
サマリー URL を ptoSummaryNodePath と共にサーバー詳細が含まれた XPath 式として定義します。
XPath:
concat('https://[*server*]:[*port*]/lc',/process_data/@ptoSummaryNodePath,'.html')
。
AEM Forms Workspace で、タスクを開くと、サマリー URL は CRX ノードにアクセスし、HTML レンダラーはサマリーを表示します。
サマリーのレイアウトはプロセスを変更することなく変更できます。HTML レンダラーはサマリーを適宜表示します。