次の方法で共有


Project Server ワークフローをインストールおよびテストする

適用対象: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

この記事の内容
Project Server ワークフローのインストール
Project Server ワークフローのテスト
Project Server ワークフローのデバッグ

Microsoft Project Server 2010 のワークフローは、ローカルの Project Web App サーバーに Microsoft Visual Studio 2010 を使用してインストールし、テストできまます。ファーム内の運用サーバーへのワークフローのインストールでは、SharePoint ソリューション パッケージを使用する必要があります。

この記事は次のセクションで構成されます。

  • Project Server ワークフローのインストール

  • Project Server ワークフローのテスト

  • Project Server ワークフローのデバッグ

この記事の手順では、「[方法] 分岐ワークフローを作成する」に記載されている BranchingWorkflow サンプルを使用します。ワークフローのテスト後、Project Server の運用インストールにワークフローを展開できます。詳細については、「[方法] Project Server ワークフローを展開する」を参照してください。

Project Server ワークフローのインストール

Project Server ワークフローをインストールしてテストする場合、Project Server のテスト インストールでの開発が必要です。

手順 1. テスト用のワークフローをインストールするには

  1. Microsoft Visual Studio 2010 で BranchingWorkflow プロジェクトを開きます。

  2. ソリューション エクスプローラーでプロジェクトを右クリックし、[展開] をクリックします。

Visual Studio は、ワークフロー ソリューションをローカルの Project Web App サイト コレクションに追加し、機能をアクティブ化します。機能がアクティブ化されたことを確認するには、[サイトの操作] ドロップダウン メニューの [サイトの設定] をクリックします。[サイトの設定] ページの [サイト コレクションの管理] セクションで、[サイト コレクションの機能] をクリックし、[機能] ページを表示します (図 1)。

図 1. BranchingWorkflow 機能がアクティブであることを示している [機能] ページ

サイト コレクション の機能のアクティブ化

Project Server ワークフローのテスト

Project Web App と共にインストールされる既定のエンタープライズ プロジェクト テンプレート (EPT) は、サンプル提案という既定のワークフローに関連付けられています。ユーザー設定のワークフローをテストするには、EPT を作成し、それをワークフローに関連付ける必要があります。

注意

EPT のワークフローの関連付けは、これを作成した後で変更することはできません。新しいワークフローをテストするには、別の EPT を作成する必要があります。

