Сравнение XML-манифеста с унифицированным манифестом для Microsoft 365
Эта статья предназначена для того, чтобы помочь читателям, знакомым с XML-манифестом, понять унифицированный манифест путем сравнения этих двух. Читатели также должны увидеть надстройки Office с унифицированным манифестом для Microsoft 365 (предварительная версия).
Примечание.
Унифицированный манифест является предварительной версией функции надстроек Office и поддерживается только для Outlook в Windows.
Схемы и общие точки
Существует только одна схема для предварительного просмотра унифицированного манифеста, в отличие от текущего XML-манифеста, который содержит в общей сложности семь схем.
Концептуальное сопоставление унифицированных и текущих XML-манифестов предварительной версии
В этом разделе описывается предварительный просмотр унифицированного манифеста для читателей, знакомых с текущим XML-манифестом. Некоторые моменты, которые следует учитывать:
Унифицированный манифест имеет формат JSON.
JSON не различает атрибут и значение элемента, как xml. Обычно JSON, сопоставляемый с XML-элементом, превращает значение элемента и каждый атрибут в дочернее свойство. В следующем примере показана разметка XML и ее эквивалент JSON.
<MyThing color="blue">Some text</MyThing>
"myThing" : { "color": "blue", "text": "Some text" }
В текущем XML-манифесте существует множество мест, где элемент с именем во множественном числе содержит дочерние элементы с отдельной версией того же имени. Например, разметка для настройки настраиваемого меню включает <элемент Items> , который может иметь несколько дочерних <элементов Элемента> . Эквивалент JSON этих элементов во множественном числе — это свойство с массивом в качестве значения. Элементы массива являются анонимными объектами, а не свойствами с именами item или item1, item2 и т. д. Ниже приведен пример.
"items": [ { -- markup for a menu item is here -- }, { -- markup for another menu item is here -- } ]
Структура верхнего уровня
Корневой уровень предварительного унифицированного манифеста, который примерно соответствует элементу <OfficeApp> в текущем XML-манифесте, является анонимным объектом.
Дочерние элементы <OfficeApp> обычно делятся на две категории. Элемент <VersionOverrides> является одной категорией. Второй состоит из всех остальных дочерних элементов <OfficeApp>, которые в совокупности называются базовым манифестом. Таким образом, предварительный просмотр унифицированного манифеста имеет аналогичное деление. Существует свойство верхнего уровня extensions, которое примерно соответствует по назначению и дочерним <свойствам элемента VersionOverrides> . Предварительный просмотр унифицированного манифеста также содержит более 10 других свойств верхнего уровня, которые в совокупности служат тем же целям, что и базовый манифест XML-манифеста. Эти другие свойства можно рассматривать в совокупности как базовый манифест единого манифеста.
Базовый манифест
Свойства базового манифеста указывают характеристики надстройки, которые должен содержать любой тип расширения Microsoft 365. Это относится ко вкладкам и расширениям для сообщений Teams, а не только к надстройкам Office. К этим характеристикам относятся общедоступное имя и уникальный идентификатор. В следующей таблице показано сопоставление некоторых критических свойств верхнего уровня в предварительном унифицированном манифесте с XML-элементами в текущем манифесте, где назначением разметки является принцип сопоставления.
Свойство JSON | Назначение | XML-элементы | Комментарии |
---|---|---|---|
"$schema" | Определяет схему манифеста. | атрибуты <OfficeApp> и <VersionOverrides> | Ни один. |
"id" | GUID надстройки. | <Id> | Ни один. |
"version" | Версия надстройки. | <Версия> | Ни один. |
"manifestVersion" | Версия схемы манифеста. | атрибуты <OfficeApp> | Ни один. |
"name" | Общедоступное имя надстройки. | <DisplayName> | Ни один. |
"description" | Общедоступное описание надстройки. | <Описание> | Ни один. |
"accentColor" | Ни один. | Ни один. | Это свойство не имеет эквивалента в текущем XML-манифесте и не используется в предварительной версии унифицированного манифеста. Но оно должно присутствовать. |
"developer" | Определяет разработчика надстройки. | <ProviderName> | Ни один. |
"localizationInfo" | Настраивает языковой стандарт по умолчанию и другие поддерживаемые языковые стандарты. | <DefaultLocale> и <Переопределение> | Ни один. |
"webApplicationInfo" | Определяет веб-приложение надстройки по его имени в Azure Active Directory. | <WebApplicationInfo> | В текущем XML-манифесте <элемент WebApplicationInfo> находится внутри <VersionOverrides>, а не в базовом манифесте. |
"authorization" | Определяет все разрешения Microsoft Graph, необходимые надстройке. | <WebApplicationInfo> | В текущем XML-манифесте <элемент WebApplicationInfo> находится внутри <VersionOverrides>, а не в базовом манифесте. |
Элементы <Hosts>, <Requirements> и <ExtendedOverrides> являются частью базового манифеста в текущем XML-манифесте. Но понятия и цели, связанные с этими элементами, настраиваются в свойстве extensions унифицированного манифеста предварительной версии.
Свойство extensions
Свойство extensions в манифесте предварительной версии в основном представляет характеристики надстройки, которые не будут иметь отношения к другим типам расширений Microsoft 365. Например, приложения Office, которые расширяет надстройка (например, Excel, PowerPoint, Word и Outlook), указываются в свойстве extensions, как и настройки ленты приложения Office. Назначение конфигурации свойства extensions точно совпадает с целями <элемента VersionOverrides> в текущем XML-манифесте.
Примечание.
Раздел <VersionOverrides> текущего XML-манифеста имеет систему двойного перехода для многих строковых ресурсов. Строки, включая URL-адреса, задаются и назначаются идентификаторы в дочернем элементе< Resources>объекта VersionOverrides>.< Элементы, которым требуется строка, resid
имеют атрибут, соответствующий идентификатору строки в элементе <Resources> . Свойство extensions унифицированного манифеста предварительного просмотра упрощает работу, определяя строки непосредственно в качестве значений свойств. В унифицированном манифесте нет ничего эквивалентного элементу <Resources> .
В следующей таблице показано сопоставление некоторых высокоуровневых дочерних свойств свойства extensions в предварительной версии унифицированного манифеста с XML-элементами в текущем манифесте. Точечная нотация используется для ссылки на дочерние свойства.
Свойство JSON | Назначение | XML-элементы | Комментарии |
---|---|---|---|
"requirements.capabilities" | Определяет наборы требований , которые необходимо установить надстройке. что надстройка должна быть установлена. | <Требования> и <наборы> | Ни один. |
"requirements.scopes" | Определяет приложения Office, в которых можно установить надстройку. | <Hosts> | Ни один. |
"ribbons" | Ленты, которые настраивает надстройка. | <Hosts>, ExtensionPoints и различные элементы *FormFactor | Свойство ribbons представляет собой массив анонимных объектов, каждый из которых объединяет назначение этих трех элементов. См. раздел Таблица "ribbons". |
"alternatives" | Указывает обратную совместимость с эквивалентной надстройкой COM, XLL или обоими вариантами. | <EquivalentAddins> | Базовые сведения см. в разделе EquivalentAddins — дополнительные сведения. |
"runtimes" | Настраивает внедренные среды выполнения , которые использует надстройка, в том числе различные типы надстроек, которые имеют практически или не имеют пользовательского интерфейса, например пользовательские надстройки только для функций и команды функций. | <>Среды выполнения. <FunctionFile> и <ExtensionPoint> (типа CustomFunctions) | Ни один. |
"autoRunEvents" | Настраивает обработчик для указанного события. | <ExtensionPoint> (типа LaunchEvent) | Ни один. |
Таблица "ribbons"
В следующей таблице дочерние свойства анонимных дочерних объектов в массиве "ribbons" сопоставлены с XML-элементами текущего манифеста.
Свойство JSON | Назначение | XML-элементы | Комментарии |
---|---|---|---|
"contexts" | Указывает поверхности команд, которые настраивает надстройка. | различные элементы *CommandSurface , такие как PrimaryCommandSurface и MessageReadCommandSurface | Ни один. |
"tabs" | Настраивает пользовательские вкладки ленты. | <CustomTab> | Имена и иерархия свойств потомков вкладок точно соответствуют потомкам <CustomTab>. |
Полный пример унифицированного манифеста см. в разделе Пример унифицированного манифеста предварительного просмотра.
Дальнейшие действия
Office Add-ins
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по