次の方法で共有


Project の開発者向けの更新プログラム

Project Server 2013 の機能拡張機能は、Project Online のアドインとオンプレミスインストールで機能します。 新機能には、クライアント側のオブジェクト モデル (CSOM)、REST インターフェイス、レポート用 OData サービス、リモート イベント レシーバー、宣言型ワークフロー、および Project クライアント用作業ウィンドウ アドインなどがあります。 さらに、新しい開発には使用しないほうがよい、使用されなくなった機能についても説明します。

Project Server 2013 は、Microsoft Office Project Server 2007 で導入され、Project Server 2010 によって拡張されたフレームワークに基づいています。 Project Server 2013 では、クライアント側オブジェクト モデル (CSOM) が追加され、Project Server Interface (PSI) からリファクタリングおよび簡略化され、Windows アプリ、Windows Phone 8、Microsoft Silverlight 用の JavaScript ライブラリと .NET Framework 4 ライブラリが含まれています。 CSOM は Project Online 用の開発用に設計されており、オンプレミスの Project Server インストールでも機能します。

Project Server データベースは 1 つのデータベースに統合されており、OData サービスでオンラインのレポート テーブルおよびビューにアクセスできます。 CSOM および OData サービスには Representational State Transfer (REST) インターフェイスが含まれます。 Project Server ワークフローは、SharePoint Designer 2013 を使用して作成できます。 Project Professional 2013 は、作業ウィンドウの Office アドイン機能拡張モデルを使用して、Project Server レポート データ、SharePoint タスク リスト、その他の外部コンテンツと統合できます。 Project Standard 2013 では、作業ウィンドウ アドインを使用して、一般的な外部コンテンツと統合できます。

Project Server 2013 の主な変更点の図と詳細については、「 Project Server 2013 アーキテクチャ」を参照してください。

注:

Project Server 2013 は SharePoint Server 2013 プラットフォームに基づいて構築され、Project 2013 には他の Office 2013 アプリケーションと同じインストラクチャが数多く含まれています。 SharePoint アドイン、SharePoint ベースのワークフロー、Web パーツ、その他の SharePoint 機能を使用した開発、および Office アドインのモデルのドキュメントについては、「 SharePoint アドイン、 Office アドイン、 および SharePoint 2013 開発の概要」を参照してください。

Project 2013 の主な新機能

Project Standard 2013 および Project Professional 2013 の新機能には、他の Office 2013 アプリケーションと一致する改善されたユーザー インターフェイスが含まれており、Windows 8 の最新スタイルのユーザー インターフェイス、レポート用の Office Art オブジェクトとの統合、バーンダウン レポート、レポートの新しいプログラミング機能がサポートされています。 Project Professional 2013 を使用すると、SharePoint Server 2013 でプロジェクトをより広範に共有および同期できます。作業ウィンドウ アドインは、Word、Excel、Outlook などの他の Office 2013 アプリケーションにも実装されています。

Project Server 2013 には多くの新機能があります。 Project Web App の新しいタイムラインなど、主要なプログラミングストーリーがないものもあります。 それらの機能については、Microsoft Office Online の製品のヘルプとエンド ユーザー向けドキュメント、および Microsoft TechNet の管理者と IT 担当者を対象にしたトピックに記載される予定です。 その他にも、タイムシートの向上などの新機能によって、サード パーティの開発者がタイムシートと状態管理を Project Server Interface (PSI) で容易に操作できるようになりました。

