SharePoint 2007 ワークフロー ソリューション
Visual Studio には、SharePoint Web サイト内のドキュメントおよびリスト項目のライフ サイクルを管理するカスタム ワークフローを作成するためのツールが用意されています。 このようなツールとしては、デザイナー、ドラッグ アンド ドロップに対応したアクティビティ コントロールの完全なセット、必要なアセンブリ参照などが挙げられます。 Visual Studio には、SharePoint カスタマイズ ウィザードも含まれています。このウィザードを使用すると、Visual Studio でワークフローをデバッグするために必要な構成手順を大幅に短縮できます。
注意
SharePoint 2007 ワークフロー プロジェクト テンプレートを使用するには、「SharePoint ソリューションの開発要件」に記載されている SharePoint 2007 プロジェクト用のすべての前提条件を満たす必要があります。 さらに、これらのテンプレートは、.NET Framework の .NET Framework 3.5 以前のバージョンでのみ動作します。
Microsoft Office SharePoint Server 2007 には、いくつかの組み込みのワークフロー テンプレートが用意されています。 たとえば、基本的な承認プロセスを通過する新しいドキュメントを作成する場合、組み込みの承認ワークフロー テンプレートを使用できます。 カスタムのワークフロー テンプレートを作成して、ドキュメント プロセスを詳細に管理することもできます。
SharePoint の詳細については、「Windows SharePoint Services の概要」および「Microsoft Office SharePoint Server 2007 Product Overview (Microsoft Office SharePoint Server 2007 製品の概要)」を参照してください。
SharePoint でのワークフロー
SharePoint のライブラリまたはリストにワークフローを追加すると、ライブラリまたはリスト上のすべての項目にビジネス プロセスを適用することになります。 ワークフローは、システムまたはユーザーが各項目に対して実行する必要のあるアクションを説明するものです。たとえば、編集して校閲を受けるために項目を送信するアクションなどがあります。 これらのアクションは、アクティビティと呼ばれ、ワークフローのビルド ブロックとなります。
追加した SharePoint ワークフローは、SharePoint Web サイトに配置し、ライブラリまたはリストに関連付けます。 ユーザーは、ワークフロー インスタンスを起動して、ライブラリまたはリストにある任意の項目を処理できます。 詳細については、「ワークフローを使用してプロセスを管理する」を参照してください。
カスタムの SharePoint ワークフローの作成
SharePoint ワークフローは、SharePoint 2007 シーケンシャル ワークフロー プロジェクト テンプレートまたは SharePoint 2007 ステート マシン ワークフロー プロジェクト テンプレートを使用して作成します。
シーケンシャル ワークフローは、最後のアクティビティが完了するまで順序どおりに実行しなければならない一連の手順で構成されるワークフローを表します。 次の図に、シーケンシャル ワークフローの例を示します。
シーケンシャル ワークフロー
ステート マシンのワークフローは、一連のステート、遷移、アクションで構成されます。 1 つのステートは開始ステートとして示され、イベントに基づいて別のステートに遷移されます。 次の図に、ステート マシンのワークフローの例を示します。
ステート マシン ワークフロー
ワークフローの種類の詳細については、「ワークフローの種類」を参照してください。
ウィザードの使用
SharePoint ワークフロー プロジェクトを作成するときは、SharePoint カスタマイズ ウィザードで設定を指定することから始めます。 ウィザードによって、これらの設定が保存され、ソリューション エクスプローラーにプロジェクトが作成されます。 プロジェクトには、コード ファイル、ワークフロー テンプレートの配置に使用するいくつかのファイル、カスタムの SharePoint ワークフロー テンプレートを作成するために必要となるアセンブリへの参照が含まれています。
使用手順の詳細については、「How to: Create a SharePoint Workflow Project (方法: SharePoint ワークフロー プロジェクトを作成する)」を参照してください。
SharePoint ワークフローのデザイン
ビジネス プロセス内のすべての手順を定義したら、Visual Studio のワークフロー デザイナーを使用して、SharePoint ワークフローをデザインします。 ワークフロー プロジェクトを作成すると、そのワークフローがデザイナーで開きます。 デザイナーは、ソリューション エクスプローラーで Workflow1.cs または Workflow1.vb をダブルクリックすることでいつでも開くことができます。
アクティビティ
ワークフローをデザインするには、ツールボックスからデザイナーのワークフロー スケジュールにアクティビティを追加します。 ワークフロー スケジュールには、実行すべき順序でアクティビティのシーケンスが含まれています。
アクティビティには 2 種類あります。
単純アクティビティは、"1 日遅延" や "Web サービスの開始" など、作業の 1 単位を実行します。
複合アクティビティには、2 つの分岐を含む条件付きのアクティビティなど、その他のアクティビティが含まれます。
いずれの種類のアクティビティもツールボックスで利用できます。
アクティビティには、プロパティ、メソッド、イベントを設定できます。 アクティビティのプロパティの設定には、[プロパティ] ウィンドウを使用します。
カスタムのアクティビティを作成することもできます。 詳細については、「カスタム アクティビティの作成」を参照してください。
ツールボックスには、アクティビティが次のタブにまとめられてます。
Windows Workflow v3.0
Windows Workflow v3.5
SharePoint ワークフロー
Windows Workflow アクティビティ
[Windows ワークフロー] タブには、Windows Workflow Foundation で提供されるアクティビティが含まれます。 これらのアクティビティを使用して、任意の種類の Windows Workflow アプリケーションのワークフロー スケジュールを作成できます。
[Windows ワークフロー] タブに表示されるアクティビティの詳細については、「Windows Workflow Foundation アクティビティ」を参照してください。 Windows Workflow Foundation の詳細については、「Windows Workflow Foundation の概要」を参照してください。
SharePoint ワークフロー アクティビティ
[SharePoint Workflow] タブには、Windows SharePoint Services 3.0 と SharePoint Server 2007 に特化されたアクティビティが含まれています。 これらのアクティビティによって、ドキュメントのライフ サイクルを管理するワークフローの開発を簡素化し、効率化できます。 [SharePoint ワークフロー] タブに表示されるアクティビティの詳細については、「Windows SharePoint Services のワークフロー アクティビティの概要」を参照してください。
デザイナーでのアクティビティの操作
ワークフロー スケジュールには、Windows Workflow アクティビティと SharePoint ワークフロー アクティビティを組み合わせて含めることができます。
デザイナーには、ビジュアル キューが表示されるため、アクティビティを正確に位置付けて構成することができます。 アクティビティをワークフロー スケジュールにドラッグすると、デザイナーには緑色の正符号 (+) アイコンが表示され、そのアクティビティのワークフローにおける有効な位置が示されます。 有効ではない場所にアクティビティを配置することはできません。 たとえば、待機 (Listen) のアクティビティ分岐点の最初のアクティビティとして 送信 (Send) アクティビティを配置することはできません。 デザイナーの使用方法の詳細については、「Visual Studio 2005 Designer for Windows Workflow Foundation の概要」を参照してください。
ワークフローにおける情報収集
ワークフローにあらかじめ定義されているタイミングで、ユーザーから情報を収集することができます。 情報の収集には、フォームや項目のプロパティを使用します。
フォーム
フォームは、質問を提起し、回答を導く方法をユーザーに提供するダイアログ ボックスのようなものです。
ワークフローに作成できるフォームには、次の 4 種類があります。
関連付け
開始
変更
タスク
たとえば、ドキュメントのレビュー担当者からフィードバックを収集するフォームをデザインできます。 ワークフローを続行するには、ユーザーからのフィードバックが必要です。 このような種類のフォームはタスク フォームと呼ばれます。
これらの種類のフォームの詳細については、「ワークフロー フォームの概要」を参照してください。
これらのフォームは、ASP.NET Web フォーム ページ (.aspx ファイル) または InfoPath フォームとして作成できます。 .aspx ページの使用方法の詳細については、「ワークフロー フォームの概要」を参照してください。 InfoPath フォームの使用方法の詳細については、「ワークフローの InfoPath フォーム」を参照してください。
注意
Visual Studio には、関連付けフォーム用と開始フォーム用の項目テンプレートが用意されています。 詳細については、「チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成」を参照してください。
項目のプロパティ
ユーザーから情報を収集するときに、SharePoint のライブラリ項目またはリスト項目のプロパティを使用することもできます。 メイン コード ファイル (Workflow1.cs または Workflow1.vb) には、workflowProperties という名前の Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.WorkflowProperties クラスのインスタンスが宣言されています。 workflowProperties オブジェクトを使用して、コード内のライブラリまたはリストのプロパティにアクセスします。 例については、「Walkthrough: Creating and Debugging a SharePoint Workflow Solution (チュートリアル: SharePoint ワークフロー ソリューションの作成とデバッグ)」を参照してください。
SharePoint ワークフロー テンプレートのデバッグ
SharePoint ワークフロー プロジェクトは、他の Visual Studio プロジェクトと同様にデバッグできます。 Visual Studio デバッガーを起動すると、Visual Studio は SharePoint カスタマイズ ウィザードに指定された設定を使用して、適切な SharePoint Web サイトを開き、適切なライブラリまたはリストにワークフロー テンプレートを自動的に関連付けます。 Visual Studio は、Visual Studio デバッガーを w3wp.exe という名前の SharePoint Services 3.0 プロセスにアタッチする処理も実行します。
ワークフローをテストするには、ワークフローを手動で開始する必要があります。 詳細については、SharePoint ワークフロー ソリューションのデバッグ」を参照してください。
SharePoint ワークフロー テンプレートの配置
Visual Studio で作成したワークフローは、他の SharePoint project と同じように配置します。 F5 キーを押すと、ワークフローがパッケージされ、SharePoint に配置されます。 詳細については、「SharePoint ソリューションの配置」を参照してください。
参照
その他の技術情報
<開発者向け> Windows SharePoint Services Version 3 および SharePoint Server 2007 のワークフロー入門
Windows Workflow Foundation の概要
Windows Workflow Foundation プログラミング ガイド
Visual Studio 2005 Designer for Windows Workflow Foundation の概要
Windows Workflow Foundation アクティビティ
Windows SharePoint Services のワークフロー アクティビティの概要
Windows SharePoint Services のワークフロー オブジェクト モデルの概要