手順 2. EPT を作成し、ワークフローをテストするには

  1. Project Web App の [サーバー設定] ページで、[ワークフローおよびプロジェクト詳細ページ] セクションの [エンタープライズ プロジェクトの種類] をクリックし、EPT を作成します。

    1. [エンタープライズ プロジェクトの種類] ページで、[新しいエンタープライズ プロジェクトの種類] をクリックします。

    2. [エンタープライズ プロジェクトの種類の追加] ページで、EPT の名前と説明を入力します。たとえば、[名前] フィールドに「Test EPT」と入力します。

    3. [サイト ワークフローの関連付け] ドロップダウン リストで、手順 1. で追加したワークフローの名前をクリックします。たとえば、[BranchingWorkflow] をクリックします。

    4. [新しいプロジェクト ページ] ドロップダウン リストで、EPT を使用するプロジェクトをユーザーが作成するときに表示されるページを選択します。たとえば、[プロジェクト情報] をクリックします。

    5. プロジェクトを作成するときに使用する EPT のドロップダウン リストにアイコンを含めるには、アクセス可能な SharePoint ドキュメント ライブラリにイメージを追加し、そのイメージの Web アドレスを追加します。たとえば、ローカルの Project Web App Shared Documents ライブラリの Images サブフォルダーにある P14SDK_small.gif ファイルを追加するには、https://ServerName/ProjectServerName/Shared%20Documents/Images/P14SDK_small.gif を、[画像] セクションのテキスト ボックスにコピーします。

    6. [保存] をクリックして、EPT を作成します。

  2. 新しい EPT を使用してプロジェクト提案を作成します。プロジェクト センターで [プロジェクト] タブをクリックし、[新規] の下の下矢印をクリックします (図 2)。

    ヒント

    [新規] をクリックすると、既定のプロジェクトのインスタンスが作成されます。標準の Project Web App インストールの場合、既定のプロジェクトは [基本的なプロジェクト計画] で、ワークフローは関連付けられていません。

    [Test EPT] をクリックします。新しいプロジェクトで、前のステップで作成したサンプル EPT が使用されます。たとえば、新しいプロジェクトに「BranchingWorkflow Test 1」という名前を指定します。リボンの [保存] をクリックします。

    図 2. Test EPT を使用したプロジェクトの作成

    Test EPT を使用したプロジェクトの作成

    Test EPTBranchingWorkflow に関連付けられているので、ワークフローの制御下で開始します (図 3)。

    注意

    Project Server Queuing Service によってプロジェクトが作成されるのを待機します。[処理を続行中] というモーダル ダイアログ ボックスが表示される場合は、[OK] をクリックし、作成処理が完了するのを待機します。または、[自分のキュー ジョブに移動] をクリックして、ジョブの状態を確認します。キュー ジョブが終了してワークフローを開始するには、プロジェクト センター ビューでプロジェクト名をクリックします。

    新しいプロジェクトのすべてのキュー ジョブが正常終了したが、以下のエラーが表示される場合は、ステージ GUID やその他のアクティビティのプロパティが BranchingWorkflow.cs ファイル内で正しいことを Visual Studio で確認します。

    Unable to open the project. The project has not been properly initialized. This may be caused by the workflow associated with the EPT not starting correctly.

    図 3. [初期段階の提案の詳細] ステージの使用

    初期提案の詳細ステージの使用

    図 3 は、[初期段階の提案の詳細] ステージのワークフローが、続行に必要な情報がないので入力を待機中であることを示しています。プロジェクトのコストや他の必須フィールドが、[提案のサマリー] プロジェクト詳細ページ (PDP) にまだ入力されていません。

  3. [提案のサマリー] をクリックし、必須情報を入力します (図 4)。[サンプル提案のコスト] フィールドに $25,000 を越える値を入力して、提案を終了するワークフローの分岐をテストします。

    図 4. [提案のサマリー] PDP 内での必須データの追加

    提案サマリー PDP への必要なデータの追加

  4. [提案のサマリー] データを保存するには、リボンの [プロジェクト] タブの [保存] をクリックします。

  5. オプション: ワークフローの状態を表示するには、[状態] をクリックします。

  6. [提出] をクリックして、ワークフローの次のステージに進みます。提案のコストは BranchingWorkflow 実装で指定されている $25,000 の制限を超えているので、ワークフローは [自動的に却下] ステージに進み (図 5)、提案がキャンセルされます。

    図 5. [自動的に却下] ステージへの移動

    [自動的に却下] ステージへの移動

  7. 同様の手順を実行し、Test EPT を使用して別の提案を作成します。$25,000 未満のコストを指定して、[提案の詳細] ステージに進むかどうかを確認します。[提案の詳細] PDP ですべての必須フィールドを保存したら、再び [提出] をクリックします。必須のすべての詳細ページに入力して (図 6)、[提出] をクリックすると、ワークフローは [実行] ステージに進み、[すべてのワークフロー ステージ] の [段階] 列に [ワークフローの完了] と表示されます。[実行] ステージでは、プロジェクト マネージャーとして普通にプロジェクトを編集できます。

    図 6. 入力を待機中の [提案の詳細] ステージ

    [提案の詳細] ステージの入力の待ち

  8. ワークフローの状態をチェックします。Project Web App で、プロジェクトの [ワークフローの状態] ページで、[すべてのワークフロー ステージ] ノードを展開し、[すべてのワークフロー ステージ] グリッドの下の [その他のワークフロー データ] をクリックします。[ワークフローの状態: BranchingWorkflow] ページ (図 7) の [ワークフローの履歴] セクションに、発生したイベントと、各イベントの状態が表示されます。

    図 7. ワークフロー イベントの状態のチェック

    ワークフロー イベントの状態の確認

