Comparar o manifesto XML com o manifesto unificado do Microsoft 365

Este artigo destina-se a ajudar os leitores que estão familiarizados com o manifesto XML a entender o manifesto unificado comparando os dois. Os leitores também devem ver suplementos do Office com o manifesto unificado do Microsoft 365 (versão prévia).

Observação

O manifesto unificado é um recurso de visualização dos Suplementos do Office e só tem suporte para o Outlook no Windows.

Esquemas e pontos gerais

Há apenas um esquema para o manifesto unificado de visualização, em contraste com o manifesto XML atual que tem um total de sete esquemas.

Mapeamento conceitual dos manifestos XML unificados e atuais da versão prévia

Esta seção descreve o manifesto unificado de visualização para leitores familiarizados com o manifesto XML atual. Alguns pontos a serem considerados:

  • O manifesto unificado é formatado por JSON.

  • JSON não distingue entre atributo e valor de elemento como XML faz. Normalmente, o JSON que mapeia para um elemento XML torna o valor do elemento e cada um dos atributos uma propriedade filho. O exemplo a seguir mostra algumas marcações XML e seu equivalente JSON.

    <MyThing color="blue">Some text</MyThing>
    
    "myThing" : {
        "color": "blue",
        "text": "Some text"
    }
    
  • Há muitos locais no manifesto XML atual em que um elemento com um nome plural tem filhos com a versão singular do mesmo nome. Por exemplo, a marcação para configurar um menu personalizado inclui um <elemento Items que pode ter vários elementos>item> filhos.< O equivalente JSON desses elementos plurais é uma propriedade que tem uma matriz como seu valor. Os membros da matriz são objetos anônimos, não propriedades chamadas "item" ou "item1", "item2", etc. O item a seguir é um exemplo.

    "items": [
        {
            -- markup for a menu item is here --
        },
        {
            -- markup for another menu item is here --
        }
    ]
    

Estrutura de nível superior

O nível raiz do manifesto unificado de visualização, que corresponde aproximadamente ao <elemento OfficeApp> no manifesto XML atual, é um objeto anônimo.

Os filhos do <OfficeApp> geralmente são divididos em duas categorias nocionais. O <elemento VersionOverrides> é uma categoria. O outro consiste em todas as outras crianças do <OfficeApp>, que são coletivamente conhecidas como o manifesto base. Assim também, o manifesto unificado de visualização tem uma divisão semelhante. Há uma propriedade "extensões" de nível superior que corresponde aproximadamente em seus propósitos e propriedades filho ao <elemento VersionOverrides> . O manifesto unificado de visualização também tem mais de 10 outras propriedades de nível superior que atendem coletivamente às mesmas finalidades que o manifesto base do manifesto XML. Essas outras propriedades podem ser pensadas coletivamente como o manifesto base do manifesto unificado.

Manifesto base

As propriedades do manifesto base especificam características do suplemento que qualquer tipo de extensão do Microsoft 365 deve ter. Isso inclui guias do Teams e extensões de mensagem, não apenas suplementos do Office. Essas características incluem um nome público e uma ID exclusiva. A tabela a seguir mostra um mapeamento de algumas propriedades críticas de nível superior no manifesto unificado de visualização para os elementos XML no manifesto atual, em que o princípio de mapeamento é a finalidade da marcação.

Propriedade JSON Objetivo Elementos XML Comentários
"$schema" Identifica o esquema do manifesto. atributos do <OfficeApp> e <VersionOverrides> Nenhum.
"id" GUID do suplemento. <Id> Nenhum.
"versão" A versão do suplemento. <Versão> Nenhum.
"manifestVersion" Versão do esquema do manifesto. atributos do <OfficeApp> Nenhum.
"nome" O nome do suplemento. <DisplayName> Nenhum.
"descrição" Descrição pública do suplemento. <Descrição> Nenhum.
"accentColor" Nenhum. Nenhum. Essa propriedade não tem equivalente no manifesto XML atual e não é usada na visualização do manifesto unificado. Mas ela deve estar presente.
"developer" Identifica o desenvolvedor do suplemento. <ProviderName> Nenhum.
"localizationInfo" Configura a localidade padrão e outras localidades com suporte. <DefaultLocale> e <Override> Nenhum.
"webApplicationInfo" Identifica o aplicativo Web do suplemento como ele é conhecido no Azure Active Directory. <WebApplicationInfo> No manifesto XML atual, o <elemento WebApplicationInfo> está dentro <de VersionOverrides>, não do manifesto base.
"autorização" Identifica todas as permissões do Microsoft Graph que o suplemento precisa. <WebApplicationInfo> No manifesto XML atual, o <elemento WebApplicationInfo> está dentro <de VersionOverrides>, não do manifesto base.

