Customizando os Menus de Suplemento Arquivo, Inserir e Ajuda

O IBM® FileNet P8 Application Integration fornece suporte para customizar os menus pop-up Arquivo, Inserir e Ajuda do Microsoft Outlook, Word, Excel e PowerPoint. O Application Integration utiliza Suplementos COM para estender esses aplicativos incluindo menus de Suplemento customizados. Esses menus customizados podem ser modificados por desenvolvedores por meio do uso de arquivos XML fornecidos, que contém informações usadas pelo Application Integration para configurar o conteúdo do menu para os aplicativos Microsoft.

Após a instalação do Application Integration, os desenvolvedores podem modificar manualmente o conteúdo dos arquivos XML para customizar os menus de Suplemento para que atendam aos requisitos dos aplicativos. Os arquivos XML customizados podem então ser copiados para outros sistemas na organização para fornecer um meio de controle do ambiente de aplicativos e disponibilidade de recurso para um determinado usuário ou classe de usuários. Sempre que uma nova mudança é necessária para um determinado aplicativo, o arquivo XML correspondente pode ser atualizado e copiado novamente para os sistemas apropriados.

Técnicas de Customização do XML

Os desenvolvedores podem customizar os menus de Suplemento da seguinte forma:
Tabela 1. Lista e descreve as várias maneiras como você pode customizar um menu Suplemento.
Customizar o/a... Descrição
Visibilidade Especifique os comandos e os submenus pop-up do Application Integration que devem ficar visíveis no menu. Esta técnica permite a remoção completa de um submenu ou comando de um menu para controlar a disponibilidade de um determinado recurso.
Ativação de Estado Especifique os comandos e os submenus pop-up do Application Integration que devem ficar visíveis, mas desativados (esmaecidos). Esta técnica permite que os desenvolvedores controlem se um determinado menu pode ser aberto ou um comando pode ser executado.
Rótulo ou Legenda Especifique os rótulos ou as legendas dos comandos e submenus pop-up do Application Integration da forma como devem aparecer para o usuário. Por exemplo, os desenvolvedores podem renomear o comando "Efetuar o Registro de Entrada" para "Armazenar Documento" ou agrupar determinados comandos em um submenu chamado "Autoria."
Ação de Comando Especifique qual ação do Application Integration deve ser executada quando um comando do Application Integration for selecionado.
Nota: Não é possível especificar comandos do fornecedor.
Hierarquia de Menus Especifique a disposição dos comandos do Application Integration no menu, incluindo a ordem dos comandos e se estão contidos em uma hierarquia de pastas de submenus pop-up.

Nomes de Arquivos e Local do XML

Durante a instalação do Application Integration, os arquivos XML são gravados no diretório de instalação (o padrão é C:\Program Files\FileNet\AppInt\). Sempre que um dos aplicativos Microsoft suportados é aberto, o Application Integration procura o arquivo XML correspondente no diretório de instalação e, em seguida, configura o menu de suplemento desse aplicativo de acordo com as especificações contidas no arquivo XML. Se o Application Integration não puder localizar os arquivos XML no diretório de instalação, ele tentará reunir os arquivos a partir do diretório do Módulo. (O diretório módulo é onde os aplicativos Microsoft Office são geralmente armazenados, por padrão em C:\Program Files\Microsoft Office\Office.)

CUIDADO:
Embora os desenvolvedores possam modificar o conteúdo dos arquivos XML, os nomes dos arquivos XML não devem ser alterados e os arquivos devem estar localizados no diretório de instalação ou do módulo para que o Application Integration localize e utilize os arquivos XML para configurar os menus de Suplemento.
A tabela a seguir identifica os nomes dos arquivos XML, os aplicativos do Microsoft Office que são afetados pelos arquivos XML e as versões suportadas para cada aplicativo.
Tabela 2. Lista cada nome de arquivo XML com os aplicativos Microsoft Office correspondentes e as versões suportadas desses aplicativos.
Nome do arquivo XML Aplicativo correspondente Versões suportadas
FnAppIntExcelMenus.xml Excel 2003, 2007, 2010
FnAppIntOutlookMenus.xml Explorador do Outlook (janela de navegação do item)

Inspetor do Outlook (janela de edição do item)

