SharePoint ワークフロー ソリューションの作成

Visual Studio には、SharePoint Web サイト内のドキュメントおよびリスト項目のライフ サイクルを管理するカスタム ワークフローを作成するためのツールが用意されています。提供された項目は、アクティビティのコントロール デザイナー、セット、必要なアセンブリ参照が含まれます。また、Visual Studio には、ワークフローの作成および構成を支援する SharePoint カスタマイズ ウィザードが備わっています。

Visual Studio で SharePoint プロジェクトを作成するための必要条件の一覧については、「SharePoint ソリューションの開発要件」を参照してください。SharePointに関する詳細については、Microsoft SharePoint製品とテクノロジ" "を参照してください。

SharePoint でのワークフロー

SharePoint のライブラリまたはリストにワークフローを追加すると、ライブラリまたはリスト上のすべての項目にビジネス プロセスを適用することになります。ワークフローは、システムまたはユーザーが各項目に対して実行する必要のあるアクションを説明するものです。たとえば、編集して校閲を受けるために項目を送信するアクションなどがあります。これらのアクションは、アクティビティと呼ばれ、ワークフローのビルド ブロックとなります。

SharePoint のワークフローは Visual Studio で作成し、SharePoint Web サイトに配置することができます。SharePoint に配置されたワークフローは、ライブラリまたはリストに関連付けることができます。このワークフローは、プロセスで自動的に開始できるほか、ユーザーが手動で開始することもできます。ワークフローの操作の詳細については、「ワークフローを使用してプロセスを管理する」を参照してください。

カスタムの SharePoint ワークフローの作成

Visual Studio では、SharePoint ワークフロー プロジェクトとして、シーケンシャル ワークフローステート マシンのワークフローの 2 種類のプロジェクトが利用できます。

シーケンシャル ワークフローは、一連の手順を表します。最後のアクティビティが完了するまで、その一連の手順が順次実行されます。シーケンシャル ワークフローの "シーケンシャル" とは、あくまで処理が 1 つ 1 つ実行されるという意味です。外部のイベントを受信したり、並列的な論理の流れを表現できるため、実際の実行順序は変化する場合があります。次の図に、シーケンシャル ワークフローの例を示します。

シーケンシャル ワークフロー

シーケンシャル ワークフロー

ステート マシンのワークフローは、一連のステート、遷移、アクションで構成されます。ステート マシン ワークフローの手順は、非同期的に実行されます。つまり、必ずしも 1 つ 1 つ実行されるとは限らず、アクションやステートによってトリガーされます。ある状態を開始ステートとし、特定のイベントに基づいて別のステートへの遷移が生じます。ステート マシンには、ワークフローの終了を決定する最終状態を与えることができます。次の図に、ステート マシンのワークフローの例を示します。

ステート マシン ワークフロー

ステート マシン ワークフロー

ワークフローの種類の詳細については、「Workflow Types (ワークフローの種類)」を参照してください。

Ee231606.collapse_all(ja-jp,VS.110).gifウィザードの使用

Visual Studio で SharePoint ワークフロー プロジェクトを作成する際は、まず、その設定を SharePoint カスタマイズ ウィザードで指定します。ウィザードは、これらの設定を基に、ソリューション エクスプローラーにプロジェクトを作成します。プロジェクトには、コード ファイルのほか、ワークフローの配置に使用するいくつかのファイル、および、カスタムの SharePoint ワークフローを作成するために必要となるアセンブリへの参照が含まれています。

ワークフローの作成後は、プロパティ ウィンドウでプロパティを変更できます。ほとんどのワークフロー プロパティはプロパティ ウィンドウで直接変更できますが、一部のプロパティに関しては、省略記号ボタン (ASP.NET モバイル デザイナー楕円) をクリックして値を変更する必要があります。このボタンをクリックすると、SharePoint カスタマイズ ウィザードが起動します。プロパティの値に変更を加えた後、を終了するに [完了] のボタンをクリックします。

[!メモ]

[ワークフローの種類] プロパティは読み取り専用です。変更することはできません。ワークフローの種類を変更する場合は、別のワークフローを作成する必要があります。

SharePoint ワークフローのデザイン

