Partekatu honen bidez:


Comparación del manifiesto de solo complemento con el manifiesto unificado para Microsoft 365

Este artículo está pensado para ayudar a los lectores que están familiarizados con el manifiesto de solo complemento a comprender el manifiesto unificado mediante la comparación de los dos. Los lectores también deben ver complementos de Office con el manifiesto unificado para Microsoft 365.

Nota:

El manifiesto unificado para Microsoft 365 se puede usar en complementos de Outlook de producción. Solo está disponible como versión preliminar para excel, PowerPoint y complementos de Word.

Esquemas y puntos generales

Solo hay un esquema para el manifiesto unificado, a diferencia del manifiesto de solo complemento que tiene un total de siete esquemas.

Asignación conceptual de los manifiestos unificados y de solo complemento

En esta sección se describe el manifiesto unificado para los lectores que están familiarizados con el manifiesto de solo complemento. Algunos puntos a tener en cuenta:

  • El manifiesto unificado tiene formato JSON.

  • JSON no distingue entre el atributo y el valor de elemento, como hace XML. Normalmente, el JSON que se asigna a un elemento XML convierte tanto el valor del elemento como cada uno de los atributos en una propiedad secundaria. En el ejemplo siguiente se muestra algún marcado XML y su equivalente JSON.

    <MyThing color="blue">Some text</MyThing>
    
    "myThing" : {
        "color": "blue",
        "text": "Some text"
    }
    
  • Hay muchos lugares en el manifiesto de solo complemento donde un elemento con un nombre plural tiene elementos secundarios con la versión singular del mismo nombre. Por ejemplo, el marcado para configurar un menú personalizado incluye un elemento <Items> que puede tener varios elementos <Item> secundarios. El equivalente JSON de estos elementos plurales es una propiedad con una matriz como su valor. Los miembros de la matriz son objetos anónimos, no propiedades denominadas “item” o “item1”, “item2”, etc. A continuación se muestra un ejemplo.

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

Estructura de nivel superior

El nivel raíz del manifiesto unificado, que corresponde aproximadamente al <OfficeApp> elemento del manifiesto de solo complemento, es un objeto anónimo.

Los elementos secundarios de <OfficeApp> se dividen normalmente en dos categorías nocionales. El elemento <VersionOverrides> es una categoría. El otro consta de todos los demás elementos secundarios de <OfficeApp>, a los que se hace referencia en conjunto como manifiesto base. Por lo tanto, el manifiesto unificado también tiene una división similar. Hay una propiedad de nivel "extensions" superior que corresponde aproximadamente en sus propósitos y propiedades secundarias al <VersionOverrides> elemento . El manifiesto unificado también tiene más de 10 propiedades de nivel superior que sirven colectivamente a los mismos propósitos que el manifiesto base del manifiesto de solo complemento. Estas otras propiedades se pueden considerar colectivamente como el manifiesto base del manifiesto unificado.

Manifiesto base

Las propiedades de manifiesto base especifican características del complemento que se espera que tenga cualquier tipo de extensión de Microsoft 365. Esto incluye pestañas y extensiones de mensajes de Teams, no solo complementos de Office. Estas características incluyen un nombre público y un identificador único. En la tabla siguiente se muestra una asignación de algunas propiedades críticas de nivel superior del manifiesto unificado a los elementos XML del manifiesto actual, donde el principio de asignación es el propósito del marcado.

Propiedad JSON Objetivo Elementos XML Comentarios
“$schema” Identifica el esquema del manifiesto. atributos de <OfficeApp> y <VersionOverrides> Ninguna
"id" GUID del complemento. <Id> Ninguna
"version" La versión del complemento. <Version> Ninguna
"manifestVersion" Versión del esquema del manifiesto. atributos de <OfficeApp> Ninguna
"name" Nombre público del complemento. <DisplayName> Ninguna
"description" Descripción pública del complemento. <Description> Ninguna
"accentColor" Ninguna Ninguna Esta propiedad no tiene ningún equivalente en el manifiesto de solo complemento y no se usa en el manifiesto unificado. Pero debe estar presente.
"developer" Identifica al desarrollador del complemento. <ProviderName> Ninguna
"localizationInfo" Configura la configuración regional predeterminada y otras configuraciones regionales admitidas. <DefaultLocale> y <Override> Ninguna
"webApplicationInfo" Identifica la aplicación web del complemento como se conoce en Microsoft Entra ID. <WebApplicationInfo> En el manifiesto de solo complemento, el <WebApplicationInfo> elemento está dentro <VersionOverrides>de , no en el manifiesto base.
"authorization" Identifica los permisos de Microsoft Graph que necesita el complemento. <WebApplicationInfo> En el manifiesto de solo complemento, el <WebApplicationInfo> elemento está dentro <VersionOverrides>de , no en el manifiesto base.

Los <Hosts>elementos , <Requirements>y <ExtendedOverrides> forman parte del manifiesto base del manifiesto de solo complemento. Pero los conceptos y los propósitos asociados a estos elementos se configuran dentro de la "extensions" propiedad del manifiesto unificado.

"extensions" propiedad

La "extensions" propiedad del manifiesto unificado representa principalmente las características del complemento que no serían pertinentes para otros tipos de extensiones de Microsoft 365. Por ejemplo, las aplicaciones de Office que extiende el complemento (como Excel, PowerPoint, Word y Outlook) se especifican dentro de la "extensions" propiedad , al igual que las personalizaciones de la cinta de opciones de la aplicación de Office. Los propósitos de configuración de la "extensions" propiedad coinciden estrechamente con los <VersionOverrides> del elemento en el manifiesto de solo complemento.

Nota:

La <VersionOverrides> sección del manifiesto de solo complemento tiene un sistema de "salto doble" para muchos recursos de cadena. Las cadenas, incluidas las direcciones URL, se especifican y se les asigna un identificador en el <Resources> secundario de <VersionOverrides>. Los elementos que requieren una cadena tienen un atributo resid que coincide con el identificador de una cadena en el elemento <Resources>. La "extensions" propiedad del manifiesto unificado simplifica las cosas mediante la definición de cadenas directamente como valores de propiedad. No hay nada en el manifiesto unificado que sea equivalente al <Resources> elemento .

En la tabla siguiente se muestra una asignación de algunas propiedades secundarias de alto nivel de la "extensions" propiedad en el manifiesto unificado a los elementos XML del manifiesto actual. La notación de puntos se usa para hacer referencia a las propiedades secundarias.

Nota:

Esta tabla contiene solo algunas propiedades descendientes representativas seleccionadas de "extensions". No es una lista exhaustiva de todas las propiedades secundarias de "extensions". Para obtener la referencia completa del manifiesto unificado, consulte Referencia del esquema de manifiesto de aplicación de Microsoft 365.

Propiedad JSON Objetivo Elementos XML Comentarios
"requirements.capabilities" Identifica los conjuntos de requisitos que debe instalar el complemento. que el complemento debe ser instalable. <Requirements> y <Sets> Ninguna
"requirements.scopes" Identifica las aplicaciones Office en las que se puede instalar el complemento. <Hosts> Ninguna
"ribbons" Las cintas de opciones que personaliza el complemento. <Hosts>, ExtensionPoints y varios elementos *FormFactor La "ribbons" propiedad es una matriz de objetos anónimos que combinan los propósitos de estos tres elementos. Consulte "ribbons" tabla.
"alternates" Especifica la compatibilidad con versiones anteriores con un complemento COM equivalente, XLL o ambos. <EquivalentAddins> Consulte EquivalentAddins: consulte también para obtener información general.
"runtimes" Configura los tiempos de ejecución incrustados que usa el complemento, incluidos varios tipos de complementos que tienen poca o ninguna interfaz de usuario, como complementos personalizados de solo función y comandos de función. <Runtimes>. <FunctionFile> y <ExtensionPoint> (de tipo CustomFunctions) Ninguno.
"autoRunEvents" Este punto de extensión agrega un controlador de eventos para un evento especificado. <ExtensionPoint> (de tipo LaunchEvent) Ninguno.
"keyboardShortcuts" (versión preliminar para desarrolladores) Define métodos abreviados de teclado personalizados o combinaciones de teclas para ejecutar acciones específicas. <ExtendedOverrides> Ninguno.

"ribbons" mesa

En la tabla siguiente se asignan las propiedades secundarias de los objetos secundarios anónimos de la "ribbons" matriz a los elementos XML del manifiesto actual.

Propiedad JSON Objetivo Elementos XML Comentarios
"contexts" Especifica las superficies de comandos que personaliza el complemento. Varios elementos *CommandSurface , como PrimaryCommandSurface y MessageReadCommandSurface Ninguno.
"tabs" Configura pestañas personalizadas de la cinta de opciones. <CustomTab> Los nombres y la jerarquía de las propiedades descendientes de "tabs" coinciden estrechamente con los descendientes de <CustomTab>.
"fixedControls" Configura y agrega el botón de un complemento integrado de informes de correo no deseado a la cinta de opciones de Outlook. <Control> elemento secundario de <ReportPhishingCustomization> Ninguno.
"spamPreProcessingDialog" Configura el cuadro de diálogo de preprocesamiento que se muestra después de seleccionar el botón de un complemento de informes de correo no deseado en la cinta de opciones de Outlook. <PreProcessingDialog> elemento secundario de <ReportPhishingCustomization> Ninguno.

Para obtener un manifiesto unificado de ejemplo completo, consulte Manifiesto unificado de ejemplo.

Pasos siguientes