BranchingWorkflow プロジェクトは、1 つの比較テストのみが含まれる単純な例です。ワークフローは、需要管理の作成フェーズの 3 つのステージと、管理フェーズの 1 つのステージから成ります。ワークフロー全体をテストするには、ワークフローが使用するすべての PDP を含む EPT を作成し、ワークフローのすべての分岐をテストして、予期されるとおりに動作するかどうかを確認する必要があります。

ワークフローの開発、テスト、および変更を行う中で、Visual Studio 2010 の [取り消し] コマンドを使用して、ワークフローをアンインストールできます。ソリューション エクスプローラーで BranchingWorkflow プロジェクトを右クリックします。[展開] コマンドを使用して、更新されたビルドをローカルの Project Server 開発コンピューターにインストールします。ワークフローが完了したら、SharePoint ソリューション ファイルを作成して、すべての Project Web App サーバーおよび SharePoint ファーム内のインスタンスにワークフローをインストールします。詳細については、「[方法] Project Server ワークフローを展開する」を参照してください。

Project Server ワークフローのデバッグ

Visual Studio 2010 では、開発およびテストの際にワークフロー ソリューションをローカル Project Server コンピューター上にインストールできるので、Visual Studio を使用して、ワークフローで使用するプロセスにアタッチできます。

手順 3. Project Server ワークフローをデバッグするには

  1. Visual Studio でワークフロー プロジェクトを展開した後、[デバッグ] メニューの [プロセスにアタッチ] をクリックします。[プロセスにアタッチ] ダイアログ ボックスで、[すべてのユーザーからのプロセスを表示する] チェック ボックスと [すべてのセッションのプロセスを表示する] チェック ボックスをオンにします (図 8)。

    図 8. w3wp.exe プロセスへのアタッチ

    デバッグのために w3wp プロセスに接続

  2. ワークフローを提出または再開始すると、そのワークフローが w3wp プロセス内で実行されます。[プロセス] 列にある 1 つ以上の w3wp.exe エントリをクリックします。

    適切なプロセスにアタッチした場合、ブレークポイントは Visual Studio コード ウィンドウの左側に引き続き塗りつぶされた赤で表示されます。適切なプロセスにアタッチしなかった場合、ブレークポイントは中空の赤い円に変わり、黄色い注意インジケーターと、ブレークポイント状態のヒント [ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。] が表示されます。

  3. ワークフローでプロジェクトを作成するか、または PSI のいずれかの Queue メソッド (たとえば QueueCreateProject) を使用する別の操作を実行する場合、プロセスで Project Server Queue Service が使用されます。[プロセスにアタッチ] ダイアログ ボックスで、Microsoft.Office.Project.Server.Queuing.exe プロセスをクリックします。

    注意

    アプリケーション サーバー用および各 Project Web App インスタンス用にキュー プロセスがあります。すべてのキュー プロセスにアタッチすることも、また ULS ログからキュー プロセスの ID を調べて、それを 10 進値に変換することもできます。たとえば、ULS ログで Microsoft.Office.Project.Server ID が 0x0FFC になっているとすれば、Microsoft.Office.Project.Server.Queuing.exe プロセス ID は 4092 です。

  4. ワークフローで使用する承認プロセスに多くの承認者が含まれている場合、それは SharePoint タイマー プロセスの下で実行される可能性があります。OWSTIMER.EXE プロセスをクリックしてください。これは一般的ではありません。

[アタッチ] をクリックし、ブレークポイントが塗りつぶされた赤に変わったら、ワークフロー コード内に設定したブレークポイントを Visual Studio が捕捉できる状態になっています。

関連項目

タスク

[方法] Project Server ワークフロー用に Visual Studio 2010 を構成する

[方法] 分岐ワークフローを作成する

[方法] Project Server ワークフローを展開する

概念

ワークフローおよび需要管理

その他のリソース

Using Features

Solutions Overview

Workflows in SharePoint Foundation

.NET Reflector (英語)