ビジネス プロセス内のすべての手順を定義したら、Visual Studio のワークフロー デザイナーを使用して、SharePoint ワークフローをデザインします。デザイナーを開くには、**[ソリューション エクスプローラー]**のWorkflow1.csまたはWorkflow1.vbをダブルクリックするか、またはそのファイルのいずれかのショートカット メニューを開き、を **[開く]**を選択します。

Ee231606.collapse_all(ja-jp,VS.110).gifアクティビティ

ワークフローをデザインするには、ツールボックスからデザイナーのワークフロー スケジュールにアクティビティを追加します。ワークフロー スケジュールには、実行すべき順序でアクティビティのシーケンスが含まれています。

アクティビティには 2 種類あります。

  • 単純アクティビティは、"1 日遅延" や "Web サービスの開始" など、作業の 1 単位を実行します。

  • 複合アクティビティには、2 つの分岐を含む条件付きのアクティビティなど、その他のアクティビティが含まれます。

いずれの種類のアクティビティもツールボックスで利用できます。

アクティビティには、プロパティ、メソッド、イベントを設定できます。アクティビティのプロパティの設定には、[プロパティ] ウィンドウを使用します。

カスタムのアクティビティを作成することもできます。詳細については、「チュートリアル: サイトのカスタム ワークフロー アクティビティの作成」を参照してください。

ツールボックスには、アクティビティが次のタブにまとめられてます。

  • SharePoint ワークフロー

  • Windows Workflow v3.0

  • Windows Workflow v3.5

すべてのコア ワークフロー アクティビティが SharePoint でサポートされているわけではありません。詳細については、「Windows SharePoint Services のワークフロー アクティビティの概要」を参照してください。

Ee231606.collapse_all(ja-jp,VS.110).gifSharePoint ワークフロー アクティビティ

[SharePoint ワークフロー] タブには、Microsoft SharePoint Foundation 2010 用に特化したアクティビティが含まれています。これらのアクティビティによって、ドキュメントのライフ サイクルを管理するワークフローの開発を簡素化し、効率化できます。[SharePoint ワークフロー] タブに表示されるアクティビティの詳細については、「Windows SharePoint Services のワークフロー アクティビティの概要」を参照してください。

Ee231606.collapse_all(ja-jp,VS.110).gifWindows Workflow アクティビティ

[Windows Workflow] タブには、Windows Workflow Foundation で提供されるアクティビティが含まれます。これらのアクティビティを使用して、任意の種類の Windows Workflow アプリケーションのワークフロー スケジュールを作成できます。

[Windows Workflows] タブに表示されるアクティビティの詳細については、「Windows Workflow Foundation アクティビティ」を参照してください。Windows Workflow Foundation の詳細については、「Windows Workflow Foundation の概要」を参照してください。

Ee231606.collapse_all(ja-jp,VS.110).gifデザイナーでのアクティビティの操作

ワークフロー スケジュールには、Windows Workflow アクティビティと SharePoint ワークフロー アクティビティを組み合わせて含めることができます。

デザイナーには、ビジュアル キューが表示されるため、アクティビティを正確に位置付けて構成することができます。アクティビティをワークフロー スケジュールにドラッグ、またはコピーすると、デザイナーはそのアクティビティのワークフローにおける有効な位置を示すアイコン緑色の正符号 (+) が表示されます。有効ではない場所にアクティビティを配置することはできません。たとえば、待機 (Listen) のアクティビティ分岐点の最初のアクティビティとして 送信 (Send) アクティビティを配置することはできません。詳細については、「SharePoint Designer Developer Center (SharePoint Designer デベロッパー センター)」を参照してください。

ワークフローにおける情報収集

ワークフローにあらかじめ定義されているタイミングで、ユーザーから情報を収集することができます。情報の収集には、フォームや項目のプロパティを使用します。

Ee231606.collapse_all(ja-jp,VS.110).gifフォーム

フォームは、質問を提起し、回答を導く方法をユーザーに提供するダイアログ ボックスのようなものです。

ワークフローに作成できるフォームには、次の 4 種類があります。

  • 関連付け

  • 開始

  • 変更

  • タスク

