次の方法で共有


カスタム PerformancePoint Services オブジェクトのエディター

最終更新日: 2011年8月30日

適用対象: SharePoint Server 2010

この記事の内容
オブジェクト プロパティ用の編集コントロールの提供
リポジトリ オブジェクトの操作
ダッシュボード デザイナーとの統合

Microsoft SharePoint Server 2010 の PerformancePoint Services では、カスタム エディターの主要な機能は、ユーザーがカスタム オブジェクトにプロパティを設定できるようにすることです。カスタム オブジェクトとは、ネイティブな ReportView オブジェクト、Filter オブジェクト、またはプロパティにカスタム値が定義されている DataSource オブジェクトです。

エディターは、通常、フロントエンド Web サーバー上の PerformancePoint Services アプリケーション インスタンス内で ASPX ページとして実行されます。PerformancePoint Services アプリケーション インスタンス内および SharePoint プロセス内で実行する Web アプリケーションは、/_layouts 仮想ディレクトリに配置され、既定でパス %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE の LAYOUTS フォルダーにインストールされます。

適用先: PerformancePoint Services for SharePoint Server (Enterprise バージョン)

注意

エディターはカスタム レポート、フィルター、またはデータ ソースの拡張機能の 1 つのコンポーネントであり、拡張機能でプロパティを設定するためのユーザー インターフェイスが必要な場合にのみ必要になります。拡張機能の他のコンポーネントについては、「PerformancePoint Services での開発シナリオ」を参照してください。

ユーザーがカスタム オブジェクトのプロパティを設定できるように、エディターでは編集用のコントロールが提供され、リポジトリ内のオブジェクトが操作されます。

オブジェクト プロパティ用の編集コントロールの提供

エディターでは、カスタム オブジェクトのプロパティが定義されており、編集コントロールを通してプロパティが提供されます。作成するエディターでは、ユーザーが表示および変更できるようにするプロパティを提供する必要があります。ASP.NET のコントロールをレポート エディターで使用できるようにする方法の例については、「[方法] PerformancePoint Services レポートのエディターを作成する」の CreateChildControls を参照してください。

注意

PerformancePoint ダッシュボード デザイナーには、[プロパティ] タブに表示されるカスタム オブジェクトの Name プロパティ、Description プロパティ、および Owner (Person Responsible) プロパティのためにコントロールが用意されています。

カスタム エディターのテンプレートとして、カスタム オブジェクト サンプルを使用することをお勧めします。サンプルのエディターでは、ASP.NET の開発で使用される分離コード クラスではなく、DLL にコンパイルされるクラスでビジネス ロジックを定義する SharePoint の開発手法に従って、ASP.NET コントロールを ASPX ページの HTML マークアップで定義しています。また、サンプルでは、Microsoft.PerformancePoint.Scorecards.Client DLL のオブジェクトを呼び出す方法も示されています。

リポジトリ オブジェクトの操作

エディター (および他のカスタム アプリケーション) は、フロントエンド Web サーバー上の PerformancePoint Services アプリケーション インスタンス内で動作し、PerformancePoint Services API の BIMonitoringServiceApplicationProxy オブジェクトおよび SPDataStore オブジェクトを使用して、作成 (Creat)読み取り (Read)更新 (Update)削除 (Delete) (CRUD) の各タスクを次のように実行します。

  • カスタム データ ソース オブジェクトの場合、BIMonitoringServiceApplicationProxy クラスを使用して、作成および更新のタスクを実行します。これにより、これらのタスクを PerformancePoint Services サービス アプリケーションのコンテキストで実行できます。読み取り (get) および削除タスクは、BIMonitoringServiceApplicationProxy または SPDataStore を使用して実行できます (アプリケーション サーバー上で実行されるカスタム アプリケーションは、SPDataStore を直接呼び出すことができます)。

  • カスタム レポートおよびフィルター オブジェクトの場合は、SPDataStore クラスを使用します。

エディターから BIMonitoringServiceApplicationProxy オブジェクトおよび SPDataStore オブジェクトを直接呼び出すのではなく、カスタム オブジェクト サンプルに含まれるヘルパー オブジェクトを使用して、リポジトリに対する操作を実行することをお勧めします。

注意

PerformancePoint Web サービス のリモート呼び出しは正式にサポートされている開発シナリオではないので、このドキュメントでは説明しません。

ダッシュボード デザイナーは既定でカスタム オブジェクトを作成するように構成されているので、作成するエディターではオブジェクトを作成するためのロジックを用意する必要はありません。ただし、ダッシュボード デザイナーを使用しないで、ユーザーがオブジェクトを作成できるようにすることもできます。詳細については、「ダッシュボード デザイナーを使用しないオブジェクトの作成」を参照してください。また、カスタム オブジェクトはダッシュボード デザイナーおよびリポジトリから削除できるので、エディターからオブジェクトを削除するためのロジックも省略できます。