2003, 2007, 2010
FnAppIntPowerPointMenus.xml Power Point 2003, 2007, 2010
FnAppIntWordMenus.xml Word 2003, 2007, 2010

Considerações sobre Modificação do XML

Os seguintes pontos devem ser considerados antes de modificar os arquivos XML:
  • Embora os arquivos XML sejam instalados como somente leitura, os desenvolvedores podem modificar as permissões de arquivo para torná-los de leitura/gravação.
  • Os arquivos XML fornecidos pela IBM fornecem a sintaxe e o uso corretos para especificar os menus de suplemento e seu conteúdo. Os desenvolvedores devem seguir rigorosamente a formatação e a sintaxe de parâmetros do XML fornecidas nesses arquivos. Além disso, os desenvolvedores podem fazer backup dos arquivos XML originais antes de implementar qualquer modificação. Isso ajuda na depuração e na resolução de erros de sintaxe em potencial nos arquivos modificados.
  • Para configurar os menus de Suplemento, o Application Integration procura arquivos XML pelo nome no diretório de instalação. Embora os desenvolvedores possam modificar o conteúdo dos arquivos XML, os nomes dos arquivos XML não devem ser alterados e os arquivos devem estar localizados no diretório de instalação ou do módulo para que o Application Integration localize e utilize os arquivos XML para configurar os menus de Suplemento.
  • Sempre que o Application Integration é instalado, incluindo fix packs, os arquivos XML originais são gravados no diretório de instalação. Como resultado, arquivos XML customizados podem ser sobrescritos. Portanto, os desenvolvedores podem fazer cópias de backup de seus arquivos XML modificados e salvá-las usando nomes de arquivo exclusivos ou em uma pasta exclusiva. Isso permite que arquivos XML customizados sejam restaurados rapidamente, conforme necessário.

Esquema de Menus de Suplemento XML

A estrutura básica do esquema XML para os menus de Suplemento é a seguinte:
  • addInMenusConfiguration - o objeto de nível superior no esquema que identifica se os seguintes objetos XML descrevem os menus de Suplemento de um aplicativo. Esse objeto também especifica a versão do esquema que está sendo usado.
  • applicationName - identifica o aplicativo de destino do qual os menus de Suplemento estão sendo configurados.
  • applicationVersion - especifica as versões suportadas do aplicativo de destino.
  • addInMenusDefinition - cada objeto addInMenusConfiguration consiste em um (ou mais, no caso do Microsoft Outlook) desses objetos que contêm os objetos que especificam como o menu de suplemento (Arquivo, Inserir ou Ajuda) deve ser configurado para o aplicativo. Esse objeto também especifica o tipo de menu de Suplemento que deve ser criado. O Application Integration suporta os seguintes tipos: principal para Word, Excel e PowerPoint, e explorador e inspetor para o Outlook.
  • addInMenuItem - cada objeto addInMenusDefinition consiste em um ou mais desses objetos que descrevem a hierarquia de submenus e o comportamento do botão de comando de cada menu. Isso é realizado por meio do uso da tag itemType, que pode ser configurada como popup ou button.
    • Quando itemType="popup", um objeto addInMenuItem pode conter uma lista de seus próprios filhos do objeto addInMenuItem, ativando, assim, a capacidade de criar uma estrutura de submenus. Essa estrutura hierárquica pode ser repetida em qualquer espessura necessária para chegar aos requisitos organizacionais.
    • Quando itemType="button", a estrutura XML termina desde que apenas itens de menu pop-up possam ter itens de menu filhos.
  • setting - cada objeto addInMenuItem (popup ou button) contém várias tags setting que definem a aparência e o comportamento do submenu ou do botão, como uma descrição do item de menu, o rótulo ou a legenda visível, a posição de inserção do menu e a ação correspondente do Application Integration a ser executada quando o item de menu for aberto ou selecionado. A seção Tags de Configuração fornece detalhes completos sobre as tags setting.

Para obter um exemplo de como essas tags são usadas no esquema XML, consulte Esquema XML de Amostra.

Tags de Configuração

Cada objeto addInMenuItem usa tags setting para definir a aparência e o comportamento de submenus ou botões de comando do menu de Suplemento. A sintaxe da tag varia dependendo da chave que está sendo definida. Por exemplo, algumas chaves requerem o campo Tipo, enquanto que outras não:

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

