ワークフロー定義ノードリファレンス
ノード 要素とそのサブ要素は、ワークフロー定義を構成する基本的な構成要素です。 多くの場合、ノードはレビュープロセスの実際の段階を反映しています。 このガイドでは、さまざまなタイプのノードとその使用方法について説明します。
ステータスノード
ステータスノードはユーザー入力を必要としません。 通常、ステータスノードはワークフロー定義を開始または終了します。 ワークフローは、ステータスノードのactions
タグで指定されたもの(通知やカスタムスクリプト)を実行してから、指定されたトランジションに移行します。
初期のステータスノードには、多くの場合、1つのトランジションしか含まれていません。
ステータスノードで通知またはスクリプトが必要な場合は、actions
タグを使用できます。 以下は、Groovyスクリプトを含む action
要素です。 これは、多くの末端ステータスノードに見られるもので、ワークフローでアセットを承認済みとマークします。
条件
条件ノード は、条件が満たされているかどうかを判別し、満たされている場合は、ワークフローを適切なノードに移行します。 たとえば、提出されたドキュメントが契約書である場合、それは法務チームに送られる必要があります。それ以外の場合は、マーケティングチームに送られます。
以下は、 Category Specific Approval ワークフロー定義のdetermine-branch
条件を示しています。
この例では、アセットカテゴリをチェックして、 法務レビュー タスクに移行するか、または コンテンツレビュー タスクに移行するかを選択します。
returnValue
変数は条件から移行を指し、その値は有効な移行名1に一致しなければなりません。 このスクリプトでは、対象となるアセットを調べ、そのアセットカテゴリーを取得し、初期値としてreturnValue
を設定します。 その後、そのアセットが legal カテゴリでマークされているかどうかを確認します。 マークされていない場合は、 コンテンツレビュー(ワークフローのcontent-reviewタスク)を通過し、マークされている場合は、 法務レビュー(ワークフローのlegal-reviewタスク)を通過します。
フォークと結合
フォークはワークフロープロセスを分割し、結合はプロセスを統合されたブランチに戻します。 処理は常に結合(またはXOR 結合)を使用して戻す必要があり、ワークフロー定義内のフォークと結合の数は同じである必要があります。
アセットが両方のフォークから結合に移行するまで、ワークフローは結合の先に進みません。 ワークフロープロセスをフォークし、フォークが1つだけ完了したときに処理を続行できるようにするには、XOR 結合を使用します。
XOR 結合は、1つの重要な点で結合とは異なります。それは、処理を続行する前に両方のフォークを完了する必要があるという制約がないことです。 フォークのいずれを完了すれば、アセットの処理を続行できます。
タスクノード
タスクノードは、ワークフロー定義の中核となるものです。 これらは、誰かが何らかの方法でアセットと対話する部分です。 タスクには、通知、割り当て、タスクタイマーなどのサブ要素を含めることもできます。
以下は、Category Specific Approval ワークフローのcontent-review
タスクで、簡潔にするためにrole
割り当てタグの一部を切り取ったものです。
関連トピック
-
Liferay Portalの場合、有効な移行名はXMLファイルまたはワークフローのソースビューに入力された移行の
↩<name>
要素の値です。 Liferay DXPでは、ワークフローで定義のソースを表示するとき、代わりに移行の<id>
要素で指定された移行IDの値を使用する必要があります。