使用 Business Connectivity Services 创建中间声明性 Outlook 解决方案

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

适用范围: SharePoint Server 2010

本文内容
简单与声明性 Outlook 解决方案的功能
您可以执行哪些种类的自定义?
如何创建中间声明性 Outlook 解决方案?
中间声明性 Outlook 解决方案是如何工作的?
中间声明性 Outlook 解决方案的组件
推荐的创建声明性 Outlook 解决方案的方法
创建中间声明性 Outlook 解决方案的工具

利用 Microsoft Business Connectivity Services (BCS),信息工作者可通过使外部列表脱机,在 Microsoft Outlook 2010 中将外部内容类型(例如客户、员工或订单)显示为本机 Outlook 项目类型(例如联系人项目、任务、公告或约会)。此类解决方案称为简单解决方案,简单解决方案依赖 Microsoft Office 2010 和 Microsoft SharePoint 2010 的本机功能。

不过,简单解决方案只支持极少或根本不支持自定义设置。另外,Business Connectivity Services 不提供针对简单解决方案的可扩展编程模型。不过,如果您需要在 Outlook 中创建自定义解决方案,则可以创建中间声明性 Outlook 解决方案。此类型的解决方案特定于此版本的 Business Connectivity Services 中的 Outlook 2010。

简单与声明性 Outlook 解决方案的功能

下表列出了简单与中间声明性 Outlook 解决方案的功能。

表 1. 简单与声明性 Outlook 解决方案

功能

简单 Outlook 解决方案

中间声明性 Outlook 解决方案

解决方案中的外部内容类型的数量

一个

可包括多个。

操作和功能区

Business Connectivity Services 提供的默认功能区和操作。

可包括自定义功能区和操作。

显示相关外部内容类型

无法在任务窗格中显示有关外部内容类型的相关信息。

不过,请注意,如果您定义关联,则 Business Connectivity Services 可以提供外部项选取器控件来使用户能够在目标外部内容类型中选取源外部项。

可通过定义自定义功能区和任务窗格来显示相关信息。

在 Outlook 中自定义视图

用户可在 Outlook 中自定义视图并导出视图定义。

开发人员可在解决方案中包括自定义视图定义,以便为安装该解决方案的所有用户默认在该自定义视图中显示外部数据。

自定义窗体区域

Business Connectivity Services 提供的默认窗体区域只能包含 Outlook 控件。无法将它们自定义为包含外部数据部件以在 Outlook 中显示外部数据。

可以创建和自定义包含外部数据部件的窗体区域以在 Outlook 中显示外部数据。

您可以执行哪些种类的自定义?

通过中间声明性 Outlook 解决方案,您可以执行以下操作:

  • 在 Outlook 任务窗格中显示本机或自定义外部数据部件  您可以通过在任务窗格中承载外部数据部件(Business Connectivity Services 提供的那些外部数据部件或开发人员创建的自定义外部数据部件)来定义自定义任务窗格并向用户显示外部数据。

  • 包括自定义功能区和操作  您可以定义在功能区或外部数据部件中公开的功能区文件和自定义操作,从而触发代码或启动浏览器(指向可采用 Business Data Connectivity (BDC) Service 字段作为参数的指定 URL)。操作可基于 URL,也可指向开发人员创建的代码操作。

  • 在 Outlook 中创建自定义视图定义  从基本 Outlook 元素开始,您可以自定义为外部数据的文件夹显示的视图。Business Connectivity Services 提供了一条命令来将自定义视图另存为 Outlook 视图定义 (.ovd) 文件,以便安装声明性解决方案的用户可以使用该自定义视图。

  • 自定义 Outlook 窗体区域以在 Outlook 中显示外部数据  您可以通过在 Outlook 中设计新窗体区域来创建显示外部数据的自定义 Outlook 窗体区域。

如何创建中间声明性 Outlook 解决方案?

通过创建以下项目来创建中间声明性 Outlook 解决方案:BDC 模型、解决方案清单 (OIR.config)、对每种外部内容类型的订阅,以及(可选)自定义功能区、一种或多种任务窗格布局、自定义窗体区域和自定义 Outlook 视图定义。然后,可使用 BCS 解决方案打包工具(该链接可能指向英文页面)将这些解决方案项目打包到 Visual Studio 2010 中的 Office 开发工具 ClickOnce 包中。打包解决方案项目后,用户可以在 Outlook 中安装该包。

也可以首先创建 BDC 模型,然后使用 BCS 项目生成器工具(该链接可能指向英文页面)来基于 BDC 模型生成项目文件。生成项目后,使用 BCS 解决方案打包工具(该链接可能指向英文页面)将解决方案打包到 Visual Studio 2010 中的 Office 开发工具 ClickOnce 包中。

中间声明性 Outlook 解决方案是如何工作的?

中间声明性 Outlook 解决方案利用 Business Connectivity Services 客户端运行时来解释解决方案项目并通知运行时要显示哪些外部数据、从哪里显示它、如何显示它以及哪些用户可以使用它。客户端上的 Business Connectivity Services 客户端缓存维护元数据和用户关注的缓存外部内容类型。声明性解决方案使用在运行时在 Outlook 中显示解决方案项目中定义的元素的本机 Business Connectivity ServicesOutlook 加载项。此体系结构使有经验的用户和开发人员能够专注于解决业务需求,而非管理与 Outlook 和 Business Connectivity Services API 进行交互以执行常见和重复任务的复杂性。

中间声明性 Outlook 解决方案的组件

表 2 描述了中间声明性 Outlook 解决方案的典型组件、解决方案中允许的每种组件的数量以及每种组件的用途。

表 2. 中间声明性 Outlook 解决方案的组件

组件

文件名

允许的数量

说明

BDC 模型

必须命名为 metadata.bdcmmetadata.xml

