ワークフローではファイルを別のユーザーが更新したら、またはあるプロパティ値が変更されたらメールを送信するなどの機能が必要になることがあります。これをSharePoint Designer 2007で行い、特定のプロパティ変更をトリガにワークフローを開始するにはちょっと工夫が必要です。
理由は、変更前の情報と変更後の情報をSharePoint Designer では認識してくれないからです。ということは、変更前の情報をどこかに持たせて、変更後の情報と比較してやれば、トリガにできるということになりますね?
こうしたフローを実装するには次のように行います。
[1st Step]
- 特定のフィールドの以前の値を格納する列(たとえば、beforeとします)を作成する
- SharePoint Designer でワークフローを作成する(詳細は2nd Stepで)
[2nd Step]
- ワークフローの起動オプションを「アイテム変更時に自動的にワークフローを開始するよう」に設定する
- 1つめの条件とアクションを次のように構成する
"before列が空の場合に、トリガにしたい既存の列の値を格納する"
- 2つめの条件とアクションを次のように構成する
"既存の列の値とbefore列の値が一致する場合はワークフローを中止する"
- 3つめは使用したいアクションのみを構成する
上記のステップは、次のURLにあるストリーミング コンテンツ(英語)で手順が確認できます。
[参考] http://office.microsoft.com/en-us/sharepointdesigner/HA102564191033.aspx (英語)
※上記URLは、Officeオンラインです。Office オンラインは基本的に英語の文書がありその対となる日本語文書がそろっているのですが、実際には日本語よりも英語のほうが情報が充実していまるようです。時には、英語で文献を探すことをお勧めします。またブログでも、日本語にはなっていないもので、役立ちそうなものは取り上げるようにしたいと思います。