ダッシュボード デザイナーとの統合

ダッシュボード デザイナーの作成環境に統合するには、エディターを URI (Uniform Resource Identifier) から開くことができるようにして、URI を PerformancePoint Services の web.config ファイルでカスタム オブジェクト用に登録する必要があります。

カスタム オブジェクトを作成するため、ダッシュボード デザイナーはオブジェクトのメタデータを PerformancePoint Services の web.config ファイルから取得した後、PerformancePoint Services リポジトリにオブジェクトをコンテンツ タイプとして作成します。データ ソースは SharePoint ドキュメント ライブラリに作成され、レポート オブジェクトとフィルター オブジェクトは SharePoint リストに作成されます。カスタム オブジェクトを作成した後、ダッシュボード デザイナー はエディターへのリンクを表示します。

PerformancePoint Services は次のプロセスを使用してカスタム エディターを開きます。

  1. ユーザーがダッシュボード デザイナー (またはリポジトリのコンテンツ タイプ) からカスタム オブジェクトを編集しようとすると、クエリ文字列が Web サーバー コントロールに渡されます。クエリ文字列では、リポジトリ内でのオブジェクトの場所が提供されます。

  2. Web サーバー コントロールはオブジェクトに問い合わせて、そのタイプとサブタイプを識別します。オブジェクトのサブタイプは、オブジェクトがネイティブかカスタムかを示します。

  3. オブジェクトがカスタムの場合、Web サーバー コントロールは PerformancePoint Services の web.config ファイルでオブジェクトのエディターの URI を検索します。

  4. Web サーバー コントロールは、クエリ文字列パラメーターをエディターのパスに追加してから、エディターを開きます。

注意

カスタム エディターで最近行われた変更を表示するには、ユーザーはダッシュボード デザイナー セッションを更新する必要があります。

クエリ文字列パラメーター

PerformancePoint Services は、カスタム エディターを開くときに、エディターの URI にクエリ文字列パラメーターを追加します。次の表でパラメーターについて説明します。

表 1. クエリ文字列パラメーター

パラメーター

説明

Operation=

エディターが実行する操作。リポジトリからオブジェクトを取得する OpenItem、またはリポジトリにオブジェクトを作成する CreateItem。

例: ?Operation=OpenItem

SiteCollection=

サイト コレクションの URL。

例: &SiteCollection=http://ProductionServer

ItemLocation=

PerformancePoint Services リポジトリ内での最初のクラス オブジェクトの場所。データ ソース オブジェクトは PerformancePoint データ接続ライブラリなどのドキュメント ライブラリに格納され、他のすべてのオブジェクトは PerformancePoint コンテンツ リストなどのリストに格納されます。

例: &ItemLocation=/Lists/PerformancePoint%20Content/39_.000

PerformancePoint Services の web.config ファイルでは、エディター用のカスタム静的パラメーターを指定できます。静的パラメーターは、エディターが開かれるたびに、定義済みの値をエディターに渡します。エディターの登録の詳細については、「[方法] PerformancePoint Services の拡張機能を手動で登録する」を参照してください。

または、クエリ文字列を使用する代わりに、PerformancePoint Services オブジェクト モデルの対応する定数を使用して、これらのパラメーターを参照することもできます。この定数は、ClickOnceLaunchKeys クラス (Microsoft.PerformancePoint.Scorecards.Client DLL の Microsoft.PerformancePoint.Scorecards 名前空間内) の LaunchOperation、SiteCollectionUrl および ItemLocation フィールドによって表されます。

注意

PerformancePoint Services は SiteLocation= パラメーターも追加しますが、これはカスタム拡張機能には関係ありません。

ダッシュボード デザイナーを使用しないオブジェクトの作成

既定では、ユーザーはダッシュボード デザイナーからのみカスタム オブジェクトを作成できます。ダッシュボード デザイナーはカスタム エディターを使用しないでカスタム オブジェクトを作成するので、OpenItem 要求のみをカスタム エディターに送信します。

ユーザーがダッシュボード デザイナーを使用しないでオブジェクトを作成できるようにするには、次の機能を提供する必要があります。

  • オブジェクトを作成するためのエディター コードのロジック

  • エディターに CreateItem 要求を送信するアクション

たとえば、リポジトリ内のアイテムから作成要求を送信するには、メニュー項目と、アイテムからエディターに CreateItem 要求を送信するアクションを追加します。PerformancePoint Services は、カスタム アクションを %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Template\Features\PPSWorkspaceCtype というパスに格納します。カスタム メニュー項目の追加の詳細については、「[方法] カスタム アクションを使用してユーザー インターフェイスを変更する」を参照してください。

関連項目

その他の技術情報

PerformancePoint Services のカスタム オブジェクトを作成する

PerformancePoint Services の基礎知識

SharePoint Server 2010 の PerformancePoint Services のコード例