Изучение структуры манифеста приложения и пакета надстройки SharePoint
Структура пакета надстройки SharePoint
Пакет надстройки SharePoint — это файл с расширением APP, который соответствует стандарту Open Packaging Conventions (OPC). Панель инструментов поиска содержит перечисленные ниже элементы.
Манифест надстройки. Это обязательный файл с именем appmanifest.xml. Он сообщает SharePoint некоторые важные свойства надстройки, такие как название и необходимые для запуска разрешения. Дополнительные сведения о содержимом этого файла см. в разделе Файл манифеста надстройки SharePoint.
Пакеты решений SharePoint. Надстройка может дополнительно включать пакет решений SharePoint (WSP-файл), содержащий компоненты сайта надстройки. К последним могут относиться страницы, экземпляры списков, представления, документы, компоненты на уровне веб-сайта и другие компоненты SharePoint. (Дополнительные сведения о том, какие компоненты SharePoint можно включить в надстройку SharePoint, см. в разделе Типы компонентов SharePoint, которые могут быть в надстройке SharePoint.) WSP-файл также может содержать надстройки Office. Компоненты в WSP-файле развертываются на веб-сайте надстройки. Пример пакета надстройки, включающего пакет решений SharePoint, приведен в статье Создание надстройки с размещением у поставщика, которая включает пользовательский список SharePoint и тип контента.
Компоненты хост-сайта с дополнительными действиями или веб-частями надстройки. Кроме компонентов SharePoint, которые разворачиваются на сайте надстройки, надстройка SharePoint может также разворачивать одно или несколько дополнительных действий (элементов контекстного меню или расширений ленты) на хост-сайте. Для этого в пакет надстройки включается компонент, не входящий в WSP-файл пакета и разворачивающий компоненты, которые попадут на хост-сайт. Этот "свободный" компонент называется компонентом хост-сайта.
Части надстроек развертываются на хост-сайте таким же образом. Компонент хост-сайта состоит из стандартного файла feature.xml SharePoint и одного или нескольких связанных elements.xml файлов. Например, файл elements.xml для настраиваемого действия содержит разметку CustomAction для настраиваемого действия. Он также может включать разметку для частей надстройки. В функции хост-сайта могут находиться только эти два типа компонентов. Эти функции хост-сайта не отображаются в манифесте надстройки. Однако они являются "частями" в смысле OPC, и существует явная связь OPC между манифестом надстройки и каждым из этих файлов. Пример пакета надстройки, который включает функцию хост-сайта, см. в статье Создание пользовательских действий для развертывания с помощью надстроек SharePoint.
Примечание.
Администраторы клиента могут выполнять пакетную установку надстройки SharePoint на несколько веб-сайтов. Надстройка, установленная таким образом, называется надстройкой на уровне клиента. Если надстройка устанавливается не в пакетном режиме, а отдельно на каждый веб-сайт, то это надстройка на уровне Web (Интернет). Если компонент хост-сайта включает расширения ленты или веб-части надстройки, то при пакетной установке надстройки они не развертываются на хост-сайтах, так что только элементы контекстного меню развертываются с надстройками на уровне Tenant (Клиент).
Уровень надстройки не следует путать с уровнем компонента. Уровень компонента определяет, где будут развернуты элементы компонента. Возможные уровни: Farm (Ферма), WebApplication (Веб-приложение), Site (Сайт, т. е. семейство веб-сайтов) и Web (Интернет). Для компонентов в надстройках SharePoint (и для компонентов хост-сайтов, и для компонентов в WSP-файле в пакете надстройки) разрешен только вариант Web (Интернет).
Уровень надстройки относится к уровню, на котором установлена надстройка. Возможные уровни: Web (Интернет), когда надстройка установлена на одном или нескольких веб-сайтах по очереди, и Tenant (Клиент), когда надстройка установлена в пакетном режиме на несколько веб-сайтов в области клиента пользователя.
Дополнительные сведения об уровнях Tenant (Клиент) и Web (Интернет) см. в статье Области клиентов и области развертывания для надстроек SharePoint.
Файлы ресурсов для локализации (.resx). Это составляющие манифеста надстройки для локализации, которые включают название надстройки и составляющие компонентов хост-сайта в пакете надстройки. (Отдельные части пакета надстройки, находящиеся внутри собственных пакетов, такие как файлы .wsp, пакеты веб-сайтов Azure и манифесты надстроек, отличаются собственными процессами локализации, которые применяются точно так же, как если бы элементы, о которых идет речь, не входили в надстройку SharePoint). Пример пакета надстройки, содержащего файлы .resx для компонента хост-сайта, можно найти в статье Локализация надстроек SharePoint.
Манифесты надстроек Office. При необходимости пакет надстройки Office может включать один или несколько манифестов надстроек Office. Эту часть можно включить в пакет надстройки, только если надстройку планируется отправить в корпоративный каталог надстроек SharePoint, а не в общедоступный магазин. Дополнительные сведения см. в статье Публикация надстроек SharePoint.
Файл манифеста надстройки SharePoint
Каждая надстройка SharePoint содержит appmanifest.xml файл. appmanifest.xml сообщает SharePoint, что она должна знать о надстройке, и определяет наиболее важные свойства надстройки. Далее приводятся некоторые элементы, которые задаются в манифесте.
Внутреннее имя, идентификатор продукта и версия надстройки.
URL-адрес начальной страницы, которая открывается при запуске надстройки. Это может быть страница в веб-сайте надстройки, облачная страница или страница на веб-сервере независимого поставщика программного обеспечения.
Примечание.
При определенных обстоятельствах могут накладываться ограничения, из-за которых в элементе StartPage можно указывать не все типы файлов. Подробнее см. в статье Элемент StartPage (complexType PropertiesDefinition, манифест надстройки SharePoint). При объединении нескольких параметров запроса в значении StartPage необходимо использовать код амперсанда
&
вместо&
или точки с запятой, чтобы указать их вместе.Другие свойства надстройки. К ним относятся заголовок и языковые стандарты, поддерживаемые надстройкой (оба являются обязательными), URL-адреса служб, которые обрабатывают события после установки, обновления и предварительного удаления, а также веб-шаблон, используемый при создании веб-сайта надстройки.
Запросы разрешений, необходимых надстройке для доступа к ресурсам SharePoint вне сайта надстройки.
Идентификация субъекта надстройки в целях проверки подлинности и авторизации. Это субъект, который предоставляет разрешения. Это не требуется для надстройки, размещенной в SharePoint.
Список необходимых компонентов (при наличии), которые должны быть доступны для установки надстройки. Например, вам может потребоваться установить, лицензировать и активировать определенные компоненты или службы.
Примечание.
Файл манифеста надстройки — единственный обязательный элемент в пакете надстройки, но не все элементы в списке выше должны обязательно входить в этот файл.
Подробнее о разметке манифеста надстройки см. в статье Справочник по схеме для манифестов надстроек SharePoint. Эта статья не заменяет сведения из указанного статьи, в том числе информацию об обязательных элементах и атрибутах. Кроме того, обратите внимание, что схема манифестов надстроек SharePoint отличается от схемы манифестов надстроек Office. Дополнительные сведения можно найти в статье Справка по схеме для манифестов надстроек Office (версия 1.1).
Далее приводится пример файла appmanifest.xml. Обратите внимание, что в этом примере начальной страницей надстройки является страница ASP.NET, находящаяся на удаленном сервере, а не страница сайта SharePoint. URL-адрес этой страницы включает строку запроса, которая передает в удаленное веб-приложение URL-адрес хост-сайта. Часть {HostUrl}
строки является маркером, который разрешается при запуске надстройки. Надстройка запрашивает разрешение на запись во все списки на хост-сайте. Субъектом надстройки, которому необходимо предоставить это разрешение, является удаленное веб-приложение.
В манифесте надстройки вам необходимо использовать элемент SupportedLocales или SupportedLanguages. Элемент SupportedLanguages устарел и теперь заменяется элементом SupportedLocales. Элемент SupportedLanguages будет работать даже после выпуска, однако следует воздерживаться от его использования. Дополнительные сведения об этих элементах см. в статьях Элемент SupportedLocales (complexType PropertiesDefinition, манифест надстройки SharePoint) и Элемент SupportedLanguages (complexType PropertiesDefinition, манифест надстройки SharePoint).
Примечание.
Значения атрибута Scope элемента AppPermissionRequest структурированы как универсальный код ресурса (URI), но фактически это строковые литералы. Ни одна часть значения Scope в примере ниже не является заполнителем. Дополнительные сведения о разрешениях см. в статье Разрешения для надстроек SharePoint.
<?xml version="1.0" encoding="utf-8" ?>
<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
Version="1.0.0.0"
SharePointMinVersion="15.0.0.0"
Name="MySampleApp"
>
<Properties>
<Title>My Sample App</Title>
<StartPage>http://MyRemoteWebApplicationServer/default.aspx/?SPHostUrl={HostUrl}</StartPage>
<SupportedLocales>
<SupportedLocale CultureName="en-US" />
</SupportedLocales>
</Properties>
<AppPermissionRequests>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
</AppPermissionRequests>
<AppPrincipal>
<RemoteWebApplication ClientId="1ee82b34-7c1b-471b-b27e-ff272accd564" />
</AppPrincipal>
</App>
Маркеры URL-адресов в манифесте надстройки
SharePoint предоставляет несколько маркеров, которые можно использовать в элементе StartPage и других местах в надстройках и компонентах надстроек для представления сведений, которые неизвестны до запуска надстройки. Инфраструктура SharePoint разрешает эти маркеры. Одни маркеры используются в начале URL-адреса, а другие можно использовать в URL-адресе в качестве значения параметра запроса. Эти маркеры и ряд других маркеров также можно использовать в различных контекстах разработки SharePoint.
Подробные сведения обо всех этих маркерах и о том, где их можно использовать, см. в статье Токены и строки URL-адресов в надстройках SharePoint. Общие сведения об остальных маркерах и URL-адресах в SharePoint см. в статье URL-адреса и маркеры в SharePoint.
Примечание.
Эти маркеры не используются в атрибуте Scope элемента AppPermissionRequest.