Компоненты пакета решений
Содержание:
Элемент Solution
Элемент FeatureManifest
Элемент Assembly
Элемент ApplicationResourceFile
Элемент CodeAccessSecurity
Элемент DwpFile
Элемент Resource
Элемент SiteDefinitionManifest
Элемент RootFile
Элемент TemplateFile
В этой статье обсуждается структура пакетов решений и дается описание схем решений и элементов, входящих в состав пакетов решений.
Пакет решений представляет собой распространяемый пакет, содержащий разработанные пользователем элементы Office SharePoint Server 2007 и Windows SharePoint Services 3.0 для веб-серверов (и, возможно, для серверов приложений) в ферме серверов. В пакет решений могут быть включены следующие компоненты.
Сборки .NET Framework, заключающие код, лежащий в основе решения.
Файлы развертывания, такие как файлы ресурсов, изображения или другие вспомогательные файлы.
Многие решения включают новые шаблоны и определения для сайтов, списков, библиотек, полей, типов контента и много другого. Эти определения представлены в виде XML-файлов на основе CAML.
Пользовательские настройки, которые требуется выполнить на уровне веб-сервера, например, изменение файлов Web.config для регистрации веб-частей.
Кроме того, необходимо включить файл манифеста для помощи системе Office SharePoint Server 2007 в процессе развертывания пакета решений. Файл манифеста содержит список всех активов, включенных в пакет решений, вместе с информацией о расположении целевых объектов для этих активов и различных конфигурациях, в которых эти активы используются. Определение схемы для файла манифеста включено в файл Wss.xsd, находящийся в системной папке Office SharePoint Server 2007.
Дополнительные сведения о пакетах решений см. в статье Пакеты решений и веб-частей (https://go.microsoft.com/fwlink/?linkid=106479&clcid=0x419) в пакете средств разработки программного обеспечения Windows SharePoint Services 3.0 на веб-сайте MSDN.
В следующих разделах описаны все элементы файла пакета решений.
Элемент Solution
Элемент Solution является корневым элементом файла манифеста. Атрибут SolutionId — это важный элемент файла, который идентифицирует решение в хранилище решений (являющемся частью базы данных конфигурации). Идентификация решения производится с помощью глобального уникального идентификатора (GUID), например:
<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >
</Solution>
DeploymentServerType и ResetWebServer являются необязательными атрибутами. DeploymentServerType может иметь два допустимых значения: ApplicationServer или WebFrontEnd. Обычно большинство пользовательских решений ориентировано на веб-серверы его фермы серверов. Примеры решений, ориентированных на серверы приложений — в частности, серверы индексирования, серверы, поддерживающие службы Excel, серверы преобразования документов и т. д. — это пользовательские конфигурации или дополнительные пользовательские конвертеры. Атрибут IISReset можно использовать для сброса служб IIS, когда решение развертывается для конкретного веб-приложения IIS.
Элемент FeatureManifest
Возможности играют важную роль во многих решениях продуктов и технологий SharePoint, поскольку они представляют индивидуальные компоненты решения — например, тип поля, веб-часть, рабочий процесс и т. д. Необходимо представить каждую возможность, включенную в решение, с помощью элемента FeatureManifest. В следующем примере кода возможность оповещает о веб-части на сайте SharePoint.
<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >
<FeatureManifests>
<FeatureManifest Location="HelloWorldWebPart_28c3eefe-2c03-4791-9f69-4405c80e1d92\feature.xml" />
</FeatureManifests>
…
</Solution>
При развертывании решения на веб-сервере все файлы, относящиеся к возможностям, копируются в указанное местоположение.
Элемент Assembly
В состав большинства решений SharePoint входит не менее одной сборки .NET Framework. Элемент Assembly используется в файле манифеста для того, чтобы сделать динамически подключаемую библиотеку (DLL) доступной на целевом сервере. Например:
<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >
…
<Assemblies>
<Assembly Location="HelloWorldWebPart.dll" DeploymentTarget="GlobalAssemblyCache" >
<SafeControls>
<SafeControl Assembly="HelloWorldWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="MSDN" TypeName="HelloWorldWebPart" Safe="True" />
</SafeControls>
</Assembly>
</Assemblies>
</Solution>
Первый атрибут элемента Assembly — это Location, который сохраняет относительный путь к DLL в файле решения. Далее, имеется атрибут DeploymentTarget, который может принимать два возможных значения: GlobalAssemblyCache или WebApplication. Значение GlobalAssemblyCache показывает, что сборка должна быть развернута в глобальном кэше сборок. Значение WebApplication воспринимается системой Windows SharePoint Services 3.0 как приказ поместить сборку в папку частных приложений. Как отмечено ниже, значение WebApplication подразумевает, что используемое решение зависит от уровня доверия, который устанавливается администратором в файле Web.config, связанном с веб-приложением IIS. Развертывание сборки в глобальном кэше сборок, который является полностью надежным расположением, означает, что пользователю, являющемуся разработчиком, не надо беспокоиться по поводу установки этого уровня доверия.
Веб-части в решении должны быть зарегистрированы как безопасные элементы управления в файле Web.config. Элемент Assembly может в свою очередь содержать один или несколько элементов SafeControl (сгруппированных вместе в элемент SafeControls). Каждый элемент SafeControl описывает в файле Web.config конфигурацию, которая должна быть выполнена.
Другой возможный набор дочерних элементов элемента Assembly образуют элементы ClassResource (сгруппированные вместе в элементе ClassResources). Каждый из них представляет возможный ресурс, в котором нуждается разворачиваемая сборка. Примерами являются файлы ресурсов, XML-файлы или изображения.
Элемент ApplicationResourceFile
Файлы манифеста могут содержать один или несколько элементов ApplicationResourceFile с относительными путями к ресурсному файлу, который должен быть развернут. Во время развертывания ресурсные файлы копируются в папку ресурсов частных приложений веб-приложения IIS. Например:
<Solution SolutionId="8f37f0a7-ec35-4a63-9c3d-91205d9a2ac6"
xmlns="https://schemas.microsoft.com/sharepoint/" >
…
<ApplicationResourceFiles>
<ApplicationResourceFile Location="hellowp.resx"/>
<ApplicationResourceFile Location="hellowp.en-us.resx"/>
</ApplicationResourceFiles>
</Solution>
Элемент CodeAccessSecurity
Важно включить элемент CodeAccessSecurity в файл манифеста, если требуется предоставить пользовательскому коду особые разрешения. Коротко говоря, элемент CodeAccessSecurity имеет один или несколько дочерних элементов PolicyItem, каждый из которых определяет специфические особенности, относящиеся к политике безопасности доступа решения к коду. Элемент политики состоит из двух частей: список разрешений и сборки, для которых эти разрешения должны играть роль.
Список разрешений, каждое из которых представлено в элементе IPermission, формируется в элементе PermissionSet, который является дочерним элементом элемента PolicyItem. Каждый элемент IPermission определяет разрешение безопасного доступа к коду, которое требуется для корректной работы сборки.
Один или несколько элементов Assembly могут играть роль в безопасности доступа к коду. От пользователя требуется определить их одного за другим, присвоив каждому имя, версию и полный открытый ключ.
Элемент DwpFile
Перед тем, как веб-части смогут появляться на страницах веб-частей, они должны стать доступными в коллекции веб-частей. Информация, необходимая для того, чтобы сделать веб-части доступными, хранится в XML-файлах с расширениями DWP или WEBPART. Файл манифеста решения может содержать один или несколько элементов DwpFile, собранных вместе в элементе DwpFiles, при этом каждый из таких элементов указывает на один из этих файлов. Например:
<DwpFiles>
<DwpFile FileName="hellowebpart.webpart" Location="hellowebpart.webpart"/>
</DwpFiles>
Элемент Resource
Файлы ресурсов можно поместить в папку, содержащую элемент Feature, и использовать их из этого местоположения. Элемент Resource представляет такой ресурс в файле манифеста решения. Единственный атрибут, который требуется установить, это относительный путь в пакете к файлу ресурсов.
Элемент SiteDefinitionManifest
Этот элемент используется при развертывании настраиваемого определения сайтов. Элемент SiteDefinitionManifest имеет атрибут Location, который выбирает все файлы в указанной папке и создает необходимую папку в папке \12\Template\SiteTemplates folder. Дочерний элемент WebTempFile разворачивает файл webtemp*.xml, чтобы сделать шаблон известным для продуктов и технологий SharePoint. Например:
<SiteDefinitionManifests>
<SiteDefinitionManifest Location="LitwareSiteTemplate">
<WebTempFile Location="1033\xml\webtempLitware.xml" />
</SiteDefinitionManifest>
</SiteDefinitionManifests>
Элемент RootFile
Файлы решения могут быть скопированы в указанную папку непосредственно в папке \12 во время развертывания, если элемент RootFile вставлен в файл манифеста решения.
Элемент TemplateFile
Элемент TemplateFile может быть использован для определения файлов шаблонов, которые должны быть развернуты из папки \12\Template. Примером типа файла, который можно развернуть таким образом, является файл fldtypes*.xml, который определяет свойства настраиваемого поля. Используйте атрибут Location для определения относительного пути к этому файлу.
Загрузить эту книгу
Эта тема включена в следующую загружаемую книгу для удобства чтения и распечатки:
См. полный список доступных книг на веб-сайте Загружаемые книги для Office SharePoint Server 2007.
См. также
Понятия
Настройка развертывания
Развертывание авторских пользовательских элементов сайта
Развертывание разработанных пользовательских элементов сайта