Сравнение манифеста только надстройки с унифицированным манифестом для Microsoft 365
Эта статья предназначена для того, чтобы помочь читателям, знакомым с манифестом надстройки, понять унифицированный манифест путем сравнения этих двух. Читатели также должны увидеть надстройки Office с унифицированным манифестом для Microsoft 365.
Примечание.
В настоящее время унифицированный манифест поддерживает только надстройки Outlook и только в Office, связанных с подпиской Microsoft 365 и установленных в Windows, на мобильном устройстве или в Outlook в Интернете. Мы работаем над расширением поддержки Excel, PowerPoint и Word, а также Outlook на Mac и бессрочных версий Office.
Схемы и общие точки
Существует только одна схема для единого манифеста, в отличие от манифеста только надстройки, который содержит в общей сложности семь схем.
Концептуальное сопоставление унифицированных манифестов и манифестов только надстроек
В этом разделе описывается унифицированный манифест для читателей, знакомых только с манифестом надстройки. Некоторые моменты, которые следует учитывать:
Унифицированный манифест имеет формат JSON.
JSON не различает атрибут и значение элемента, как xml. Обычно JSON, сопоставляемый с XML-элементом, превращает значение элемента и каждый атрибут в дочернее свойство. В следующем примере показана разметка XML и ее эквивалент JSON.
<MyThing color="blue">Some text</MyThing>
"myThing" : { "color": "blue", "text": "Some text" }
В манифесте надстройки есть много мест, где элемент с именем во множественном числе имеет дочерние элементы с единственной версией с тем же именем. Например, разметка для настройки настраиваемого меню включает <элемент Items> , который может иметь несколько дочерних <элементов Элемента> . Эквивалент JSON этих элементов во множественном числе — это свойство с массивом в качестве значения. Элементы массива являются анонимными объектами, а не свойствами с именами item или item1, item2 и т. д. Ниже приведен пример.
"items": [ { -- markup for a menu item is here -- }, { -- markup for another menu item is here -- } ]
Структура верхнего уровня
Корневой уровень унифицированного манифеста, который примерно соответствует элементу <OfficeApp> в манифесте только надстройки, является анонимным объектом.
Дочерние элементы <OfficeApp> обычно делятся на две категории. Элемент <VersionOverrides> является одной категорией. Второй состоит из всех остальных дочерних элементов <OfficeApp>, которые в совокупности называются базовым манифестом. Таким образом, унифицированный манифест имеет аналогичное деление. Существует свойство верхнего уровня extensions, которое примерно соответствует по назначению и дочерним <свойствам элемента VersionOverrides> . Унифицированный манифест также имеет более 10 других свойств верхнего уровня, которые в совокупности служат тем же целям, что и базовый манифест только манифеста надстройки. Эти другие свойства можно рассматривать в совокупности как базовый манифест единого манифеста.
Базовый манифест
Свойства базового манифеста указывают характеристики надстройки, которые должен содержать любой тип расширения Microsoft 365. Это относится ко вкладкам и расширениям для сообщений Teams, а не только к надстройкам Office. К этим характеристикам относятся общедоступное имя и уникальный идентификатор. В следующей таблице показано сопоставление некоторых критически важных свойств верхнего уровня в унифицированном манифесте с XML-элементами в текущем манифесте, где принцип сопоставления является целью разметки.
Свойство JSON | Назначение | XML-элементы | Комментарии |
---|---|---|---|
"$schema" | Определяет схему манифеста. | атрибуты <OfficeApp> и <VersionOverrides> | Нет |
"id" | GUID надстройки. | <Id> | Нет |
"version" | Версия надстройки. | <Версия> | Нет |
"manifestVersion" | Версия схемы манифеста. | атрибуты <OfficeApp> | Нет |
"name" | Общедоступное имя надстройки. | <DisplayName> | Нет |
"description" | Общедоступное описание надстройки. | <Описание> | Нет |
"accentColor" | Нет | Нет | Это свойство не имеет эквивалента в манифесте только надстройки и не используется в унифицированном манифесте. Но оно должно присутствовать. |
"developer" | Определяет разработчика надстройки. | <ProviderName> | Нет |
"localizationInfo" | Настраивает языковой стандарт по умолчанию и другие поддерживаемые языковые стандарты. | <DefaultLocale> и <Переопределение> | Нет |
"webApplicationInfo" | Определяет веб-приложение надстройки по его имени в Azure Active Directory. | <WebApplicationInfo> | В манифесте только надстройки <элемент WebApplicationInfo> находится внутри <VersionOverrides>, а не в базовом манифесте. |
"authorization" | Определяет все разрешения Microsoft Graph, необходимые надстройке. | <WebApplicationInfo> | В манифесте только надстройки <элемент WebApplicationInfo> находится внутри <VersionOverrides>, а не в базовом манифесте. |
Элементы <Hosts>, <Requirements> и <ExtendedOverrides> являются частью базового манифеста только в манифесте надстройки. Но понятия и цели, связанные с этими элементами, настраиваются в свойстве extensions унифицированного манифеста.
Свойство extensions
Свойство extensions в унифицированном манифесте в основном представляет характеристики надстройки, которые не будут иметь отношения к другим типам расширений Microsoft 365. Например, приложения Office, которые расширяет надстройка (например, Excel, PowerPoint, Word и Outlook), указываются в свойстве extensions, как и настройки ленты приложения Office. Назначение конфигурации свойства extensions точно совпадает с целями <элемента VersionOverrides> в манифесте только надстройки.
Примечание.
Раздел <VersionOverrides> только манифеста надстройки имеет систему двойного перехода для многих строковых ресурсов. Строки, включая 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