IBM FileNet P8, V5.2            

定制“文件”、“插入”和“帮助”加载项菜单

IBM® FileNet® P8 Application Integration 支持定制用于 Microsoft Outlook、Word、Excel 和 PowerPoint 的“文件”、“插入”和“帮助”弹出菜单。Application Integration 利用 COM 加载项,通过添加定制加载项菜单来扩展这些应用程序。开发者可以通过使用提供的 XML 文件来修改这些定制菜单,这些文件包含 Application Integration 用于为 Microsoft 应用程序配置菜单内容的信息。

在安装 Application Integration 之后,开发者可以手动修改这些 XML 文件的内容,以定制加载项菜单来满足他们的应用程序需求。然后可以将定制的 XML 文件复制到组织中的其他系统,以便为特定用户或用户类提供一种控制应用程序环境和功能可用性的方法。每当特定应用程序需要进行新的更改时,都可以更新相应的 XML 文件并再次将其复制到适当的系统。

XML 定制技术

开发者可以按如下所述定制加载项菜单:
表 1. 列出并描述了可用于定制加载项菜单的各种方法。
定制... 描述
可视性 指定菜单上应该可视的 Application Integration 命令和弹出子菜单。此技术允许从菜单中完全除去某个子菜单或命令,以控制某个功能的可用性。
启用状态 指定应该可视但处于禁用状态(已变成灰色)的 Application Integration 命令和弹出子菜单。此技术使开发者能够控制是否可以打开特定菜单或者是否可以执行命令。
标签或文字说明 指定应该对用户显示的 Application Integration 命令和弹出子菜单的标签或文字说明。例如,开发者可将“检入”命令重命名为“存储文档”,或在称为“制作”的子菜单上将某些命令分组在一起。
命令操作 指定当选择了某个 Application Integration 命令时应该执行哪个 Application Integration 操作。
注: 无法指定供应商命令。
菜单层次结构 指定菜单上 Application Integration 命令的排列方式,包括命令的顺序以及它们是否包含在弹出子菜单文件夹层次结构中。

XML 文件的名称和位置

在安装 Application Integration 期间,会将 XML 文件写至安装目录(缺省安装目录是 C:\Program Files\FileNet\AppInt\)。每当打开其中一个受支持的 Microsoft 应用程序时,Application Integration 都会在安装目录中搜索相应的 XML 文件,然后根据该 XML 文件中包含的指定内容来为此应用程序配置加载项菜单。如果 Application Integration 在安装目录中找不到 XML 文件,那么它会尝试从 Module 目录中收集这些文件。(Module 目录通常用于存储 Microsoft Office 应用程序,缺省情况下位于 C:\Program Files\Microsoft Office\Office 中。)

警告:
虽然开发者可以修改 XML 文件的内容,但不能更改 XML 文件的名称,并且这些文件必须位于安装目录或 module 目录中,以便 Application Integration 能够找到并利用这些 XML 文件来配置加载项菜单。
下表标识这些 XML 文件的名称、每个 XML 文件所影响的 Microsoft Office 应用程序以及每个应用程序的受支持版本。
表 2. 列出每个 XML 文件名和相应的 Microsoft Office 应用程序以及这些应用程序的受支持版本。
XML 文件的名称 相应的应用程序 受支持版本
FnAppIntExcelMenus.xml Excel 2003、2007 和 2010
FnAppIntOutlookMenus.xml Outlook Explorer(项浏览窗口)

Outlook Inspector(项编辑窗口)

2003、2007 和 2010
FnAppIntPowerPointMenus.xml PowerPoint 2003、2007 和 2010
FnAppIntWordMenus.xml Word 2003、2007 和 2010

XML 修改注意事项

在修改 XML 文件之前,应该考虑以下几点:
  • 虽然 XML 文件是以只读方式安装的,但开发者可以修改文件许可权以使它们成为可读/写文件。
  • IBM 提供的 XML 文件提供了用于指定加载项菜单及其内容的正确语法和用法。开发者应该严格遵循这些文件中提供的 XML 格式语法和参数语法。另外,开发者还可以在实现任何修改之前备份原始 XML 文件。这有助于调试和改正已修改文件中的潜在语法错误。
  • 为了配置加载项菜单,Application Integration 将在安装目录中按名称搜索 XML 文件。虽然开发者可以修改 XML 文件的内容,但不能更改 XML 文件的名称,并且这些文件必须位于安装目录或 module 目录中,以便 Application Integration 能够找到并利用这些 XML 文件来配置加载项菜单。
  • 安装 Application Integration(包括修订包)时,会将原始 XML 文件写至安装目录。因此,可以覆盖定制的 XML 文件。开发者从而可以制作修改后的 XML 文件的备份副本,并使用唯一文件名保存这些文件或将这些文件保存到唯一文件夹。这允许在需要时快速恢复定制的 XML 文件。

XML 加载项菜单模式

