プロセス操作リンク
操作リンク は、アクティビティノードを 1 つのシーケンスに接続します。
最も単純な形式のリンクは、あるイベントの次に何を行うかをワークフロー内で示します。1 つのアクティビティから複数の結果が導かれる可能性がある場合、リンクを使用して、アクティビティがどのように完了したかに応じて何を行うべきかを設定します。
「開始」ノードを除き、ワークフローに追加するにはすべてのノードに入力リンクが必要です。
ノードを追加した後で、別のノードにリンクする必要があります。
1. リンクツール を選択します。
* 
ノードが選択されている間はリンクを追加できません。リンクを追加できない場合、ノードが 1 つも選択されていないことを確認してください。
選択されているノードには黒色の枠が表示されます。
2. 1 つ目のノードをクリックし、2 つ目のノードに向かってカーソルをドラッグします。
3. カーソルが 2 つ目のノードに達してからマウスボタンを放します。
次の例を参照してください。
基本的なリンク
デフォルトのプロセス操作状態を使用している場合のプロセス操作リンク。
ルーティングイベントリンク
カスタムルーティングイベントを含むアクティビティのプロセス操作リンク。
ループリンク
リンクプロパティで「ループリンク」オプションを設定します。
基本的なリンク
最も基本的なリンクは、あるイベントの完了後に次のイベントを開始できることだけを表すリンクです。別のワークフローの操作にもリンクを作成できます。たとえば、特定のアクティビティがサスペンドされた場合にイベントを中止するよう指定できます。
以下の例について考えてみます。
1. 次のノードを作成します。
「Under Review」 - メソッドロボットが自動的にオブジェクトの状態を「レビュー中」に設定します。ユーザーの操作は必要ありません。
「Review Object」 - これは 1 人のユーザーに割り当てられる、オブジェクトをレビューするタスクです。
2. この 2 つのノード間に基本的なリンクを作成します。
3. リンクをダブルクリックして「リンクのプロパティ」ウィンドウを開きます。
これは、メソッドロボットがそのタスク (オブジェクトを「Under Review」状態にする) を完了するとただちに、新しい「Review Object」タスクが自動的に作成され、ユーザーに割り当てられることを意味します。
4. ルーティング接続やワークフロー管理操作が含まれるような、さらに複雑なワークフローでは、「リンクのプロパティ」ウィンドウのその他のオプションを使用できます。
たとえば、適切なアクセス許可を持つユーザーは、ワークフロープロセスマネージャの操作を使用してノードをサスペンドできます。この後、リンクイベントを使用して、アクティビティがサスペンドされた場合にプロジェクトマネージャに電子メールが送信されるように設定できます。
ルーティングイベントリンク
通常、アクティビティにはルーティングイベントがあります。詳細については、「ルーティング」タブを参照してください。
たとえば、「Review Object」のユーザーに、タスク完了時のオプションとして「Needs Work」と「Continue」の 2 つを提示するとします。
アクティビティからの出力リンクを設定する際に、「完了」オプションは使用できなくなりました。代わりに、ルーティングイベントが表示されます。
カスタムルーティングイベントそれぞれに出力リンクを設定する必要があります。たとえば、ユーザーが「Needs Work」を選択した場合にはオブジェクトが「In Progress」状態に遷移するよう指定できます。ユーザーが「Continue」を選択した場合、オブジェクトは「Review Complete」状態に遷移します。
ループリンク
繰り返し実行する必要があるワークフローのセクションにループリンクを使用できます。ループリンクによってそのパス内のすべてのノードがリセットされ、ノードを複数回実行可能になります。
たとえば、ワークフローに次のようなイベントが含まれているとします。
1. オブジェクトが「Under Review」状態に遷移します。
2. オブジェクトが「Under Review」状態になると、「Review Object」タスクが作成され、指定したユーザーに割り当てられます。
3. ユーザーがアクティビティを完了して「Needs Work」に投票した場合、オブジェクトは「In Progress」状態に遷移します。
a. オブジェクトが「In Progress」状態になると、「Revise Object」タスクが作成され、そのオブジェクトのオーナーに割り当てられます。
b. オブジェクトのオーナーが「Revise Object」タスクを完了すると、オブジェクトは「Under Review」状態に戻ります。
4. レビュー担当者に新しい「Review Object」タスクが割り当てられ、レビュー担当者はこれを完了します。
レビュー担当者が何回「Needs Work」オプションを選択するかは不明であり、手動でこのプロセスを設定するのは非常に複雑です。
ワークフローのセクションを繰り返し実行するよう指定した方が簡単です。これには、リンクのプロパティで「ループリンク」をオンにします。
この結果、「Revise Object」タスクが完了した場合には必ず、オブジェクトが「Under Review」状態に戻り、レビュー担当者に新しいタスクが割り当てられます。ループリンクは赤色で表示されます。
ループリンクに関する追加の注記:
ループリンクには閉じたループが必要です。以下のワークフローにおけるループリンクは意味がありません。
ワークフローに作用するためには、ループリンクは閉じたループの一部でなければなりません。