このうち、Visual Studio に含まれているのは、関連付けフォーム用と開始フォーム用の項目テンプレートです。関連付けフォームの例としては、ワークフローをインストールする管理者が、そのワークフローに関連したパラメーター (経費ワークフローの支出制限など) を入力するためのフォームが挙げられます。開始フォーム の例は、経費ワークフローのuserが、ワークフローに支払った金額を入力できる1種類です。フォームの種類に関する詳細については、SharePoint プロジェクトとプロジェクト項目テンプレートを参照してください。

Ee231606.collapse_all(ja-jp,VS.110).gif項目のプロパティ

ユーザーから情報を収集するときに、SharePoint のライブラリ項目またはリスト項目のプロパティを使用することもできます。メイン コード ファイル (Workflow1.cs または Workflow1.vb) には、workflowProperties という名前の Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.WorkflowProperties クラスのインスタンスが宣言されています。workflowProperties オブジェクトを使用して、コード内のライブラリまたはリストのプロパティにアクセスします。例については、「チュートリアル : SharePoint ワークフロー ソリューションの作成とデバッグ」を参照してください。

SharePoint ワークフロー テンプレートのデバッグ

SharePoint ワークフロー プロジェクトは、Web ベースの他の Visual Studio プロジェクトと同様にデバッグできます。Visual Studio デバッガーを起動すると、Visual Studio は SharePoint カスタマイズ ウィザードに指定された設定を使用して、適切な SharePoint Web サイトを開き、適切なライブラリまたはリストにワークフロー テンプレートを自動的に関連付けます。Visual Studio は、Visual Studio デバッガーを w3wp.exe という名前の Microsoft SharePoint Foundation 2010 プロセスにアタッチする処理も実行します。

ワークフローをテストするには、ワークフローを手動で開始する必要があります。詳細については、「SharePoint ソリューションのデバッグ」の「デバッグのワークフロー」を参照してください。Visual Studio Web アプリケーションのデバッグの詳細については、「Web アプリケーションとスクリプトのデバッグ」を参照してください。

SharePoint ワークフロー テンプレートの配置

Visual Studio SharePoint ワークフロー プロジェクトは、他の Visual Studio SharePoint プロジェクトと同様に配置できます。詳細については、「SharePoint ソリューションのパッケージ化と配置」を参照してください。

グローバルに再利用可能なワークフローのインポート

サイト固有の再利用可能なワークフローの作成に加えて、SharePoint Designer では、グローバルに再利用可能なワークフローを作成できます。これは、すべての SharePoint サイトで使用できるワークフローです。Visual Studio の再利用可能なワークフローのインポート プロジェクトでは、グローバルに再利用可能なワークフローをインポートします。ただし、SharePoint Designer を使用してグローバルに再利用可能なワークフローを再利用可能なワークフローに変換すること、または変換されていない宣言型ワークフローとしてワークフローをインポートすることはできます。詳細については、「既存の SharePoint サイトからのアイテムのインポート」を参照してください。

関連トピック

タイトル

説明

チュートリアル : SharePoint ワークフロー ソリューションの作成とデバッグ

単純な Visual Studio ワークフローを作成し、デバッグするための手順について説明します。

チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成

関連付けフォームと開始フォームを備えた本格的な Visual Studio ワークフローの作成手順について説明します。

チュートリアル: ワークフローへのアプリケーション ページの追加

チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成」のトピックで作成したワークフローの応用です。.aspx のアプリケーション ページを追加して、ワークフローに入力されたデータを表示できるようにします。

チュートリアル: サイトのカスタム ワークフロー アクティビティの作成

サイト レベルのワークフローの作成とカスタム ワークフロー アクティビティの作成という、2 つの重要な作業の方法について説明します。

チュートリアル: SharePoint Designer の再利用可能なワークフローの Visual Studio へのインポート

SharePoint Designer 2010 で作成した再利用可能な宣言型のワークフローを Visual Studio SharePoint プロジェクトにインポートする方法について説明します。

参照

その他の技術情報

SharePoint ソリューションの開発

SharePoint ソリューションのビルドとデバッグ

SharePoint のアプリケーション ページの作成