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

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • SharePoint ワークフロー

Microsoft Office のバージョン

  • SharePoint Server 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Visual Studio Tools for Office には、SharePoint Web サイト内のドキュメントおよびリスト項目の有効期間を管理するカスタム ワークフロー テンプレートの作成に役立つツールが用意されています。ツールには、デザイナ、広範なドラッグ アンド ドロップ機能、および必要なアセンブリ参照が含まれています。Visual Studio Tools for Office には新しい Office SharePoint ワークフロー ウィザードも実装されており、このウィザードを使用すると、Visual Studio でワークフロー テンプレートをデバッグするために必要な構成手順が大幅に減少します。

Bb386211.alert_note(ja-jp,VS.90).gifメモ :

SharePoint ワークフロー プロジェクト テンプレートを使用するためには、Microsoft Office SharePoint Server 2007 をサポートするオペレーティング システムを搭載したコンピュータに Visual Studio をインストールする必要があります。また、Microsoft Office SharePoint Server 2007 のインストールも必要です。詳細については、「方法 : SharePoint ワークフロー プロジェクト テンプレートを対象とする開発用に Visual Studio Tools for Office をインストールする」を参照してください。

Microsoft Office SharePoint Server 2007 には、いくつかの組み込みのワークフロー テンプレートが用意されています。たとえば、基本的な承認プロセスを通過する新しいドキュメントを作成する場合、組み込みの承認ワークフロー テンプレートを使用できます。カスタムのワークフロー テンプレートを作成して、ドキュメント プロセスを詳細に管理することもできます。

SharePoint の詳細については、「Windows SharePoint Services 3.0 Overview」および「Microsoft Office SharePoint Server 2007 Product Overview」を参照してください。

SharePoint でのワークフロー

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

SharePoint Web サイト内のワークフローは、ワークフロー テンプレートとして格納されます。したがって、SharePoint ワークフロー テンプレートを作成し、SharePoint Web サイトに配置することが必要です。SharePoint の管理ツールを使用して、SharePoint 2007 Web サイトのライブラリまたはリストにテンプレートを追加します。ユーザーは、ワークフロー インスタンスを起動して、ライブラリまたはリストにある任意の項目を処理できます。詳細については、「ワークフローを使用してプロセスを管理する」を参照してください。

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

SharePoint 2007 シーケンシャル ワークフロー プロジェクト テンプレートまたは SharePoint 2007 ステート マシンのワークフロー プロジェクト テンプレートを使用して、SharePoint ワークフローを作成します。

シーケンシャル ワークフローは、最後のアクティビティが完了するまで順序どおりに実行しなければならない一連の手順で構成されるワークフローを表します。次の図に、シーケンシャル ワークフローの例を示します。

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

ステート マシンのワークフローは、一連のステート、遷移、アクションで構成されます。1 つのステートは開始ステートとして示され、イベントに基づいて別のステートに遷移されます。次の図に、ステート マシンのワークフローの例を示します。

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

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

ウィザードの使用

SharePoint ワークフロー プロジェクトを作成するとき、新しい Office SharePoint ワークフロー ウィザードでデバッグ構成の設定を指定することから作業を始めます。ウィザードによって、これらの設定が格納され、ソリューション エクスプローラにプロジェクトが作成されます。プロジェクトには、コード ファイル、ワークフロー テンプレートの配置に使用するいくつかのファイル、カスタムの SharePoint ワークフロー テンプレートを作成するために必要となるアセンブリへの参照が含まれています。これらのファイルとアセンブリ参照の詳細については、「SharePoint ワークフロー プロジェクト テンプレート」を参照してください。

詳細な手順については、「方法 : SharePoint ワークフロー プロジェクトを作成する」を参照してください。

SharePoint ワークフロー テンプレートのデザイン

ビジネス プロセス内のすべての手順を定義したら、Windows Workflow Foundation 向けのデザイナを使用して、SharePoint ワークフロー テンプレートをデザインします。デザイナを開くには、ソリューション エクスプローラで Workflow1.cs または Workflow1.vb をダブルクリックします。

アクティビティ

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

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

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

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

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

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

カスタムのアクティビティを作成することもできます。詳細については、「カスタム アクティビティの作成」を参照してください。

アクティビティは、ツールボックスにある次の 2 つのタブで構成されます。

  • Windows Workflow

  • SharePoint ワークフロー

Windows Workflow アクティビティ

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

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

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

[SharePoint ワークフロー] タブには、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 種類があります。

  • 関連付け

  • 開始

  • 修正

  • タスク

たとえば、ドキュメントのレビュー担当者からフィードバックを収集するフォームをデザインできます。ユーザーは、ワークフローを続行するにはフィードバックを提供しなければなりません。このような種類のフォームはタスク フォームと呼ばれます。

Bb386211.alert_note(ja-jp,VS.90).gifメモ :

Visual Studio Tools for Office には、ワークフロー フォーム開発を簡素化するためのツールは用意されていません。ワークフロー テンプレートにフォームを追加するときには、上に挙げた 2 つのリンク先に記載されているガイダンスを活用してください。

項目のプロパティ

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

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

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

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

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

Visual Studio Tools for Office には、ワークフロー テンプレート配置を簡素化するためのツールは用意されていません。配置の詳細については、SharePoint Services 3.0 のトピック「[方法] ワークフロー テンプレートを展開する」を参照してください。

参照

処理手順

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

方法 : SharePoint ワークフロー プロジェクトを作成する

方法 : SharePoint ワークフロー プロジェクトのデバッグ構成の設定を変更する

方法 : SharePoint ソリューションをデバッグするときにヘルパー ファイルを含める

SharePoint シーケンシャル ワークフローのサンプル

概念

SharePoint ワークフロー ソリューションのデバッグ

SharePoint ワークフロー ソリューションのトラブルシューティング

その他の技術情報

Developer Introduction to Workflows for Windows SharePoint Services 3.0 and SharePoint Server 2007

Windows Workflow Foundation の概要

Windows Workflow Foundation Programming Guide

Visual Studio 2005 Designer for Windows Workflow Foundation の概要

Windows Workflow Foundation アクティビティ

Windows SharePoint Services のワークフロー アクティビティの概要

Windows SharePoint Services のワークフロー オブジェクト モデルの概要

Microsoft Office SharePoint Server 2007 SDK にようこそ

ワークフローの InfoPath フォーム

ワークフロー フォームの概要

フィーチャーを使用したワークフローの展開