SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio 2010によるSharePoint 2010開発の基本

SharePoint 2010のワークフローの作成

Visual Studio 2010によるSharePoint 2010開発の基本(3)

  • このエントリーをはてなブックマークに追加

 本連載では、Visual Studio 2010によるSharePoint 2010開発を扱います。第3回となる今回は、SharePoint 2010のワークフローの作成方法を解説します。

  • このエントリーをはてなブックマークに追加

はじめに

 本連載では、Visual Studio 2010によるSharePoint 2010開発を扱います。第3回となる今回は、SharePoint 2010のワークフローの作成方法を解説します。

対象読者

  • Visual Studio 2010によるSharePoint 2010開発に関心がある開発者
  • SharePoint 2010のワークフローの開発に関心がある開発者

開発環境の整備

 本連載の第1回を参考にして、SharePoint 2010の開発環境を整えてください。

SharePoint 2010のワークフロー機能

 SharePoint 2010のワークフロー機能は、.NET Framework 3.5のWindows Workflow Foundation(WF)を基盤としています。

 WF自体は、.NET Framework 3.0から導入されたマイクロソフトが提供しているワークフローのためのフレームワークです。執筆時点では、.NET Framework 4に含まれるWF 4が最新ですが、SharePoint 2010ではWF 3.5を使用します。WF 4は、それまでのWF 3.5から大幅な変更が加えられており、基本的には互換性はありませんのでご注意ください。将来的には、SharePointでもWF 4のワークフローが使用可能になることが予想されます。

 WFでは、業務における種々の処理の流れ(フロー)を、アクティビティと呼ばれる特定の処理の組み合わせで実現します。Visual Studioのツールボックスから、提供されているアクティビティをデザイン画面に貼りつけてプロパティを設定します。このようにデザイン画面上でアクティビティを組み合わせることにより、コードをそれ程記述することなく実行可能なワークフローを作成することができます。

 WF 3.0/3.5では、シーケンシャルワークフローステートマシンのワークフローの2種類のワークフローを作成できます。SharePoint 2010のワークフロー機能でも、これら2種類のワークフローを作成できます。Visual Studio 2010には、SharePoint 2010におけるそれぞれのワークフロー用のプロジェクトテンプレートが用意されています。

 表1に、シーケンシャルワークフローとステートマシンのワークフローの違いを簡単にまとめます。

表1 SharePoint 2010用プロジェクトテンプレート
ワークフローの種類 説明
シーケンシャルワークフロー 一連のアクティビティを1つずつ順番(シーケンシャル)に実行する。条件分岐や繰り返し、並列処理にも対応。
ステートマシンのワークフロー ステートマシンとしてワークフローをモデル化する。イベントにより別のステート(状態)に移行し処理が実行される。最終ステートに来た時点でワークフローが完了する。

 WF 3.0/3.5自体の基本的な機能や提供されているアクティビティを解説しようと思うとそれだけでかなりのボリュームになってしまうため、SharePoint 2010開発を解説する本稿ではこれらの点は扱いません。CodeZineにおけるWFについての過去の記事を参照してください。

 SharePoint 2010におけるワークフロー機能では、WF 3.0/3.5が標準で提供するアクティビティに加えて、SharePointワークフロー用のさまざまなアクティビティが提供されています。主なアクティビティについて、表2にまとめます。

表2 主なSharePoint 2010ワークフロー用アクティビティ
アクティビティ 説明
CompleteTask タスクを完了する
CreateTask タスクを新規作成する
DeleteTask タスクを削除する
LogToHistoryListActivity ワークフローの履歴にログを追加する
OnTaskChanged タスクの変更時に呼ばれる
OnTaskCreated タスクの作成時に呼ばれる
OnTaskDeleted タスクの削除時に呼ばれる
OnWorkflowActivated ワークフローの初期化時に呼ばれる
OnWorkflowItemChanged アイテムの変更時に呼ばれる
OnWorkflowItemDeleted アイテムの削除時に呼ばれる
SendEmail メール送信
UpdateTask タスクを更新する
CreateItemActivity アイテムを新規作成する
DeleteItemActivity アイテムを削除する
UpdateItemActivity アイテムを更新する

 SharePoint 2010では、特定のリストやライブラリに関連付けられているワークフローのことをリストワークフローと呼び、どのリストやドキュメントにも関連付けられておらずサイト上から実行可能なワークフローのことをサイトワークフローと呼びます。シーケンシャルワークフローとステートマシンのワークフローのどちらにおいても、プロジェクト作成時のウィザード中で、リストワークフローかサイトワークフローのどちらを作成するかを選択するように求められます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
SharePoint 2010のシーケンシャルワークフローのサンプル作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Visual Studio 2010によるSharePoint 2010開発の基本連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 広瀬 嘉久(株式会社ジェイテックジャパン)(ヒロセ ヨシヒサ )

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5960 2011/06/10 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング