Файл manifest.xml
Основные файлы, управляющие работой плагина:
- файл
manifest.xml
в корневом каталоге проекта определяет настройки и возможности надстройки; - файл
taskpane.html
содержит разметку HTML для области задач; - файл
taskpane.css
содержит код CSS, который применяется к содержимому области задач; - файл
taskpane.js
содержит код API JavaScript для Office, который управляет взаимодействием между областью задач и клиентским приложением Office.
Основной файл манифеста (по умолчанию manifest.xml
) состоит из записей в файле формата XML. Его основные параметры приведены ниже.
Основные параметры файла манифеста
Параметры файла manifest.xml, которые задают основные сведения о плагине:
- Элемент ProviderName может содержать название вашей компании или название плагина.
- Элемент Description содержит краткое текстовое описание плагина.
<Description DefaultValue="Эта надстройка позволяет создавать конференции VK Teams и управлять их настройками"/>
- Элемент DefaultLocale устанавливает язык по умолчанию, используемый плагином.
- Элементы, приведенные ниже, задают иконки соответствующих размеров (логотипы) приложения в выбранной области их отображения.
<IconUrl DefaultValue="https://url-adress.ru/assets/icon-64.png"/>
<HighResolutionIconUrl DefaultValue="https://url-adress.ru/assets/icon-128.png"/>
Технические параметры манифеста и область отображения
Один из важнейших параметров в блоке <FormSettings>
— параметр <SourceLocation>
. Он задает URL-адрес файла taskpane.html
, содержащий разметку HTML для выбранной области отображения.
Пример использования:
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://url-adress.ru/taskpane.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
В блоке <Resources>
задаются дополнительные параметры функциональности, вложенные файлы, управляющие функциональностью плагина, описаны ресурсы, такие как иконки, кнопки и подписи к кнопкам, используемым в плагине.
Пример использования:
<Resources>
<bt:Images>
<bt:Image id="Icon.16x16" DefaultValue="https://url-adress.ru/assets/icon-16.png"/>
<bt:Image id="Icon.32x32" DefaultValue="https://url-adress.ru/assets/icon-32.png"/>
<bt:Image id="Icon.80x80" DefaultValue="https://url-adress.ru/assets/icon-80.png"/>
</bt:Images>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="https://url-adress.ru/commands.html"/>
<bt:Url id="Taskpane.Url" DefaultValue="https://url-adress.ru/taskpane.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupLabel" DefaultValue="VK Teams Add-in"/>
<bt:String id="TaskpaneButton.Label" DefaultValue="VK Teams"/>
<bt:String id="ActionButton.Label" DefaultValue="Создать конференцию"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="TaskpaneButton.Tooltip" DefaultValue="Создать конференцию."/>
<bt:String id="ActionButton.Tooltip" DefaultValue="Создать конференцию"/>
</bt:LongStrings>
</Resources>
Дополнительные параметры и функции
Дополнительные параметры и функции могут быть организованы и заданы различными способами, однако общие пожелания по стилю разработки определены в разделе выше.
Параметр <ExtensionPoint>
определяет тип элемента, который задает параметры расположения кнопки-иконки, запускающей плагин на выполнение. Его основные параметры для Outlook:
-
MessageReadCommandSurface. Помещает кнопки на панель команд для чтения почты. В классической версии Outlook эта панель отображается на ленте.
-
MessageComposeCommandSurface. Добавляет кнопки на ленту для надстроек, использующих форму создания сообщения.
-
AppointmentOrganizerCommandSurface. Добавляет кнопки на ленту для формы, предназначенной для организатора конференции. Актуально для текущего веб-плагина.
-
AppointmentAttendeeCommandSurface. Добавляет кнопки на ленту для формы, предназначенной для участника конференции.
-
Module (может использоваться только в форм-факторе настрольных устройств). Добавляет кнопки на ленту для расширения модуля.
-
MobileMessageReadCommandSurface. Помещает кнопки на панель команд для чтения почты в форм-факторе мобильного устройства.
-
MobileOnlineMeetingCommandSurface. Помещает соответствующий режим переключателя в области команд для встречи в форм-факторе мобильного устройства. Организатор может создать конференцию по сети, а участник может впоследствии присоединиться к конференции по сети.
-
MobileLogEventAppointmentAttendee. Помещает кнопку действия журнала в область команд для встречи в форм-факторе мобильного устройства. Участники встреч, у которых установлена надстройка, могут сохранять заметки о встрече во внешнем приложении одним кликом. Эта точка расширения поддерживает функциональные возможности для команд области задач и функций. Дополнительные сведения об этом сценарии на сайте производителя.
-
LaunchEvent. Позволяет надстройке активироваться на основе поддерживаемых событий в форм-факторах настольных и мобильных устройств. Дополнительные сведения об активации на основе событий и полный список поддерживаемых событий на сайте производителя.
-
Events (LaunchEvent). Позволяет надстройке активироваться на основе поддерживаемых событий в форм-факторах настольных и мобильных устройств. Дополнительные сведения об активации на основе событий и полный список поддерживаемых событий сайте производителя.
-
DetectedEntity. Добавляет активацию контекстной надстройки для указанного типа сущности. Дополнительные сведения об использовании этой точки расширения на сайте произвиодителя.
-
ReportPhishingCommandSurface (предварительная версия). Активирует надстройку, сообщающую о спаме на ленте Outlook, и предотвращает ее появление в конце ленты или в меню переполнения.
Подробное описание параметров
Подробное описание параметров доступно на сайте производителя: Точки расширения для Outlook (Extension point).
Пример файла manifest.xml
<OfficeApp xsi:type="MailApp">
<Id>7fa0c9ac-fa88-4a1c-b380-a42691743447</Id>
<Version>1.0.0.0</Version>
<ProviderName>VK Teams</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="VK Teams"/>
<Description DefaultValue="Эта надстройка позволяет создавать конференции VK Teams и управлять их настройками"/>
<IconUrl DefaultValue="https://url-adress.ru/assets/icon-64.png"/>
<HighResolutionIconUrl DefaultValue="https://url-adress.ru/assets/icon-128.png"/>
<Hosts>
<Host Name="Mailbox"/>
</Hosts>
<Requirements>
<Sets>
<Set Name="Mailbox" MinVersion="1.1"/>
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://url-adress.ru/taskpane.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read"/></Rule>
<DisableEntityHighlighting>false</DisableEntityHighlighting>
<VersionOverrides xsi:type="VersionOverridesV1_0">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox"/>
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<FunctionFile resid="Commands.Url"/>
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadGroup2">
<Label resid="GroupLabel"/>
<Control xsi:type="Button" id="msgReadOpenPaneButton2">
<Label resid="TaskpaneButton.Label"/>
<Supertip>
<Title resid="TaskpaneButton.Label"/>
<Description resid="TaskpaneButton.Tooltip"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="Icon.16x16"/>
<bt:Image size="32" resid="Icon.32x32"/>
<bt:Image size="80" resid="Icon.80x80"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Taskpane.Url"/>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="Icon.16x16" DefaultValue="https://url-adress.ru/assets/icon-16.png"/>
<bt:Image id="Icon.32x32" DefaultValue="https://url-adress.ru/assets/icon-32.png"/>
<bt:Image id="Icon.80x80" DefaultValue="https://url-adress.ru/assets/icon-80.png"/>
</bt:Images>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="https://url-adress.ru/commands.html"/>
<bt:Url id="Taskpane.Url" DefaultValue="https://url-adress.ru/taskpane.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupLabel" DefaultValue="VK Teams Add-in"/>
<bt:String id="TaskpaneButton.Label" DefaultValue="VK Teams"/>
<bt:String id="ActionButton.Label" DefaultValue="Создать конференцию"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="TaskpaneButton.Tooltip" DefaultValue="Создать конференцию"/>
<bt:String id="ActionButton.Tooltip" DefaultValue="Создать конференцию"/>
</bt:LongStrings>
</Resources>
</VersionOverrides>
</OfficeApp>