Vergleichen des XML-Manifests mit dem einheitlichen Manifest für Microsoft 365

Dieser Artikel soll Lesern, die mit dem XML-Manifest vertraut sind, helfen, das einheitliche Manifest zu verstehen, indem die beiden verglichen werden. Leser sollten auch Office-Add-Ins mit dem einheitlichen Manifest für Microsoft 365 (Vorschau) sehen.

Hinweis

Das einheitliche Manifest ist eine Vorschaufunktion von Office-Add-Ins und wird nur für Outlook unter Windows unterstützt.

Schemas und allgemeine Punkte

Es gibt nur ein Schema für das einheitliche Vorschaumanifest, im Gegensatz zum aktuellen XML-Manifest, das insgesamt sieben Schemas enthält.

Konzeptionelle Zuordnung der vereinheitlichten und aktuellen XML-Manifeste der Vorschau

In diesem Abschnitt wird das einheitliche Vorschaumanifest für Leser beschrieben, die mit dem aktuellen XML-Manifest vertraut sind. Einige Punkte, die Sie beachten sollten:

  • Das einheitliche Manifest ist JSON-formatiert.

  • JSON unterscheidet nicht wie XML zwischen Attribut- und Elementwert. In der Regel macht der JSON-Code, der einem XML-Element zugeordnet ist, sowohl den Elementwert als auch jedes der Attribute zu einer untergeordneten Eigenschaft. Das folgende Beispiel zeigt ein XML-Markup und sein JSON-Äquivalent.

    <MyThing color="blue">Some text</MyThing>
    
    "myThing" : {
        "color": "blue",
        "text": "Some text"
    }
    
  • Es gibt viele Stellen im aktuellen XML-Manifest, an denen ein Element mit einem Pluralnamen untergeordnete Elemente mit der Singularversion desselben Namens hat. Beispielsweise enthält das Markup zum Konfigurieren eines benutzerdefinierten Menüs ein <Items-Element> , das mehrere <untergeordnete Elemente des Elementelements> aufweisen kann. Das JSON-Äquivalent dieser Pluralelemente ist eine Eigenschaft mit einer Matrix als Wert. Die Elemente des Arrays sind anonyme Objekte, keine Eigenschaften mit dem Namen "Element" oder "Element1", "Element2" usw. Im Folgenden sehen Sie ein Beispiel.

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

Struktur der obersten Ebene

Die Stammebene des einheitlichen Vorschaumanifests, das ungefähr dem <OfficeApp-Element> im aktuellen XML-Manifest entspricht, ist ein anonymes Objekt.

Die untergeordneten Elemente von <OfficeApp> sind häufig in zwei fiktive Kategorien unterteilt. Das <VersionOverrides-Element> ist eine Kategorie. Das andere besteht aus allen anderen untergeordneten Elementen von <OfficeApp>, die zusammen als Basismanifest bezeichnet werden. Auch das vereinheitlichte Vorschaumanifest weist eine ähnliche Unterteilung auf. Es gibt eine "extensions"-Eigenschaft der obersten Ebene, die in ihren Zwecken und untergeordneten Eigenschaften ungefähr dem <VersionOverrides-Element> entspricht. Das einheitliche Vorschaumanifest verfügt auch über mehr als 10 weitere Eigenschaften der obersten Ebene, die zusammen die gleichen Zwecke wie das Basismanifest des XML-Manifests erfüllen. Diese anderen Eigenschaften können zusammen als Basismanifest des einheitlichen Manifests betrachtet werden.

Basismanifest

Die Basismanifesteigenschaften geben Merkmale des Add-Ins an, die jede Art von Erweiterung von Microsoft 365 aufweisen soll. Dazu gehören Teams-Registerkarten und Nachrichtenerweiterungen, nicht nur Office-Add-Ins. Zu diesen Merkmalen gehören ein öffentlicher Name und eine eindeutige ID. Die folgende Tabelle zeigt eine Zuordnung einiger kritischer Eigenschaften der obersten Ebene im einheitlichen Vorschaumanifest zu den XML-Elementen im aktuellen Manifest, wobei das Zuordnungsprinzip der Zweck des Markups ist.

JSON-Eigenschaft Zweck XML-Elemente Kommentare
"$schema" Identifiziert das Manifestschema. Attribute von <OfficeApp> und <VersionOverrides> Nichts.
"id" GUID des Add-Ins. <ID> Nichts.
"version" Version des Add-Ins. <Version> Nichts.
"manifestVersion" Version des Manifestschemas. Attribute von <OfficeApp> Nichts.
"name" Öffentlicher Name des Add-Ins. <DisplayName> Nichts.
"description" Öffentliche Beschreibung des Add-Ins. <Beschreibung> Nichts.
"accentColor" Nichts. Nichts. Diese Eigenschaft hat keine Entsprechung im aktuellen XML-Manifest und wird nicht in der Vorschau des einheitlichen Manifests verwendet. Sie muss jedoch vorhanden sein.
„developer“ Identifiziert den Entwickler des Add-Ins. <ProviderName> Nichts.
"localizationInfo" Konfiguriert das Standardgebietsschema und andere unterstützte Gebietsschemas. <DefaultLocale> und <Außerkraftsetzung> Nichts.
"webApplicationInfo" Identifiziert die Web-App des Add-Ins, wie sie in Azure Active Directory bekannt ist. <WebApplicationInfo> Im aktuellen XML-Manifest befindet sich das <WebApplicationInfo-Element> in <VersionOverrides>, nicht im Basismanifest.
"authorization" Identifiziert alle Microsoft Graph Berechtigungen, die das Add-In benötigt. <WebApplicationInfo> Im aktuellen XML-Manifest befindet sich das <WebApplicationInfo-Element> in <VersionOverrides>, nicht im Basismanifest.

Die <Elemente Hosts>, <Requirements> und <ExtendedOverrides> sind Teil des Basismanifests im aktuellen XML-Manifest. Konzepte und Zwecke, die diesen Elementen zugeordnet sind, werden jedoch in der Eigenschaft "extensions" des einheitlichen Vorschaumanifests konfiguriert.

Eigenschaft "extensions"

Die Eigenschaft "extensions" im einheitlichen Vorschaumanifest stellt in erster Linie Merkmale des Add-Ins dar, die für andere Arten von Microsoft 365-Erweiterungen nicht relevant wären. Beispielsweise werden die Office-Anwendungen, die das Add-In erweitert (z. B. Excel, PowerPoint, Word und Outlook), in der Eigenschaft "extensions" angegeben, ebenso wie Anpassungen des Menübands der Office-Anwendung. Die Konfigurationszwecke der Eigenschaft "extensions" stimmen genau mit denen des <VersionOverrides-Elements> im aktuellen XML-Manifest überein.

Hinweis

Der <Abschnitt VersionOverrides> des aktuellen XML-Manifests verfügt über ein Doppelsprungsystem für viele Zeichenfolgenressourcen. Zeichenfolgen, einschließlich URLs, werden angegeben und im untergeordneten Ressourcen-Element> von VersionOverrides eine ID< zugewiesen.>< Elemente, die eine Zeichenfolge erfordern, verfügen über ein resid Attribut, das der ID einer Zeichenfolge im <Resources-Element> entspricht. Die Eigenschaft "extensions" des einheitlichen Vorschaumanifests vereinfacht die Dinge, indem Zeichenfolgen direkt als Eigenschaftswerte definiert werden. Das einheitliche Manifest enthält nichts, das dem <Resources-Element> entspricht.

Die folgende Tabelle zeigt eine Zuordnung einiger übergeordneter untergeordneter Eigenschaften der Eigenschaft "extensions" im einheitlichen Vorschaumanifest zu XML-Elementen im aktuellen Manifest. Punktnotation wird verwendet, um auf untergeordnete Eigenschaften zu verweisen.

JSON-Eigenschaft Zweck XML-Elemente Kommentare
"requirements.capabilities" Gibt die Anforderungssätze an , die das Add-In installieren können muss. , dass das Add-In installierbar sein muss. <Anforderungen> und <Sätze> Nichts.
"requirements.scopes" Identifiziert die Office-Anwendungen, in denen das Add-In installiert werden kann. <Hosts> Nichts.
"Menübänder" Die Menübänder, die das Add-In anpassen. <Hosts>, ExtensionPoints und verschiedene *FormFactor-Elemente Die Eigenschaft "Menübänder" ist eine Matrix anonymer Objekte, die jeweils die Zwecke dieser drei Elemente zusammenführen. Weitere Informationen finden Sie in der "Menübänder"-Tabelle.
"alternatives" Gibt Die Abwärtskompatibilität mit einem entsprechenden COM-Add-In, XLL oder beidem an. <EquivalentAddins> Siehe EquivalentAddins – Hintergrundinformationen finden Sie auch unter .
"runtimes" Konfiguriert die eingebetteten Runtimes , die das Add-In verwendet, einschließlich verschiedener Arten von Add-Ins, die wenig oder keine Benutzeroberfläche haben, z. B. benutzerdefinierte Add-Ins, die nur funktionen und Funktionsbefehle verwenden. <Runtimes>. <FunctionFile> und <ExtensionPoint> (vom Typ CustomFunctions) Nichts.
"autoRunEvents" Konfiguriert einen Ereignishandler für ein angegebenes Ereignis. <ExtensionPoint> (vom Typ LaunchEvent) Nichts.

Tabelle "Menübänder"

In der folgenden Tabelle werden die untergeordneten Eigenschaften der anonymen untergeordneten Objekte in der Matrix "Menübänder" den XML-Elementen im aktuellen Manifest zugeordnet.

JSON-Eigenschaft Zweck XML-Elemente Kommentare
"contexts" Gibt die Befehlsoberflächen an, die das Add-In anpasst. verschiedene *CommandSurface-Elemente , z. B . PrimaryCommandSurface und MessageReadCommandSurface Nichts.
"tabs" Konfiguriert benutzerdefinierte Menübandregisterkarten. <CustomTab> Die Namen und die Hierarchie der Nachfolgereigenschaften von "tabs" stimmen eng mit den Nachfolgern von <CustomTab überein>.

Ein vollständiges Beispiel für ein einheitliches Manifest finden Sie unter Einheitliches Beispielmanifest für die Vorschau.

Nächste Schritte