用于自定义 PerformancePoint Services 对象的编辑器

上次修改时间: 2015年3月9日

在 Microsoft SharePoint Server 2010 中的 PerformancePoint Services 中,自定义编辑器的主要作用是允许用户设置自定义对象的属性。自定义对象是为属性定义了自定义值的本机 ReportView 对象、Filter 对象或 DataSource 对象。

本文内容
提供对象属性编辑控件
与存储库对象进行交互
与仪表板设计器集成

编辑器通常作为 ASPX 页面在前端 Web 服务器上的 PerformancePoint Services 应用程序实例中运行。在 PerformancePoint Services 应用程序实例和 SharePoint 进程中运行的 Web 应用程序位于 /_layouts 虚拟目录中,默认情况下安装在 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE 路径的 LAYOUTS 文件夹中。

适用范围: SharePoint Server 2010

备注

编辑器是自定义报表、筛选器或数据源扩展的一个组件,仅当扩展需要通过用户界面来设置属性时才需要编辑器。有关其他扩展组件的信息,请参阅使用 PerformancePoint Services 的开发方案

为了使用户能够设置自定义对象的属性,编辑器提供了编辑控件并且可以与库中的对象交互。

提供对象属性编辑控件

编辑器通过编辑控件定义自定义对象的属性并公开这些属性。您的编辑器应该公开您要允许用户查看和修改的属性。有关使 ASP.NET 控件可供报表编辑器使用的方法示例,请参阅如何:为 PerformancePoint Services 报告创建编辑器中的 CreateChildControls 方法。

备注

PerformancePoint 仪表板设计器 在自定义对象的"属性"选项卡中提供与自定义对象的 Name 属性、Description 属性和 Owner(负责人)属性相对应的控件。

建议您使用自定义对象示例作为自定义编辑器的模板。示例编辑器在 ASPX 页的 HTML 标记中定义 ASP.NET 控件,这种做法遵循了在 DLL 中编译的类中而不是 ASP.NET 开发中使用的代码隐藏类中定义业务逻辑的 SharePoint 开发实践。该示例还演示如何调用 Microsoft.PerformancePoint.Scorecards.Client DLL 中的对象。

与存储库对象进行交互

编辑器(及其他自定义 Web 应用程序)在前端 Web 服务器上的 PerformancePoint Services 应用程序实例中运行,并使用 PerformancePoint Services API 中的 BIMonitoringServiceApplicationProxy 对象和 SPDataStore 对象,按如下方式执行 CreateReadUpdateDelete (CRUD) 任务:

建议您使用自定义对象示例中附带的帮助程序对象对库执行操作,而不是直接从编辑器调用 BIMonitoringServiceApplicationProxySPDataStore 对象。

备注

远程调用 PerformancePoint Web 服务 不是正式支持的开发方案,不在本文档的讨论范围内。

您的编辑器无需提供用于创建对象的逻辑,因为默认情况下配置了仪表板设计器来创建自定义对象。但是,可以允许用户在不使用仪表板设计器的情况下创建对象。有关详细信息,请参阅在仪表板设计器之外创建对象。此外,可以从仪表板设计器和库中删除自定义对象,因此还可以提供用于从编辑器中删除对象的逻辑。

与仪表板设计器集成

要集成到仪表板设计器创作体验中,您的编辑器必须能够从统一资源标识符 (URI) 打开,并且必须在 PerformancePoint Services web.config 文件中为自定义对象注册该 URI。

为了创建自定义对象,仪表板设计器从 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 请求的操作

例如,要发送来自库中某一项目的 Create 请求,可以添加菜单项和用于将 CreateItem 请求从该项目发送到编辑器的操作。PerformancePoint Services 在以下路径中存储自定义操作:%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Template\Features\PPSWorkspaceCtype。有关添加自定义菜单项的详细信息,请参阅如何:使用自定义操作修改用户界面

请参阅

其他资源

为 PerformancePoint Services 创建自定义对象

PerformancePoint Services 的基础

SharePoint Server 2010 中的 PerformancePoint Services 的代码示例