加载项菜单的 XML 模式基本结构如下所示:
  • addInMenusConfiguration - 模式中的顶级对象,它确定下列 XML 对象是否描述应用程序的加载项菜单。此对象还指定正在使用的模式版本
  • applicationName - 标识正在配置其加载项菜单的目标应用程序。
  • applicationVersion - 指定目标应用程序的受支持版本。
  • addInMenusDefinition - 每个 addInMenusConfiguration 对象由下列其中一个对象(在使用 Microsoft Outlook 的情况下,则可以是多个对象)组成:这些对象包含用于指定应该如何为应用程序配置每个加载项菜单(“文件”、“插入”或“帮助”)的对象。此对象还指定应该创建的加载项菜单类型。Application Integration 支持下列类型:用于 Word、Excel 和 PowerPoint 的 main,以及用于 Outlook 的 explorerinspector
  • addInMenuItem - 每个 addInMenusDefinition 对象由一个或多个以下对象组成:这些对象描述每个菜单的子菜单层次结构和命令按钮行为。通过使用 itemType 标记来实现此目的,可以将该标记设置为 popupbutton
    • itemType="popup" 时,addInMenuItem 对象可包含其自己的 addInMenuItem 对象子代列表,从而允许创建子菜单结构。 可以重复此分层结构至任何必要的深度,以满足组织需求。
    • itemType="button" 时,XML 结构会终止,因为只有 popup 菜单项才能具有子代菜单项。
  • setting - 每个 addInMenuItem 对象(popupbutton)都包含一些 setting 标记,这些标记定义子菜单或按钮的外观和行为,例如菜单项的描述、可视标签或文字说明、菜单插入位置以及打开或选择菜单项时要执行的相应 Application Integration 操作。Setting 标记 一节提供了 setting 标记的完整详细信息。

要获取如何在 XML 模式中使用这些标记的示例,请参阅样本 XML 模式

Setting 标记

每个 addInMenuItem 对象都使用 setting 标记来定义加载项菜单子菜单或命令按钮的外观和行为。该标记的语法随要定义的 key 而不同。例如,某些 key 需要 type 字段,而其他则不需要:

<setting key="itemType">popup</setting>
<setting key="parent"
type="menuId">30002</setting>

在下表中,当 key 不需要使用 type 字段或不需要指定的值时,类型列中的条目是“不适用”。当 key 的值不是已知的 Application Integration 变量(例如 popupbutton)时,列中的条目将以斜体字显示;例如,30002。另外,当 key 不是必需项时,描述列中的条目包含 [可选] 指示符。

Application Integration 支持下列 setting 标记。
表 3. 列出每个键及其类型、值和描述。
类型 描述
itemType 不适用 popup 指示加载项菜单项是一个具有子代的弹出子菜单,它可以包含命令按钮和其他弹出子菜单。
  不适用 button 指示加载项菜单项是一个不具有子代的命令按钮。
description 不适用 P8 File Menu [可选] 提供加载项菜单项的描述,仅供参考;用户无法看到此描述。
label enum eOpenSubMenuName 使用下列其中一个枚举常量为加载项菜单项提供可视标签或文字说明:
  • eFileMenuName
  • eOpenButtonName
  • eOpenSubMenuName
  • eOpenMyCheckoutsButtonName
  • eOpenSelectItemButtonName
  • eAddDocumentButtonName
  • eAddDocumentSubMenuName
  • eAddDocumentUseWizardButtonName
  • eAddDocumentSelectTemplateButtonName
  • eAddFolderButtonName
  • eCheckinSubMenuName
  • eCheckinQuickButtonName
  • eCheckinUseWizardButtonName
  • eTasksMyInboxButtonName
  • eSaveButtonName
  • eCancelCheckoutButtonName
  • ePropertiesButtonName
  • eLogoffButtonName
  • eInsertMenuName
  • eInsertButtonName
  • eInsertHyperlinkButtonName
  • eInsertPropPageButtonName
  • eInsertPropertyButtonName
  • eRefreshPropertyButtonName
  • eDeletePropertyButtonName
  • eHelpButtonName
  resourceID 119 通过指定一个与资源本地化文件中定义的资源标识相对应的整数值,来为加载项菜单项提供可视标签或文字说明。
  text Checkin... 通过提供实际文本字符串为加载项菜单项提供可视标签或文字说明。
visible 不适用 true 指定加载项菜单项(如果该菜单项是弹出子菜单,那么还包括任何子代)对于用户是可视的。
    false 指定加载项菜单项(如果该菜单项是弹出子菜单,那么还包括任何子代)对于用户是不可视的(即,该菜单项不会显示在加载项菜单中)。
enabled 不适用 true 指定将启用加载项菜单项,因此用户可以打开弹出子菜单或选择命令按钮。
    False 指定用户无法打开或选择加载项菜单项(即,该菜单项在加载项菜单中处于禁用状态)。
parent menuId 30002 为加载项菜单项的父菜单提供“menuId”值。当该菜单项是弹出子菜单时,此值通常是现有 Microsoft Office 弹出菜单的控制标识。有关 Microsoft Office 应用程序中菜单标识的更多信息,请参阅 Microsoft Office Developers Guide for Office 2003/XP/2007
  topLevel 不适用 当加载项菜单项是弹出子菜单时,此键/类型对指示该子菜单位于应用程序的顶级菜单栏中。