Na tabela a seguir, quando uma chave não exigir o uso do campo tipo ou não precisar de um valor especificado, a entrada na coluna Tipo ou Valor será "Não aplicável". Quando o valor para a chave não for uma variável Application Integration conhecida, como popup ou button, a entrada na coluna Valor aparecerá em itálico, por exemplo, 30002. Além disso, quando uma chave não for necessária, a entrada na coluna Descrição conterá o indicador [Opcional].

O Application Integration suporta as tags setting a seguir.
Tabela 3. Lista cada chave, juntamente com seu tipo, valor e descrição.
Chave Tipo Valor Descrição
itemType Não aplicável popup Indica que o item de menu de Suplemento é um submenu pop-up com filhos, que pode incluir botões de comando e submenus pop-up adicionais.
  Não aplicável botão Indica que o item de menu de Suplemento é um botão de comando sem filhos.
descrição Não aplicável P8 File Menu [Opcional] Fornece uma descrição para o item de menu de Suplemento que é apenas informativa; essa descrição não fica visível para o usuário.
label enum eOpenSubMenuName Fornece o rótulo ou a legenda visível para o item de menu de Suplemento usando uma das constantes de enumeração a seguir:
  • 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 Fornece o rótulo ou a legenda visível para o item de menu de Suplemento especificando um valor de número inteiro que corresponde a um ID de recurso definido em um arquivo de localização de recurso.
  text Checkin... Fornece o rótulo ou a legenda visível para o item de menu de Suplemento fornecendo a sequência de texto real.
visible Não aplicável true Especifica que o item de menu de Suplemento (e quaisquer filhos, se o item de menu for um submenu pop-up) está visível para o usuário.
    false Especifica que o item de menu de Suplemento (e quaisquer filhos, se o item de menu for um submenu pop-up) não está visível para o usuário (isto é, o item de menu não aparece no menu de Suplemento.
enabled Não aplicável true Especifica que o item de menu de Suplemento está ativado, possibilitando que o usuário abra o submenu pop-up ou selecione o botão de comando.
    Falso Especifica que o item de menu de Suplemento não pode ser aberto ou selecionado pelo usuário (isto é, o item de menu está desativado no menu de Suplemento).
parent menuId 30002 Fornece o valor "menuId" para o menu-pai do item de menu de Suplemento. Quando o item de menu é um submenu pop-up, esse valor geralmente é o ID de controle de um menu pop-up existente do Microsoft Office. Para obter informações adicionais sobre IDs de menus nos aplicativos Microsoft Office, consulte o Microsoft Office Developers Guide for Office 2003/XP/2007.
  topLevel Não aplicável Quando o item de menu de Suplemento é um submenu pop-up, esse par de chave e valor indica que o submenu é colocado na barra de menus de nível superior do aplicativo.
Nota: Esse par de chave e tipo é válido apenas para submenus pop-up.
  Não aplicável Não aplicável Quando o item de menu Suplemento for um botão de comando, o pai será implícito no XML especificado por meio do uso da tag <list key="children">. Portanto, nenhuma especificação pai é necessária nesse local de setting no XML.
Nota: Esse par de chave e tipo é válido apenas para botões de comando.
local Não aplicável 4 Especifica a posição da inserção desse item de menu de Suplemento no menu-pai. Um valor -1 indica que o item de menu é anexado à parte inferior do menu existente.
Nota: Esse valor indica a posição desejada para o item de menu no menu pop-up pai.
command standard
OfficeAdd-In.
OpenSelection
Especifica a operação do Application Integration a ser executada quando um botão de comando for selecionado pelo usuário. Uma das seguintes constantes de enumeração pode ser especificada:
  • 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 Não aplicável Quando o item de menu de Suplemento é um submenu pop-up, os cliques de menu são ignorados. Portanto, nenhuma especificação de comando é necessária nesse local de setting no XML.
Nota: Esse par de chave e tipo é válido apenas para submenus pop-up.

Para obter um exemplo de como essas tags são usadas no esquema XML, consulte Esquema XML de Amostra.

Esquema XML de Amostra

O seguinte fragmento de código ilustra a estrutura de esquema XML básica para os menus de Suplemento do aplicativo Excel:
<?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>
...