步骤 5(可选):创建 Outlook 窗体区域 (*.ofs) 和窗体区域清单 (FormRegionManifest.xml)

Microsoft Outlook 窗体区域文件包含来自外部数据源的未映射属性(字段)的布局。此窗体区域文件与窗体区域清单文件搭配使用,后者包含 Outlook 加载窗体区域时所需的信息。

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

适用范围: SharePoint Server 2010

为了实现简单的解决方案,默认情况下 Microsoft Business Connectivity Services (BCS) 会创建一个窗体区域来显示外部数据源中的其他未映射的字段。这些内容在 Outlook 检查器的相邻窗体区域中显示为 Business Connectivity Services 扩展属性(如果这些字段的数量少于或等于五),而如果这些字段的数量大于五,则会显示在单独的窗体区域中。在中间声明性 Outlook 解决方案中,您可以指定希望将未映射的字段显示在窗体区域清单文件中的位置。表 1 介绍了 Outlook 窗体区域(其中包含未映射的字段)可在 Outlook 中显示的不同位置。

表 1. Outlook 窗体区域的位置

窗体区域位置

说明

独立

将窗体区域添加为 Outlook 窗体中的新页面。

相邻

将窗体区域追加到 Outlook 窗体默认页面的底部。

替换

将窗体的默认页面替换为指定的 Outlook 窗体存储 (.ofs) 文件。

全部替换

将窗体替换为指定的 Outlook 窗体存储 (.ofs) 文件。

如果您在中间声明性 Outlook 解决方案中需要一个自定义窗体区域,请创建一个 Outlook 窗体存储文件 (*.ofs),其中包含来自外部数据源的未映射属性(字段)的布局。还必须创建一个窗体区域清单文件,该文件包含 Outlook 加载窗体区域时所需的信息。有关窗体区域 XML 架构的详细信息,请下载 Office 2010 参考:Office Fluent 用户界面 XML 架构,并请参阅"窗体区域清单"和"窗体区域本地化清单"两节。

在 Outlook 中创建窗体区域

  1. 在 Outlook 的"文件"菜单中,单击"选项",单击"自定义功能区",然后在"主选项卡"下,选中"开发工具"复选框。这会将"开发工具"选项卡添加到功能区中。

  2. 在"开发工具"选项卡的"自定义窗体"组中,单击"设计窗体"。然后,选择一个设计窗体,具体取决于 Outlook 项目类型(此情形中为"联系人")。在"设计"组中,单击"新建窗体区域"。

  3. 在"工具"组中,单击"控件工具箱"。

  4. 从"工具箱"窗口中,将所需的控件拖动到窗体区域(对于该示例,从一个文本框开始)。

  5. 右键单击该控件,然后单击"属性"。

  6. 在"属性"对话框的"值"选项卡的"选择字段"旁边,单击"新建"。

  7. 在"新列"对话框的"名称"字段中,在解决方案清单 (OIR.config) 的 OfficeItemProperty 字段中键入 PropertyName 属性的名称,并选择匹配类型(如"整数"或"日期/时间")。单击"确定"关闭该对话框。

  8. 单击"确定"关闭"属性"对话框。

  9. 以同样的方式添加所需的所有其他属性。

  10. 根据需要添加或修改窗体的任何标签或设计。

  11. 在"设计"组中,单击"窗体区域",再单击"窗体区域另存为"。将窗体区域命名为 formRegionCustomer.ofs,然后将其保存到您的 Solution Artifacts 文件夹中。

  12. 然后,创建窗体区域清单文件。您可以使用 BCS 项目生成器工具(该链接可能指向英文页面)基于 BDC 模型创建窗体区域清单文件。

    您还可以手动创作窗体区域清单,如下所示。

    1. 复制在 SharePoint 2010 SDK 中提供的模板文件(请参阅模板:FormRegionManifest.xml),然后将其作为 formRegionCustomer.manifest.xml 保存到 Solution Artifacts 文件夹中。

    2. 在 XML 编辑器中打开 formRegionCustomer.manifest.xml 以进行编辑。如果在 Visual Studio 中打开 XML 文件,请附加 FormManifest 架构。这会为您提供 IntelliSense 功能并帮助您创建有效项。

    3. 将 XML 中标有 EnterX 的值替换为有效值。下面的 XML 示例演示了文件在编辑后的外观。

      <?xml version="1.0" encoding="utf-8"?>
      <FormRegion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  xmlns="https://schemas.microsoft.com/office/outlook/12/formregion.xsd">
        <icons>
          <page>addin</page>
        </icons>
        <name>CustomerForm</name>
        <formRegionType>adjoining</formRegionType>
        <exactMessageClass>false</exactMessageClass>
        <layoutFile>formRegionCustomer.ofs</layoutFile>
        <title>Customer Details</title>
      </FormRegion>
      
    4. 保存并关闭该文件。

  13. 此时您已准备好利用有关自定义窗体区域的详细信息来更新 OIR.config 文件。请记住 BCS 客户端运行时将使用该文件确定声明性解决方案中有哪些组件。为此,请找到 <FormRegions> 元素,并将其替换为以下内容。

    <FormRegions xsl:type="Declarative:DeclarativeFormRegions">
      <FormRegion Name="Customer" InternalName="CustomerForm" 
                  FormFileName="formRegionCustomer.ofs" 
                  ManifestFileName="formRegionCustomer.manifest.xml" />
    </FormRegions>
    
  14. 保存并关闭该文件。

您已成功创建自定义窗体区域和窗体区域清单文件来扩展中间声明性 Outlook 解决方案,并已用此信息更新 OIR.config 文件。此时您应将该解决方案重新打包,将其部署到 Outlook,然后测试,以确保其按预期方式运行。

后续步骤

步骤 6(可选):创建自定义 Outlook 视图定义 (*.ovd)