注: 此键/类型对仅对弹出子菜单有效。
  不适用 不适用 当加载项菜单项是命令按钮时,会通过使用 <list key="children"> 标记来暗示指定的 XML 中存在父代。因此,不需要在 XML 的此 setting 位置指定父代。
注: 此键/类型对仅对命令按钮有效。
location 不适用 4 指定此加载项菜单项在父菜单中的插入位置。值 -1 指示该菜单项将附加到现有菜单的底部。
注: 此值指示菜单项在父弹出菜单中的期望位置。
command standard
OfficeAdd-In.OpenSelection
指定当用户选择某个命令按钮时要执行的 Application Integration 操作。可以指定下列其中一个枚举常量:
  • OfficeAdd-In.AddFolderUseAddWizard
  • OfficeAdd-In.OpenMyCheckouts
  • OfficeAdd-In.OpenSelectItem
  • OfficeAdd-In.AddDocumentUseAddWizard
  • OfficeAdd-In.AddDocumentSelectTemplate
  • OfficeAdd-In.CheckinDocumentUseCheckinWizard
  • OfficeAdd-In.CheckinDocumentQuickCheckin
  • OfficeAdd-In.Save
  • OfficeAdd-In.CancelCheckout
  • OfficeAdd-In.GetInfo
  • OfficeAdd-In.TasksMyInbox
  • OfficeAdd-In.Logoff
  • OfficeAdd-In.Help
  • OfficeAdd-In.InsertItem
  • OfficeAdd-In.InsertProperty
  • OfficeAdd-In.RefreshProperties
  • OfficeAdd-In.DeleteProperties
  • OfficeAdd-In.InsertHyperlink
  • OfficeAdd-In.InsertPropertiesPage
  standard 不适用 当加载项菜单项是弹出子菜单时,将忽略对菜单的单击。因此,不需要在 XML 的此 setting 位置指定命令。
注: 此键/类型对仅对弹出子菜单有效。

要获取如何在 XML 模式中使用这些标记的示例,请参阅样本 XML 模式

样本 XML 模式

以下代码片段举例说明了用于 Excel 应用程序的加载项菜单的基本 XML 模式结构:
<?xml version="1.0" ?>
 <!-- IBM FileNet P8 Application Integration 4.0 Excel Add-In Menus-->
 <!-- Add-In Menus - Configuration Info -->
 <object key="addInMenusConfiguration" version="1.0">
 <setting key="applicationName">Excel</setting>
 <array key="applicationVersion">
 <value>2003</value>
 <value>2007</value>
 <value>2010</value>
 </array>
 <!-- Add-In Menus - Main Menu Definitions -->
 <object key="addInMenusDefinition" type="main">
 <list key="children">
 <!-- P8 File Menu -->
 <object key="addInMenuItem">
 <setting key="itemType">popup</setting>
 ...
 <list key="children">
 <!-- Open Document SubMenu -->
 <object key="addInMenuItem">
 <setting key="itemType">popup</setting>
 <setting key="description">Submenu of commands for opening documents.</Setting>
 <setting key="label" type="text">Open Document</setting>
 <setting key="visible">true</setting>
 <setting key="enabled">true</setting>
 <setting key="location">3</setting>
 <setting key="command" type="standard"></setting>
 <list key="children">
 <!-- Open Document - My Checkouts... Button -->
 <object key="addInMenuItem">
 <setting key="itemType">button</setting>
 ...
 <list key="children" />
 </object>
 <!-- Open Document - Select Item... Button -->
 <object key="addInMenuItem">
 <setting key="itemType">button</setting>
 ...
 <list key="children" />
 </object>
 </list>
 <list key="children" />
 </object>
 <!-- Add Document SubMenu -->
 <object key="addInMenuItem">
 <setting key="itemType">popup</setting>
 ...
 <list key="children" />
 </object>
 ...
 <!-- Add Folder... Button -->
 <object key="addInMenuItem">
 <setting key="itemType">button</setting>
 <setting key="description">Performs the Add Folder Wizard</setting>
 <setting key="label" type="enum">eAddFolderButtonName</setting>
 <setting key="visible">true</setting>
 <setting key="enabled">true</setting>
 <setting key="parent" type="menuId">30002</setting>
 <setting key="location">1</setting>
 <setting key="command" type="standard">OfficeAdd-In.AddFolderUseAddWizard</setting>
 <list key="children" />
 </object>
 ...
 </list>
 <list key="children" />
 </object>
 <!-- P8 Insert Menu -->
 <object key="addInMenuItem">
 <setting key="itemType">popup</setting>
 ...
 <list key="children">
 ...
 </list>
 <list key="children" />
 </object>
 <!-- P8 Help Menu -->
 <object key="addInMenuItem">
 <setting key="itemType">popup</setting>
 ...
 <list key="children">
 ...
 </list>
 <list key="children" />
 </object>
 </list>
 </object>
 </object>
...


反馈

最近一次更新时间: 2013 年 3 月
overview_addin_menus.htm

© Copyright IBM Corporation 2013.
本信息中心基于 Eclipse 技术。(http://www.eclipse.org)