Project Online と Project アドイン用の Office ストア (https://office.microsoft.com/store) の追加は広範囲に及び、Project Server には Microsoft Azure を介してアクセスできます。 Project Server へのクラウドベースのアクセスでは、クライアント側オブジェクト モデル (CSOM) を使用して、JavaScript を使用する Microsoft .NET Framework、Microsoft Silverlight、Windows Phone、Web アプリを使用したアドインの開発を行います。 Project Online の要件は、以前のバージョンの 4 つの Project Server データベースを 1 つのデータベースにマージすることです。

Project Server 2013 のパフォーマンスとスケーラビリティは、タスクの状態、タイムシート、プロジェクト管理などの多くの領域で改善されています。 Project Server ワークフローは、Windows Workflow Foundation (WF4) のバージョン 4 で再設計されています。 PSI で .NET Framework 4 と Windows Communication Foundation (WCF) を使用すると、セキュリティ、パフォーマンス、スケーラビリティが向上します。 たとえば、WCF ベースのアプリケーションの転送プロトコルを変更する場合、アプリケーション コードを変更して再コンパイルすることなく、構成ファイルを使用して変更できます。 Project Web App では、データが大幅に変更されない PSI 呼び出しの多くがキャッシュされます。

注:

Project Server 2013 を使用した開発では、Office および SharePoint ツール拡張機能で Visual Studio を使用できます。この拡張機能を使用すると、Office 2013 製品のアドインをネイティブに作成できます。 Project Server 2013 では、Visual Studio でプロジェクト詳細ページや WCF ベースのアプリケーションなどの機能の開発を完全に有効にする必要があります。 Visual Studio の SharePoint ツール拡張機能は、Web パーツやその他の SharePoint 機能を Project Web App やその他の SharePoint サイトに直接展開できます。

Visual Studio は、Project Web App で管理できるカスタム フィールド、ステージ、フェーズ、エンタープライズ プロジェクトの種類を使用する Project Server ワークフローを開発する必要がなくなりました。 Visual Studio を使用してワークフローを開発することはできますが、多くの場合、SharePoint デザイナーを使用して簡単かつ迅速に作成できます。 Visual Studio は、CSOM または他の外部 API にアクセスする必要があるワークフローを開発する際に使用できます。

Project 用アドイン

ソフトウェアの配布とマーケティングは、アドインの概念によって大きく変化してきました。 Project 2013 では、アドインをパブリック Office ストアから購入およびダウンロードしたり、SharePoint のプライベート カタログ内で配布したりできます。 通常、アドインは、少数の関連タスクを実行する自己完結型の対話型プログラムです。 Project アドインには、Project Standard 2013 または Project Standard 2013 クライアントの作業ウィンドウ アドイン、または Project Server 2013 または Project Online 用のアドインを指定できます。

Project デスクトップ クライアント用アドインについては、「Project の作業ウィンドウ アドイン」を参照してください。 Project Server 2013 の例については、「 SharePoint でホストされる Project Server アドインを作成する」を参照してください。 Office および SharePoint アドイン SDK の記事に加えて、Office ブログには、Project 2013 および Project Online にも関連する多くの投稿があります。

Project Server 2013 のアドインは、オンプレミスインストールと Project Online の両方で動作します。 Project Server アドインには、Web パーツ、リモート イベント レシーバー、およびビジネス ロジックを含めることができます。 アドインでの Project Server オブジェクト モデルへのアクセスは、PSI ではなく CSOM を介して行われます。 データ ストレージは、SQL Azure などのクラウドベースで、外部 (Microsoft Business Connectivity Services (BCS) など)、ローカル データベースを使用した内部、または混在させることができます。

アドインのセキュリティ 通常、アドインが実行可能なアクションは、アドインを実行しているユーザーに代わって実行されます。

ユーザーが明示的に偽装を使用したり、アドインを実行可能なユーザーを指定したりすることはありません。 アドインを実行しているユーザーのアクセス許可レベルを超えるアクションは、実行できません。

Office Developer Tools for Visual Studio 2012 では、AppManifext.xml ファイルにグラフィカル エディターがあり、アクセス許可要求スコープを設定できます。 たとえば、プロジェクト マネージャーが自らのプロジェクトを更新できるアドインを作成するには、AppManifest.xml デザイナー ウィンドウの [アクセス許可] タブで、スコープは [複数のプロジェクト] を、アクセス許可は [書き込み] を選択します。 プロジェクト マネージャーの権限を持つアドイン ユーザーは、自らが管理しているプロジェクトでアドインを実行できます。 AppManifest.xml ファイル内のコードには、以下の記述が含まれます。

  <AppPermissionRequests>
    <AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
  </AppPermissionRequests>

表 1. Project Server アドイン用のアクセス許可リクエストのスコープ

範囲 アクセス許可
Project Server
管理 (Project Server 管理者のアクセス許可が必要)
複数のプロジェクト
読み取り書き込み (一部の操作にはプロジェクト マネージャーのアクセス許可が必要となり、タスクの割り当てなどの基本の読み取り操作にはプロジェクト チーム メンバーのアクセス許可が必要となります。)
1 つのプロジェクト
読み取り書き込み (少なくともプロジェクト チーム メンバーのアクセス許可が必要。プロジェクト内のデータにアクセスできるかどうかは、他のアクセス許可レベルに依存します。)
エンタープライズ リソース
読み取り書き込み (リソース マネージャーのアクセス許可が必要)
Statusing
提出ステータス (プロジェクトの状態を送信するためのアクセス許可が必要)
レポート
読み取り (Project Server にログオンするためのアクセス許可が必要)
ワークフロー
昇格 (ワークフローを実行するためのアクセス許可が必要。ワークフローでのステージ間の移行を可能にするために、アドインは管理者特権で実行されます。ステージ遷移はアドイン内のビジネス ロジックによって制御されます。)

注:

Project Server 2013 と Project Online では、SharePoint 2013 ではアプリ専用認証モデルは使用されません (「 SharePoint 2013 のアドイン承認ポリシーの種類」を参照してください)。

アドインの開発、配布、ホスティング、管理の詳細については、SharePoint Server 2013 および Office 2013 開発者向けドキュメントの「 SharePoint アドインOffice アドイン」および関連トピックを参照してください。 他の SharePoint アドインのアクセス許可要求スコープの詳細については、「 SharePoint 2013 でのアドインのアクセス許可」を参照してください。

SharePoint Server との統合

Project Web App の多くの機能では、OAuth とクレーム ベースの認証、SharePoint グループによる Project Server 承認とアクセス許可、SharePoint タスク リストとのプロジェクトの同期、Project Server 宣言型ワークフローなど、SharePoint Server 2013 の新しいインフラストラクチャが必要です。 Project Service アプリケーションは、SharePoint ファーム内の任意のサイト コレクションと関連付けることができます。 プロジェクトを SharePoint タスク リストと同期し、SharePoint でプロジェクトを維持することができます。 エンタープライズ プロジェクトを SharePoint タスク リストと同期し、Project Server がフル コントロールを維持することもできます。 アーキテクチャ図とプロジェクト同期の説明については、「 Project Server 2013 アーキテクチャ」を参照してください。

SharePoint Server 2013 には多くの新機能があります。 詳細については、「 開発者向け SharePoint」を参照してください。

ワークフローとの統合

ワークフローはプロジェクト ポートフォリオ管理のコア機能です。 プロジェクトのライフ サイクルには、多くのフェーズにまたがる長期間のプロセスを含めることができます。 ガバナンス フェーズには、プロジェクトの提案、ビジネスへの影響度の分析、およびプロジェクトの選択、作成、計画、管理、追跡が含まれます。

Project Server 2013 ワークフローは、WF4 を使用する SharePoint 2013 ワークフロー プラットフォーム上に構築されています。 以前のバージョンとは異なり、Project Server 2013 の宣言型ワークフローは SharePoint Designer 2013 を使用して作成でき、オンプレミスとオンラインの両方でアクセスできます。 Project Server ワークフローは、OAuth で SharePoint ワークフロー セキュリティ モデルを使用し、Project Web App サイトにインストールできます。 図 1 は、SharePoint Designer 2013 が、Project Web App でステージが定義されている Demand Management のサイト ワークフローにステージを追加できることを示しています。

図 1. SharePoint Designer を使用した Project Web アプリ用ワークフローへのステージの追加

SPD でのワークフローへのステージの追加 SPD

ワークフロー ステージ、アクション、条件、その他の要素を SharePoint Designer 2013 または Visual Studio 2012 のいずれかのデザイン ツールに追加することで、宣言型ワークフローを構築します。 その後、デザイン ツールはワークフローを XAML コードとして保存します。これは実行時に解釈されます。 宣言型ワークフローは、オンプレミスの Project Server 2013 または Project Online で実行できます。 Visual Studio 2012 を使用すると、追加のコントロール用のカスタム アクションとフォームを構築し、複数の Project Web App インスタンスで再利用するためにワークフロー テンプレートを保存することもできます。 SharePoint Designer 2013 では、Visual Studio 2012 で作成されたカスタム アクションを使用できます。

Project Server 2013 ワークフローはアプリとして機能し、Project Web App の設計アクセス許可を持つ管理者が宣言型ワークフローを発行し、エンタープライズ プロジェクトの種類 (EPT) に関連付けることができます。 EPT は Project Server がフル コントロールを維持するエンタープライズ プロジェクトにする必要があります。 SharePoint タスク リストでは Project Server ワークフローを使用できません。

OAuth では、プロジェクト マネージャーはプロジェクト作成権限が与えられ、偽装を使用せずにワークフローを起動できます。 Project Server へのワークフローの呼び出し、たとえば、通過する分岐を選択するためのユーザー設定フィールド値の読み取りを、プロジェクト マネージャーを代理して実行します。 自動的に次のステージに進むワークフローをプロジェクト マネージャーが作成することを防ぐため、次のワークフロー ステージに移動するための呼び出しはワークフロー作成者 (管理者) 権限で実行されます。 一方、従来の Project Server 2010 ワークフローのユーザーは、ワークフロー プロキシ ユーザー アカウントを介して偽装された呼び出しを行い、ワークフロー全体で管理者アクセスを取得します。

Project Server 2013 オンプレミスではコンパイル済みの WF3.5 ベースのワークフローを使用できますが、WF4 に基づいてレガシ ワークフローを宣言型ワークフローにアップグレードすることをお勧めします。 最新のテクノロジは、より拡張性があり堅牢です。 ビジネス アナリストと PMO スタッフは、Visio 2013 を使用してワークフロー デザインを作成または更新し、SharePoint Designer 2013 を使用してコーディングせずに Project Server ワークフローを実装できます。

Project Web App の宣言型ワークフローの作成については、「 Project Server ワークフローの開発の概要」を参照してください。 ワークフローの SharePoint デザイナーと Visual Studio の機能の比較については、「 Visual Studio を使用して SharePoint 2013 ワークフローを開発する」を参照してください。

クライアント側オブジェクト モデル

Project Online へのプログラムによるアクセスには、SharePoint CSOM 上に構築された CSOM が必要です。 Project Online 認証は、Project Server フォーム認証または Windows 認証ではなく、Windows Live ID を使用した OAuth で行われます。

Project Server 2013 の CSOM の原則と機能を次に示します。

  • CSOM は使いやすさを考慮して設計されています。 たとえば、メソッドおよびプロパティは直接名前でデータを使用または提供し、多数の GUID や changeXml パラメーター、またはデータセットの受け渡しを必要としません。

  • Project Server の CSOM はサードパーティのソリューションの一般的な要件に基づいて PSI 機能のサブセットを実装します。

  • CSOM は PSI を内部的に呼び出しますが、その構造は変わったものになっています。 たとえば、すべての状態変更の更新が StatusAssignmentCollection.SubmitAllStatusUpdates メソッドを使用して行われるようになっており、ユーザーについては PSI メソッドの Statusing.SubmitStatus を使用し、その他のリソースについては SubmitStatusForResource メソッドを使用する、というようにはなっていません。

  • PSI の 22 個のパブリック サービスを使用しなくても、1 つの WCF サービス (Client.svc) で CSOM に アクセスできます。

  • Project Server CSOM の初期化は、WCF 参照またはプロキシ アセンブリを使用するのではなく、Project Web アプリ URL を使用して ProjectContext クラスを直接使用します。

  • CSOM は、内部 SharePoint CSOM インフラストラクチャでサポートされる複数のクライアント ライブラリおよびインターフェイスを実装します。 クライアント ライブラリおよびインターフェイスには次のものが含まれます。

    • Microsoft.ProjectServer.Client.dll アセンブリ内の Microsoft .NET クライアント ライブラリ

    • Microsoft.ProjectServer.Client.Silverlight.dll アセンブリ内の Silverlight ライブラリ

    • Microsoft.ProjectServer.Client.Phone.dll アセンブリ内の Windows Phone 8 ライブラリ

    • PS.js ファイルまたは PS.debug.js ファイル内の Web アプリケーション用の JavaScript ライブラリ

    • OData プロトコルを使用してアクセスするための REST エンドポイント

    • フィルター処理によって返されるデータ量を制限できる LINQ クエリのネイティブ サポート

  • CSOM は、PROJECT Online ソリューションとオンプレミス ソリューションの両方に使用できます。PSI および他の Project Server アセンブリ (Microsoft.Office.Project.Server.Library.dll など) とは無関係です。

  • Project Server 2013 CSOM の追加機能は、Project Server パートナーと開発者コミュニティによる要求に基づいて、累積的な更新プログラムとサービス パックと見なされる場合があります。

注:

CSOM はサードパーティの Project Server 開発者にお勧めのインターフェイスです。 開発する新しいアプリケーションに必要な機能が CSOM に含まれている場合は、CSOM を使用して開発することをお勧めします。

CSOM を使用した開発の詳細については、「 Project 2013 のクライアント側オブジェクト モデル (CSOM)」を参照してください。 SharePoint アプリケーションの REST インターフェイスの詳細については、SharePoint 2013 開発者向けドキュメントの 「SharePoint REST サービスを使用したプログラミング 」を参照してください。

レポート データベースの変更点

Project Server 2010 の 4 つのデータベースは、Project Server 2013 の 1 つの Project データベースに結合されます。 Project データベースの既定の名前は ProjectService です。 レポート テーブルとビューには以前の名前が保持され、下書きデータベース、発行済みデータベース、アーカイブ データベースのテーブルとビューには、ProjectService データベースに draftpub、および ver のプレフィックスが付いています。 たとえば、発行済みプロジェクト テーブルの名前は pub.MSP_PROJECTS です。

重要

直接アクセスは、ドラフト (draft プレフィックス)、発行済み (pub)、アーカイブ (ver) のテーブルとビューではサポートされていません。 レポートでは、dbo プレフィックスが付いているレポート テーブルおよびビューのみを使用する必要があります。 たとえば、dbo です。MSP_EpmProjectテーブルには、Project Web App インスタンス内のプロジェクトの一覧が含まれています。

Project データベースのテーブルおよびビューには、プログラムによってデータベースに直接アクセスしてデータを更新することを能動的に妨げるものは存在しません。 Project Professional キャッシュ、下書きおよび発行済みデータ テーブル、およびレポート テーブルはすべてがキャッシュ同期プロトコルに依存しているので、直接データを編集すると同期が混乱する可能性があることに注意が必要です。 直接アクセスしてデータを変更することによって、Project Server データベースや Project Professional クライアント側キャッシュが破損した場合、製品サポートは役に立てません。

Project Server 2013 では、オンラインとオンプレミスのアクセスのための OData サービスが導入されています。 オンライン レポート テーブルとビューは、OData インターフェイスによってのみ公開されます。オンプレミスで使用する場合は、OData インターフェイスを使用するか、SharePoint ファームの ProjectService データベース内のレポート テーブルとビューに直接アクセスできます。 Project Online では、マルチテナント データベースはサポートされていません。 つまり、Project Web App の複数のインスタンスには、それぞれ独自の Project データベースがあります。 OData サービスは、レポート テーブルとビューに対して SQL クエリを内部的に実行し、XML または JSON ペイロードを提供します。 Project Server 2013 でレポートを行う OData サービスの概要と、 ProjectData スキーマ リファレンスについては、「 ProjectData - Project OData サービス リファレンス」を参照してください。

OData クエリの一般的な情報については、「 OData: URI 規則」を参照してください。 たとえば、ブラウザーで次のクエリを使用して、プロジェクト名が "Test" で始まる Project Web App のオンプレミス インスタンス内のすべてのプロジェクトを確認できます。 ブラウザーのページを右クリックし、[ソースの表示] をクリックします。

https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true

Excel 2013 でプロジェクト データを PowerPivot にインポートするには、[データ] リボンの [他のソースから] ドロップダウン メニューの [OData データ フィードから] を選択します。 [データ接続ウィザード] ダイアログ ボックスで、データ フィードの場所に「https://ServerName/ProjectServerName/_api/ProjectData/」と入力し、[次へ] を選択し、ウィザードの [テーブルの選択] ページで [プロジェクト] テーブルを選択します。 .odc ファイルに名前を付けて保存し、[完了] をクリックします。 [データのインポート] ダイアログ ボックスで [ピボットテーブル レポート] を選択します。 Excel ワークシートで、表示するピボット テーブルの行と列のフィールドを選択します。

正しいアクセス許可を持つオンプレミスの Project Server ユーザーは、Project Server 2010 と同様に、Microsoft SQL Server を介してレポート テーブルとビューに直接アクセスしてレポートを作成できます。 Project Server 2013 では、ユーザーは OData インターフェイスを使用してオンプレミスのレポート テーブルにアクセスすることもできます。 Project Server のデータは、OData サービス用の REST エンドポイントを使用して、オンラインまたはオンプレミスで取得できます。 たとえば、dbo.MSP_PROJECT テーブルおよび dbo.MSP_EpmProject_UserView ビューをレポートに使用できます。 draftpub、または ver プレフィックスを持つテーブルまたはビューは、Project Server による内部使用専用であり、レポートの使用には使用されません。 たとえば、draft.MSP_TASKS テーブルと pub.MSP_PROJECTS_WORKING_VIEW ビューはドキュメントに記載されておらず、内部使用専用です。

注:

オンプレミス レポートは、別のデータベース内のテーブル、ビュー、フィールド、およびストアド プロシージャを追加して拡張できます。 Project Server データベース内の既存のレポート テーブルやレポート ビューは変更しないでください。

Project データベースのレポート テーブル、ビュー、フィールドは、Project 2013 SDK ダウンロードの後の更新で HTML ヘルプ ファイルに記載されます。 ProjectData サービスの OData XML スキーマのドキュメントについては、「ProjectData - Project OData サービス リファレンス」を参照してください。 Project Server 2010 用に作成されたレポート テーブルとビューのクエリは、ほとんどの場合、Project Server 2013 の Project データベースと連携します。 オンプレミスのユーザーは、現在と同様に SQL Server Analysis Services で Project Server OLAP キューブにアクセスできます。 Project Online では、OLAP キューブは使用できません。

Project の作業ウィンドウ アドイン

Project Standard 2013 と Project Professional 2013 の両方が作業ウィンドウ アドインをサポートしています。このアドインは、Web ページに外部コンテンツを統合して表示するために使用できます。 作業ウィンドウには、JavaScript を介してタスク、リソース、ビュー、および一般的なプロジェクト データにアクセスできる Web ページ コンテンツが表示されます。 Project の JavaScript オブジェクト モデルは、選択したタスクまたはリソースに関する情報を取得でき、ガント チャートなどのビューのグリッド内の選択したセル内のデータを取得できます。 Project の作業ウィンドウ アドインでは、タスク、リソース、またはビューの選択変更イベントのイベント ハンドラーを実装することもできます。

図 2 は、ProjectData サービスに対してクエリを実行し、現在のプロジェクトのデータをすべてのプロジェクトの平均と比較する Hello ProjectData 作業ウィンドウ アドインを示しています。 Project 2013 SDK のダウンロードには、アドインの完全なソース コードが含まれています。

図 2. Project Professional 内の作業ウィンドウ アドインは Project Server 内のデータにアクセスできる

現在のプロジェクトとすべてのプロジェクトを比較

注:

Project Standard 2013 は、作業ウィンドウ アドインを使用して Project Server 2013 と直接統合することはできません。

Project Professional の作業ウィンドウ アドインは、Project Server 2013 用に構築された Web パーツをサポートできるため、開発者は Project Web App と Project Professional の両方で実行される拡張機能を 1 回ビルドできます。 他の Office 2013 製品用に開発された一般的な作業ウィンドウ アドインは、Project Standard 2013 および Project Professional 2013 でも使用できます。 詳細については、「Task pane add-ins for Project」を参照してください。

Project Server イベント レシーバー

バックエンド Project Service Application を含む SharePoint ファームには、複数の Project Web App サーバー (Web フロント エンド サーバーまたは WFE とも呼ばれます) を使用できます。 イベント レシーバーはイベント ハンドラーとも呼ばれます。 ローカル イベント ハンドラーを完全な信頼コードで実装し、Project Server のローカル インストールですべての WFE に展開できます。 リモート イベント レシーバーをローカルまたはリモート サーバーの Web サービスに実装して複数の WFE および複数の Project Server インストールからアクセスできます。 Project Online では、リモート イベント レシーバーのみを使用できます。

Project Server イベント ハンドラーは、特定の Project Web アプリ設定ページではなく、Project Web App インスタンスごとに SharePoint によって管理されます。 SharePoint サーバーの全体管理アプリケーションで、[全般アプリケーション設定] を選択し、[PWA 設定] で [管理] を選択し、[PWA 設定] ページの [Project Web App Instance] ドロップダウン リストでインスタンスを選択します。 ローカル イベント ハンドラーまたはリモート イベント レシーバーを追加するには、[ サーバー側イベント ハンドラー] を選択します。

Project Server のオンプレミスインストールでは、CSOM で Microsoft.ProjectServer.Client.EventHandlerCreationInformation クラスを使用する SharePoint 機能としてリモート イベント レシーバーを作成し、 EventHandlerCollection クラスのメソッドを使用してプログラムによってイベント レシーバーを管理できます。 リモート イベント レシーバーではプレイベントが同期、ポストイベントは非同期であり、リモート イベント レシーバーが制御を返さない場合はタイムアウトが発生します。

注:

SharePoint サーバーの全体管理は、オンプレミス インストールでのみ使用できます。 Project Online と SharePoint Online では、CSOM ベースのアプリ パッケージを使用してリモート イベント レシーバーを追加または削除できます。

[サーバー側イベント ハンドラー] ページで、オンプレミスの Project Server インストール用のローカル イベント ハンドラーを追加するプロセスは、「 Project Server イベント ハンドラーを作成し、Project Server 2010 のイベント トピックをログに記録する」で説明されているプロセスとほぼ同じです。 違いは、[新しいイベント ハンドラー] ページに追加のオプションがある点です。 たとえば、[イベント] ボックスの一覧で [プロジェクトの作成] を選択し、[新しいイベント ハンドラー] を選択します。 [新しいイベント ハンドラー] ページで、必要なフィールドは 名前順序 の 2 つだけです (図 3 を参照)。 ローカルの完全信頼イベント ハンドラーを追加する場合は 、[アセンブリ名] フィールドと [ クラス名 ] フィールドを追加します。 [エンドポイント URL] は 空のままにします。 リモート イベント レシーバーを追加する場合は、[エンドポイント URL] を追加し、[アセンブリ名] と [クラス名] を空のままにします。

注意

アセンブリ名またはクラス名とエンドポイント URL の両方を指定する場合、Project Server は、ローカル (オンプレミス) のイベント ハンドラーのみを呼び出します。 リモート イベント レシーバーは無視されます。

同じイベントに 2 つのイベント ハンドラー (一方のイベント ハンドラーがローカルで、もう一方がリモート イベント レシーバー) を作成する場合、[Order] の値が両方とも同じであれば、Project Server はリモート イベント レシーバーを無視します。

図 3. ローカル イベント ハンドラーまたはリモート イベント レシーバーの追加

イベント ハンドラーまたはイベント レシーバーの構成

ローカル イベント ハンドラーの PSI データセットへのアクセスが必要な場合は、[Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0_71e9bce111e9429c ディレクトリから Microsoft.Office.Project.Schema.dll アセンブリをコピーできます。

PSI の代わりに、 Microsoft.ProjectServer.Client 名前空間でイベント クラスを使用することをお勧めします。CSOM を使用した開発では、データセットの操作は必要ありません。 Project Online のリモート イベント レシーバーを開発するには、CSOM で Event クラスと EventHandlerCreationInformation クラスを使用する必要があります。

Project Server のテスト インストールにイベント ハンドラーをインストールし、十分にテストしてから Project Server イベント ハンドラーを展開してください。 オンプレミスの Project Server インストールの場合、追加したローカル イベント ハンドラーが動作しなくなった場合、Project Server 2013 Events Service は他の有効なカスタム イベント ハンドラーの読み込みに失敗します。 その場合は、問題のあるイベント ハンドラーを削除して Events Service を再起動する必要があります。

注:

オンプレミスの Project Server インストールでイベント レシーバーを開発するには、CSOM を使用してリモート イベント レシーバーに移行することをお勧めします。 リモート イベント レシーバーには Project Server Events Service 内で実行するサードパーティのコードが存在しないため、リモート イベント レシーバーの方が安定しています。 ローカル管理者は、Project Server Events Service のメンテナンスを行う責任が軽減されます。

イベントの一般的な情報については、「 SharePoint 用アプリでのイベントの処理」を参照してください。

推奨されない機能

注:

Project Server 2016 プレビューで非推奨または削除される機能と API の詳細については、「 Project Server 2016 プレビューで非推奨または削除された機能」を参照してください。

非推奨の機能は、一部のソリューションでは Project 2013 で引き続き使用できますが、新しい開発には使用しないでください。 次の機能とプラクティスのほとんどは、Project Online、または SharePoint アクセス許可モードでの Project Server 2013 の既定のオンプレミス インストールでは機能しません。 これらの機能を使用する既存のソリューションは、Project Server 2010 から Project Server 2013 へのアップグレードでは機能しない場合があります。 非推奨の機能を使用するソリューションは引き続き機能する場合がありますが、Project 2013 のすべてのインストールで完全にサポートされているわけではありません。

お客様のソリューションで非推奨になった機能を使用する場合は、展開する前に十分にテストする必要があり、サポートされる機能が実際に使用できるようになり次第サポートされる機能を使用するように変更する必要があります。 Project アクセス許可モードのオンプレミス Project Server 2013 セキュリティの構成の詳細については、「Project Server 2013 の IT 担当者向けの新機能」の「SharePoint アクセス許可モード」セクションを参照してください。

  • 拡張機能PSI 拡張機能のシナリオ は非推奨であり、今後のリリースではサポートされません。 これらのオンプレミスの Project Server 2013 シナリオでは、カスタム Windows Communication Foundation (WCF) サービスを使用して統合が有効になりました。

  • Project PSI PSI の Project クラス は非推奨です。 すべての新しい開発では、Project CSOM を使用してください。 Project PSI を使用する Project Server 2013 アプリは引き続き機能しますが、Project Online アプリでは、Project クラスの PSI メソッドを同等の CSOM メソッドに置き換える必要があります。

  • リソース プラン PSIリソース プラン PSI は非推奨です。 Project 2013 の開発では引き続きサポートされますが、今後のリリースではサポートされません。

  • PSI の ASMX インターフェイス PSI には、オンプレミスの Project Server 拡張機能を開発するための重複するインターフェイスが含まれています。 ASMX Web サービス インターフェイスは、Office Project Server 2007 の PSI の最初の実装で導入されました。 Project Server 2010 では、オブジェクト モデルが基本的に ASMX Web サービスを複製する WCF サービス インターフェイスが追加されました。 Project Server 2013 は ASMX と WCF の両方を引き続きサポートしていますが、PSI を必要とする新しいソリューションでは WCF サービスを使用する必要があります。 可能であれば、新しいソリューションは、CSOM を使用して記述することをお勧めします。

    PSI の ASMX Web サービスは、Project Server 2013 では非推奨になっています。 Project Server の今後のバージョンで機能するために、ASMX Web サービスを使用するソリューションは、WCF サービスまたは CSOM のいずれかを使用して書き換える必要があります。 詳細については、「Project Server programmability」の「Project Server API によるアプリケーションのアップグレード」セクションを参照してください。

  • オブジェクト リンク プロバイダー (OLP) 以前のバージョンの Project Server では、PSI の ObjectLinkProvider サービス ( 「WebSvcObjectLinkProvider 」を参照してください) では、エンタープライズ プロジェクト タスクとプロジェクト サイトの特殊な SharePoint リスト間の Web オブジェクト リンクを管理して、問題、リスク、成果物、ドキュメントを管理できます。 Project Server 2013 では、OLP は非推奨です。

    SharePoint CSOM の RelatedItemManager クラスを使用して、タスク リスト内のアイテムとプロジェクト サイト内の他のリストの間の Web オブジェクト リンクを作成、読み取り、削除できます。 たとえば、タスク項目から問題へのリンクを追加するには、AddSingleLink メソッド、または 2 つの同様のメソッド (AddSingleLinkFromUrl または AddSingleLinkToUrl) のいずれかを使用できます。 RelatedItemManager クラスには、Web オブジェクトのリンクを削除するメソッドと、関連する項目を読み取るメソッドも含まれています。 JSOM (JavaScript オブジェクト モデル) の同等のクラスについては、「SP」を参照してください 。RelatedItemManager オブジェクト (sp.js)

    SharePoint CSOM を使用して、Project Server 2013 のオンプレミス インストール用と Project Online 用の OLP 型アプリを作成することをお勧めします。 Microsoft.SharePoint 名前空間には、RelatedItemManager **** クラスは含まれません。

  • カスタム アクセス許可 特定の Project Server の機能または拡張機能にアクセスするためのカスタム セキュリティアクセス許可は、Office Project Server 2007 でサポートされていました。SDK の記事では、発行済みデータベースを直接変更して作成する方法について説明しました。 Project Server 2010 では、カスタム アクセス許可は引き続き機能しますが、非推奨です。 Project Server 2013 では、オンプレミスインストールの既定の SharePoint アクセス許可モードでは、カスタムアクセス許可は機能しません。 プロジェクトのアクセス許可モードでは、カスタムアクセス許可がサポートされています。 Project Online では、データベースへの直接アクセスはできません。

  • ものまね アプリのユーザーが別の Project Server ユーザーのセキュリティ アクセス許可を想定できる PSI ベースのアプリの偽装は、Project Server 2013 では非推奨になりました。 既に示したように、既定のオンプレミス Project Server 2013 インストールでは SharePoint アクセス許可モードが使用されます。これは、Project Server セキュリティ グループでの偽装を許可しません。 詳細については、「Authentication, authorization, and security in SharePoint 2013」を参照してください。

    ステータス アプリケーションは、以前のバージョンの Project Server で偽装を使用した可能性がある一般的な拡張機能です。 Project Server 2010 では 、ReadStatusForResource メソッドと SubmitStatusForResource メソッドが PSI に導入され、 StatusBrokerPermission グローバル アクセス許可が導入されました。これにより、別のユーザーに代わって状態を読み取りおよび更新するための偽装の必要がなくなります。 Project Server 2013 の CSOM では、基になる PSI を使用して状態拡張機能を透過的に有効にし、Project Online またはオンプレミスのインストールで使用できます。

  • レポート データベース拡張機能 以前のバージョンの Project Server では、レポート データベースにカスタム テーブルとビューを追加するのが一般的です。 Project Server 2013 は以前のバージョンの 4 つのデータベースを 1 つのデータベースに結合するため、アップグレードでは、カスタム テーブル、ビュー、SPROC は Project Server 2013 データベースのレポート テーブルに転送されません。

    データベースのバックアップと更新を管理できるカスタム レポート テーブルとビューには、SQL Azure または別の SQL Server データベースを使用することをお勧めします。 Project Online の場合は、これが必要です。

  • 報告 Project Server データベースと OLAP キューブ内のローカル レポート テーブルとビューは非推奨 ではなく 、完全にサポートされたままです。 ただし、Project Online では、レポート テーブルとビュー (以前の Project Server バージョンのレポート データベース) にはアクセスできません。 同様に、OLAP キューブは、Project Server 2013 のオンプレミス インストールでのみ使用できます。 Project Online を使用してアプリケーションをレポートする場合は、OData プロトコルを使用した REST クエリを使用して ProjectData サービスを使用できます。

  • プロジェクト ガイド プロジェクト ガイドは、Office Project 2007 デスクトップ アプリケーションの標準機能です。作業ウィンドウの HTML と JavaScript コンテンツでは、プロジェクトを作成および管理するための対話型ガイダンスが提供されます。 Project 2010 では、プロジェクト ガイドは既定のインストールでは使用できませんが、VBA または VSTO アドインを使用して有効にすることができます。 Project 2010 SDK のダウンロードには、変更されたプロジェクト ガイド ファイルが含まれています。

    Project 2013 の VBA オブジェクト モデルと Microsoft.Office.Interop.MSProject オブジェクト モデルには、 プロジェクト ガイドを管理できる Application クラスと Project クラスの 22 人のメンバーがまだ含まれています。 ただし、Project 2013 作業ウィンドウ アプリは、プロジェクト ガイド作業ウィンドウ内のアクションと競合する可能性があり、プロジェクト ガイドの内容を Office ストアで簡単に配布または販売することはできません。 カスタム プロジェクト ガイド コンテンツではなく、Office アドインを使用して Project 作業ウィンドウ ソリューションを開発することを強くお勧めします。 プロジェクト ガイドの詳細については、 Project 2010 SDK ドキュメントを参照してください

オンプレミスの Project Server と Project Online との比較

オンプレミスの Project Server と Project Online のどちらを使用するか、どちらの場合に開発できる拡張機能の種類を決定するために、表 2 では Project Server 2013 と Project Online のオンプレミス インストールの拡張可能な機能を比較します。 この表 2 には、開発、管理、または使用法の相違点は記載していません。 Project Online と Project Server 2013 の詳細については、「 Project 2013 for developers andProject Online」を参照してください。

表 2. オンプレミスの Project Server と Project Online の拡張性

機能 オンプレミスの Project Server Project Online
プログラミング
CSOM ベースのアプリ (一貫性のあるプログラミング モデル)
- .NET、Silverlight、Windows Phone クライアント ライブラリ
- カスタム ページ、Web パーツ、リボン拡張機能用の JavaScript ライブラリ
- OData プロトコルと REST プロトコル

PSI ベースのアプリ (複雑なプログラミング モデル) では、管理、ポートフォリオ分析、通知、Project のモードのセキュリティ、キュー システム、およびその他の領域用アプリも作成できます。

PSI の拡張機能

Project モードのセキュリティを含むユーザー設定のアクセス許可 (非推奨)

PSI による偽装 (非推奨)

完全信頼コード、SharePoint ファームへの機能拡張のインストール
CSOM ベースのアプリ (一貫性のあるプログラミング モデル)
- .NET、Silverlight、Windows Phone クライアント ライブラリ
- カスタム ページ、Web パーツ、リボン拡張機能用の JavaScript ライブラリ
- OData プロトコルと REST プロトコル

PSI を使用できますが、サポートされていません。OAuth 接続とサービス間接続はありません

CSOM API の拡張機能はありません

ユーザー設定のアクセス許可はありません

偽装はありません

完全信頼コードはありません
カスタム データベース
- SQL Azure
- SQL Server (Project Server データベース内のレポート テーブルとビューの変更はサポートされていません)
- SQL Azure
- SQL Server (Project Server データベース内のレポート テーブルとビューの変更はサポートされていません)
レポート
- ProjectData サービス。OData プロトコルと REST プロトコル
- Project Server データベースのレポート テーブルとビュー
- OLAP データベース
- ProjectData サービス。OData プロトコルと REST プロトコル
イベント ハンドラー
- WCF エンドポイントを介してアクセス可能なリモート イベント レシーバー
- SharePoint ファームにインストールされている完全信頼イベント ハンドラー
- WCF エンドポイントを介してアクセス可能なリモート イベント レシーバー
ワークフロー
SharePoint Designer 2013 で作成された宣言型ワークフロー
- 特定の Project Web App インスタンスでのみ使用する
- Visio 2013 からワークフロー デザインをインポートできます
- カスタム アクションをインポートして使用できます

Visual Studio 2012 で作成された宣言型ワークフロー
- ワークフローを含めることができるアプリを作成する
- ワークフローを含めることができる SharePoint ソリューション パッケージ (.wsp) を作成する
- 再利用するワークフロー テンプレートを作成する
- カスタム アクションを作成して使用する

WF3.5 で作成された従来のコンパイル済みワークフローを使用できます (宣言型の WF4 ワークフローへのアップグレードをお勧めします)
SharePoint Designer 2013 で作成された宣言型ワークフロー
- 特定の Project Web App インスタンスでのみ使用する
- Visio 2013 からワークフロー デザインをインポートできます
- カスタム アクションをインポートして使用できます

Visual Studio 2012 で作成された宣言型ワークフロー
- ワークフローを含めることができるアプリを作成する
- ワークフローを含めることができる SharePoint ソリューション パッケージ (.wsp) を作成する
- 再利用するワークフロー テンプレートを作成する
- カスタム アクションを作成して使用する
配布
- Office ストア (CSOM ベースのアプリの場合)
- SharePoint のプライベート アプリ カタログ
- イントラネット ファイル共有
- Office ストア
- SharePoint のプライベート アプリ カタログ

まとめ

Project Server 2013 には、パートナーや顧客が大企業や小規模組織の Project Server の機能と有用性を適応および拡張するために使用できる、豊富な新しい開発機能とシナリオが用意されています。 Office 2013 と SharePoint 2013 のインフラストラクチャを使用すると、Project 2013 用のアプリを作成して配布し、カスタム アプリケーションの市場性と使用を大幅に拡張できます。 以前のバージョンの機能拡張機能とプラクティスの一部は、Project 2013、特に PSI の ASMX Web サービスと、権限借用または直接データベースの変更を伴う機能 (Project Online では使用できない) で非推奨になっています。

CSOM の導入により、さまざまなデバイスや Web アプリケーションで JavaScript を使用して Project Online にプログラムでアクセスできます。 CSOM は PSI より一貫性に優れたプログラミング モデルです。 Project Server データへのアクセス方法も、オンライン OData サービスを使用する方法や Project データベース内のレポート データ用 REST インターフェイスを使用する方法など、以前のバージョンより多様になりました。 既存のレポートは今後もオンプレミスでの利用の場合と同様の方法で使用できますが、新しいレポートはさらに柔軟性が向上しています。

Office アドインは、ソリューションを販売し、Project Standard 2013 を Web コンテンツやその他の Office 2013 製品と統合するための新しい手段を提供します。 また、Project Professional 2013 と Project Server データと SharePoint リストを統合する新しい方法を、作業ウィンドウ Office アドインを使用して作成することもできます。

アプリの開発と、プログラミング機能と SharePoint Server 2013 の CSOM の使用の詳細については、「 開発者向け SharePoint と開発者向けOffice」を参照してください。

関連項目