每个解决方案一个。必需。

定义所有外部内容类型及其关联。

缓存订阅文件

必须命名为 *Subscription.xml。例如,CustomerSubscription.xmlOrderSubscription.xml

解决方案中的每个外部内容类型一个。必需。

定义如何填充 Business Connectivity Services 客户端缓存。

Outlook 视图定义文件

*.ovd

零个或多个。

在 Outlook 中定义自定义视图。

Outlook 窗体存储文件

*.ofs

零个或多个。

Outlook 窗体区域文件。

窗体区域清单

*.manifest.xml

零个或多个。但如果存在窗体区域 (*.ofs),则是必需的。

通知 Outlook 要加载哪个窗体区域文件的清单文件。

解决方案清单

必须为 OIR.config。

每个解决方案一个。必需。

介绍解决方案的解决方案清单。

功能区文件

*.xml

每个解决方案一个。

Outlook 功能区文件。

布局文件

*.xml

零个或多个。每个任务窗格一个。

定义任务窗格中将显示的控件、它们应填充哪些外部内容类型以及控件公开的任何其他自定义属性。

自定义程序集

*.dll

零个或多个。

如果解决方案引用任何可重用 Business Connectivity Services 代码组件,例如自定义代码操作、自定义外部数据部件或自定义功能区管理器。

图标

*.ico 或图形文件格式,例如 *.png 或 *.jpg。

零个或多个

显示在 Outlook 用户界面中。

InfoPath 表单

*.xsn

零个或多个

用于在 Microsoft InfoPath 表单中显示外部数据。

推荐的创建声明性 Outlook 解决方案的方法

创建中间声明性 Outlook 解决方案包括生成所需的解决方案项目文件和将项目打包到 ClickOnce 包中。您可以采用以下方式创建解决方案项目文件:

  • 工具方法 - 您可以使用 BCS 项目生成器工具(该链接可能指向英文页面)来生成 XML 项目文件。此工具需要 BDC 模型文件,您必须已首先使用 SharePoint Designer 或 XML 编辑器创建了该文件。

  • 手动方法 - 您可以使用 XML 编辑器手动创作 XML 项目文件。

采用以下方法,通过 Business Connectivity Services 来创建中间声明性 Outlook 解决方案:

  1. 创建一个 BDC 模型来定义解决方案中使用的外部内容类型及其关联,然后将它另存为 metadata.bdcm(请参阅步骤 1:创建 BDC 模型 (Metadata.bdcm))。该主题还介绍为解决方案从头创建 BDC 模型的快捷方式,而无需编写所有 XML。

  2. 使用此 SDK 中提供的模板创建解决方案中使用的每个外部内容类型的缓存订阅,然后将它们另存为以下格式的 XML 文件:"<ExternalContentTypeName>Subscription.xml";例如 OrderSubscription.xml 或 CustomerSubscription.xml。请参阅步骤 2:创建缓存订阅 (*Subscription.xml)

  3. 使用 BCS 项目生成器工具(该链接可能指向英文页面)或此 SDK 中提供的模板来创建解决方案清单 (OIR.config) 以提供常规解决方案设置、Outlook 文件夹信息和属性映射。让 Business Connectivity Services 自动生成表单区域来显示无法映射到 Outlook 属性的属性。请参阅步骤 3:创建解决方案清单文件 (OIR.config)

  4. 使用 BCS 解决方案打包工具(该链接可能指向英文页面)将项目打包到 ClickOnce 包中。然后,安装该包并在 Outlook 中测试解决方案。请参阅步骤 4:打包和部署声明性 Outlook 解决方案

  5. 如果基本功能按预期运行,请根据需要使用以下一种或多种自定义设置来扩展解决方案:

    1. 创建自定义 Outlook 窗体区域 (*.ofs)。请参阅步骤 5(可选):创建 Outlook 窗体区域 (*.ofs) 和窗体区域清单 (FormRegionManifest.xml)

    2. 创建自定义 Outlook 视图定义 (*.ovd)。请参阅步骤 6(可选):创建自定义 Outlook 视图定义 (*.ovd)

    3. 创建任务窗格布局 (*.xml)。请参阅步骤 7(可选):在 Outlook 任务窗格中显示外部数据部件 (Layout.xml)

    4. 定义自定义功能区和操作(ribbon.xml、OIR.config)。请参阅步骤 8(可选):定义功能区和操作 (Ribbon.xml)

  6. 打包项目,在 Outlook 中部署该包,然后重新测试解决方案。

创建中间声明性 Outlook 解决方案的工具

您可以使用各种工具来生成中间声明性 Outlook 解决方案,其中包括 SharePoint Designer(针对 BDC 模型)和 Outlook(针对自定义窗体区域和视图定义)。若要创建 Outlook 声明性解决方案需要的 XML 文件,可以使用任何 XML 编辑器。Visual Studio 可提供 IntelliSense,在创建 XML 文件时它很有帮助。在本演练过程中提供了示例和模板以帮助您入门。您也可以使用 BCS 项目生成器工具(该链接可能指向英文页面)来生成 XML 项目文件,但 BDC 模型除外(必须已首先使用 SharePoint Designer 或 XML 编辑器创建它)。

您可以使用 BCS 解决方案打包工具(该链接可能指向英文页面)来为 Outlook 声明性解决方案创建 ClickOnce 包。

请参阅

概念

用于创建中间声明性 Outlook 解决方案的有用资源

演练:创建中间声明性 Outlook 解决方案

演练:在声明性解决方案中使用 BCS 可重用代码组件

演练:将中间声明性 Outlook 解决方案本地化为其他语言

常见问题:声明性 Outlook 解决方案

其他资源

用于中间声明性 Outlook 解决方案的模板

中间声明性 Outlook 示例解决方案项目