(Part 3) Replicator を使いこなす (実行時にワークフローの流れを変える)


※ 以下、Tech ED T-405 セッションに関するフォローアップ記事 Part 3 です。

  1. SharePoint Designer のカスタムアクティビティの開発で workflowProperties と同等の変数を使うには 
  2. SharePoint ワークフローで Modification Form (修正フォーム) を開発する際のいくつかのポイント
  3. Replicator を使いこなす (実行時にワークフローの流れを変える)
  4. SharePoint ワークフローにおけるカスタムなワークフローステータスの設定
  5. SharePoint ワークフロー : 上級者のための IListItemService の活用
  6. SharePoint の Workflow 用 Web Service を使ってシステム連携をおこなう

こんにちは。

この内容(と、次の Part 4)は、ECM Starter Kit のサンプルで充分ですので、特にコードはありません。
ですので、以下、要旨を簡潔に記載します。

セッション後の御質問 (ask the speaker) でも御質問がありましたが、特にSharePoint のようなドキュメント系のワークフローでは、"実行時に" フローそのものを動的に変えたいというケースが多いことでしょう。

単純に処理をスキップしたり、計算ロジックや、条件に応じた実行(フロー)の候補を列挙して決定したりといったレベルであれば、IfElse アクティビティや、ConditionedActivityGroup、Policy などをおぼえておくと良いでしょう (ここでは詳細は割愛しますので、 こちら を参照にしてください)。
しかし、ドキュメント系の承認ワークフローのように、承認者の数が動的に変更されたり、設計・製造プロセスのように品質に応じて多段階 (段階が不定) の承認処理が必要になるといった場合などは、Replicator をうまく利用すると良いでしょう。

コードのサンプルは、上述の通り、ECM Starter Kit のサンプルにいくつか付属しています (こちら を参考)。ポイントを記載すると、実行時に、InitialChildData の List を渡すことで、"実行数" を決めることができます。そして、Initialized イベントを実装することで、InitialChildData の中のアイテムデータに応じた個別の初期化処理を実装して開始することができます。また、Pararell と Sequential の属性を指定することができ、それぞれを並列で実行するか、直列で実行するかを指定できます。あと、UntilCondition を使って、例えば、「どれか1つでも承認されたら終了」とか、「全部が完了しないと終了しない」など、終了条件を設定することも可能です。この辺りのプロパティやハンドラをおぼえておくと、より動的なドキュメント系ワークフローの実装が可能となります。

 

 

Comments (3)

  1. こんにちは。 Tech ED 「T4-405 : Microsoft SharePoint Products and Technologies におけるワークフロー : 開発者向け詳述」 にご参加いただいた皆様、申し訳ございませんでした。もりだくさんすぎて、結局、予定していたデモの多くを残す結果となってしまいました。

  2. ※ 以下、Tech ED T-405 セッションに関するフォローアップ記事 Part 1です。 尚、ここに記載する方法は、マニュアルに記載された正式な手段ではありませんのでご注意ください SharePoint

  3. ※ 以下、Tech ED T-405 セッションに関するフォローアップ記事 Part 2 です。 SharePoint Designer のカスタムアクティビティの開発で workflowProperties

Skip to main content