Os <elementos Hosts>, <Requirements> e <ExtendedOverrides> fazem parte do manifesto base no manifesto XML atual. Mas conceitos e finalidades associados a esses elementos são configurados dentro da propriedade "extensões" do manifesto unificado de visualização.

Propriedade "extensões"

A propriedade "extensões" no manifesto unificado de visualização representa principalmente características do suplemento que não seriam relevantes para outros tipos de extensões do Microsoft 365. Por exemplo, os aplicativos do Office que o suplemento estende (como Excel, PowerPoint, Word e Outlook) são especificados dentro da propriedade "extensões", assim como personalizações da faixa de opções do aplicativo do Office. As finalidades de configuração da propriedade "extensões" correspondem de perto às do <elemento VersionOverrides> no manifesto XML atual.

Observação

A <seção VersionOverrides> do manifesto XML atual tem um sistema de "salto duplo" para muitos recursos de cadeia de caracteres. Cadeias de caracteres, incluindo URLs, são especificadas e atribuídas uma ID no <filho de Recursos> de <VersionOverrides>. Elementos que exigem uma cadeia de caracteres têm um resid atributo que corresponde à ID de uma cadeia de caracteres no <elemento Resources> . A propriedade "extensões" do manifesto unificado de visualização simplifica as coisas definindo cadeias de caracteres diretamente como valores de propriedade. Não há nada no manifesto unificado que seja equivalente ao <elemento Resources> .

A tabela a seguir mostra um mapeamento de algumas propriedades filho de alto nível da propriedade "extensões" no manifesto unificado de visualização para elementos XML no manifesto atual. A notação de ponto é usada para referenciar propriedades filho.

Propriedade JSON Objetivo Elementos XML Comentários
"requirements.capabilities" Identifica os conjuntos de requisitos que o suplemento precisa ser instalado. que o suplemento precisa ser instalado. <Requisitos> e <Conjuntos> Nenhum.
"requirements.scopes" Identifica os aplicativos do Office nos quais o suplemento pode ser instalado. <Hosts> Nenhum.
"faixas de opções" As faixas de opções que o suplemento personaliza. <Hosts>, ExtensionPoints e vários elementos*FormFactor As propriedade "faixas de opções" é uma matriz de objetos anônimos que mesclam as finalidades desses três elementos. Consulte a tabela "faixas de opções".
"alternativas" Especifica a compatibilidade de versões anteriores com um suplemento COM equivalente, XLL ou ambos. <EquivalentAddins> Consulte EquivalentAddins - Consulte também para obter informações de segundo plano.
"runtimes" Configura os runtimes inseridos que o suplemento usa, incluindo vários tipos de suplementos que têm pouca ou nenhuma interface do usuário, como suplementos e comandos de função personalizados somente função. <Runtimes>. <FunctionFile> e <ExtensionPoint> (do tipo CustomFunctions) Nenhum.
"autoRunEvents" Remove um manipulador de eventos de um evento especificado. <ExtensionPoint> (do tipo LaunchEvent) Nenhum.

tabela "faixas de opções"

A tabela a seguir mapeia as propriedades filho dos objetos filho anônimos nas "faixas de opções" matriz em elementos XML no manifesto atual.

Propriedade JSON Objetivo Elementos XML Comentários
"contextos" Especifica as superfícies de comando que o suplemento personaliza. vários elementos *CommandSurface , como PrimaryCommandSurface e MessageReadCommandSurface Nenhum.
"guias" Configura guias personalizadas da faixa de opções. <CustomTab> Os nomes e a hierarquia das propriedades descendentes de "tabs" correspondem de perto aos descendentes de <CustomTab>.

Para obter um manifesto unificado de exemplo completo, consulte Exemplo de manifesto unificado de visualização.

Próximas etapas