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

Visual Studio では、SharePoint Web サイト上のドキュメントとリスト項目のライフ サイクルを管理するカスタム ワークフローを作成するためのツールが用意されています。 用意されている項目として、デザイナー、一連のアクティビティ コントロール、必要なアセンブリ参照があります。 また、Visual Studio には、ワークフローの作成や構成に役立つ SharePoint カスタマイズ ウィザードも含まれています。

SharePoint の詳細については、Microsoft SharePoint 製品およびテクノロジのページを参照してください。

SharePoint のワークフロー

ワークフローを SharePoint ライブラリまたはリストに追加する場合は、ライブラリまたはリスト内のすべての項目にビジネス プロセスを適用します。 ワークフローでは、各項目に対して実行される必要があるシステムまたはユーザーによるアクション (編集とその後のレビューの対象である項目を送信するなど) を記述します。 このようなアクションは、"アクティビティ" と呼ばれ、ワークフローの構成要素です。

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

カスタム SharePoint ワークフローを作成する

Visual Studio では、2 つの SharePoint ワークフロー プロジェクトを使うことができます: シーケンシャル ワークフローステート マシン ワークフローです。

"シーケンシャル ワークフロー" は一連のステップを表します。 最後のアクティビティが完了するまで、ステップが 1 つずつ実行されます。 シーケンシャル ワークフローの実行は常に、厳密に逐次処理されます。 外部イベントを受信する場合や、並列ロジック フローを含む場合があるため、実行の正確な順序は一定でない可能性があります。 次の図は、シーケンシャル ワークフローの例を示しています。

Sequential Workflow

"ステート マシン ワークフロー" は、一連の状態、遷移、アクションを表します。 ステート マシン ワークフローのステップは、非同期的に実行されます。 つまり、それらは必ずしも次々に実行されるわけではなく、アクションと状態によってトリガーされます。 1 つの状態が開始状態として割り当てられ、その後、イベントに基づいて別の状態への遷移が行われます。 ステート マシンには、ワークフローの終了を決定する最終状態を設定できます。 次の図は、ステート マシン ワークフローの例を示しています。

State Machine Workflow

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

ウィザードを使用する

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

ワークフローを作成した後、プロパティ ウィンドウでそのプロパティを変更できます。 ほとんどのワークフロー プロパティは [プロパティ] ウィンドウで直接変更できますが、省略記号ボタン (ASP.NET Mobile Designer ellipse) をクリックして値を変更する必要があるものもあります。 このボタンによって SharePoint カスタマイズ ウィザードが再起動されます。 プロパティ値を変更した後、[完了] ボタンを選択して設定を確定します。

Note

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

SharePoint ワークフローを設計する

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

活動

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

次の 2 種類のアクティビティがあります。

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

  • "複合アクティビティ" には、他のアクティビティが含まれています。たとえば、条件付きアクティビティに 2 つの分岐が含まれている場合があります。

    どちらの種類のアクティビティも、ツールボックスで使用できます。

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

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

    アクティビティは、ツールボックスの次のタブで構成されています。

  • SharePoint ワークフロー

  • Windows Workflow v3.0

  • Windows Workflow v3.5

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

SharePoint ワークフローのアクティビティ

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

Windows Workflow のアクティビティ

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

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

デザイナーでアクティビティを操作する

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

デザイナーには、アクティビティを適切に配置および構成するための視覚的な手掛かりが表示されます。 ワークフロー スケジュールにアクティビティをドラッグまたはコピーするとき、ワークフロー内でのそのアクティビティの有効な位置を示す緑色の正符号 (+) アイコンが、デザイナーに表示されます。 アクティビティを無効な場所に配置することはできません。 たとえば、送信アクティビティをリッスン アクティビティ分岐の最初のアクティビティとして配置することはできません。 詳細については、SharePoint Designer デベロッパー センターを参照してください。

ワークフロー中に情報を収集する

ワークフローで事前に定義された時間にユーザーから情報を収集することができます。 フォームまたは項目のプロパティを使用して、情報を収集できます。

フォーム

フォームは、質問を含むダイアログ ボックスに似ており、ユーザーが回答を入力する方法を提供するものです。

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

  • 関連付け

  • 開始

  • 変更

  • タスク

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

項目のプロパティ

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

SharePoint ワークフロー テンプレートをデバッグする

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

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

SharePoint ワークフロー テンプレートを配置する

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

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

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

Title 説明
チュートリアル: SharePoint ワークフロー ソリューションの作成とデバッグ 簡単な Visual Studio ワークフローの作成とデバッグについて段階的に説明します。
チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成 関連付けフォームと開始フォームを使ってより完全な機能を備えた Visual Studio ワークフローを作成する手順について段階的に説明します。
チュートリアル: ワークフローへのアプリケーション ページの追加 チュートリアル: 関連付けフォームと開始フォームを持つワークフローの作成」のトピックに基づいて、ワークフローに入力されたデータを報告する .aspx アプリケーション ページを追加します。
チュートリアル: サイトのカスタム ワークフロー アクティビティの作成 サイトレベル ワークフローの作成およびカスタム ワークフロー アクティビティの作成という 2 つの主要なタスクを実行する方法を示します。
チュートリアル: SharePoint Designer の再利用可能なワークフローを Visual Studio にインポートする SharePoint Designer 2010 で作成した再利用可能な宣言型ワークフローを Visual Studio SharePoint プロジェクトにインポートする方法を示します。

関連項目