ループリンクによって、ループのすぐ外側にあるすべてのコネクタがリセットされます。
たとえば、以下のようなワークフローがあるとします。
3 つのレビューアクティビティがすべて完了して「Approve」に投票すると、「Approval」タスクが開始します。
「Review 1」、「Review 2」、「Review 3」が完了して「Reject」に投票すると、ループリンクが開始します。ループリンクは以下のノードから成ります。
レビュー中
Review_1
Review_2
Review_3
OR コネクタ
ただし、ループによって、直接隣接するコネクタのリセットも行われます。この例では、これには AND コネクタが含まれます。
したがって、以下のシナリオについて考えてみます。
1. 「レビュー中」ロボットがトリガし、「Review_1」、「Review_2」、「Review_3」タスクが開始します。
2. 「Review_1」が完了して「Approve」に投票されます。
3. 「Review_2」が完了して「Approve」に投票されます。
この時点では、AND コネクタはまだ「Review_3」で「Approve」に投票されて「Approval」タスクがトリガされるのを待っています。
4. 「Review_3」が完了して「Reject」に投票され、ループリンクが開始します。
5. 「レビュー中」ロボットが再びトリガし、「Review_1」、「Review_2」、「Review_3」が再び開始します。
6. 「Review_3」が完了して「Approve」に投票されます。
これで 3 つのレビューすべてが完了して「Approve」に投票されましたが、「Approval」タスクはトリガされません。
これは、ループリンクが開始されたときに、AND コネクタもリセットされたためです。これによって、「Review_1」と「Review_2」からの「Approve」への投票は実質的に無効になります。この時点では、ワークフローは「Review_1」と「Review_2」が再び完了するのを待っています。

ループリンクに直接隣接するコネクタだけは、その動作がループリンクによって影響を受ける場合でも影響を受けます。
たとえば、以下のようなワークフローがあるとします。
「Deliver」タスクが「Yes」または「No」に投票できるようにカスタマイズされています。「Yes」を選択した場合、「Deliver A」、「Deliver B」、「Deliver C」のオプションのいずれかを選択できます。
「Deliver」タスクを完了して「Yes」に投票した場合:
いずれかの送信オプションを選択したかどうかがチェックされます。選択した場合、条件付きコネクタに進み、選択したオプションに応じて、「Deliver A」、「Deliver B」、または「Deliver C」タスクがトリガされます。
「Confirm」タスクが開始します。「Confirm」タスクが完了すると、ループリンクによって「Deliver」タスクおよび隣接するすべてのコネクタがリセットされます。
ただし、隣接しないコネクタは、大きな影響を受ける場合でも影響を受けません。以下のシナリオについて考えてみます。
1. 「Deliver」タスクを完了して「Yes」に投票し、「Deliver B」オプションを選択:
「Confirm」タスクが開始します。
「Deliver B」オプションによって B タスクロボットが開始されます。
2. 「Confirm」タスクが完了し、ループリンクがトリガされます。
3. 「Deliver」タスクが再初期化されます。
4. 「Deliver」タスクを完了して「Yes」に投票し、「Deliver A」、「Deliver B」、「Deliver C」を選択します。
「Deliver A」および「Deliver C」タスクロボットはトリガされません。「Deliver B」ロボットだけがトリガされます。これは、ループリンクの一部としてこの条件付きコネクタはリセットされず、隣接する OR コネクタだけがリセットされたためです。
これは役に立ちましたか?