Развертывание шаблонов (SharePoint Foundation 2010)

 

Применимо к: SharePoint Foundation 2010

Последнее изменение раздела: 2016-11-30

В этой статье описывается создание настраиваемого определения сайта и его развертывание с использованием пакета решения.

Содержание:

  • Что такое определение сайта?

  • Определения и конфигурации сайтов

  • Создание настраиваемого определения сайта и конфигурации

  • Развертывание определения сайта с использованием пакета решения

Что такое определение сайта?

В Microsoft SharePoint Foundation 2010 сайт создается с помощью пользовательского интерфейса посредством выбора конфигурации определения сайта или настраиваемого шаблона сайта, которые определяют порядок создания экземпляра сайта. Определение сайта представляет собой шаблон, в котором определяются, например, списки, файлы, веб-части, компоненты и параметры, с использованием которых создается новый сайт SharePoint.

Определение сайта содержит семейство конфигураций определений сайтов. Каждое определение сайта задает имя и содержит список конфигураций определений сайтов. В SharePoint Foundation 2010 определение сайта состоит из набора XML-файлов, которые могут использоваться для создания новых сайтов. Эти файлы размещаются на веб-серверах.

Определения сайтов в основном состоят из нескольких XML- и ASPX-файлов, которые хранятся на интерфейсном веб-сервере в папках каталога "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates".

Сайт, созданный с использованием определения сайта, добавляет данные о структуре и контенте из исходного определения сайта, не повторяя их. На всех этапах жизненного цикла сайтов определение сайта используется в качестве основы сайта. Поэтому корпорация Майкрософт не поддерживает изменение или удаление определения сайта после создания сайта на его основе. Такие изменения могут привести к нарушению работоспособности сайтов, созданных на основе этого определения, либо могут помешать созданию новых сайтов, прямо или косвенно основанных на таком определении. Для настройки определения сайта разработчики могут добавлять компонент, включающий в себя изменения определения. При этом само определение сайта не изменяется.

Дополнительные сведения о видах настройки определений сайтов, поддерживаемых корпорацией Майкрософт, см. в статье Поддерживаемые и не поддерживаемые сценарии для работы с настраиваемыми определениями сайтов и определениями областей в Windows SharePoint Services, SharePoint Portal Server 2003 и Office SharePoint Server 2007 (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x419).

В объектной модели определение и конфигурация сайта представлены объектом SPWebTemplate. Дополнительные сведения о шаблонах и определениях сайтов см. в статье Шаблоны и определения сайтов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=184756&clcid=0x419).

Примечание

Формат STP для настраиваемых определений сайтов (STP-файл) в SharePoint Foundation 2010 относится к числу нерекомендуемых и заменен форматом WSP. В Windows SharePoint Services 3.0 поддерживается сохранение существующего сайта в качестве настраиваемого шаблона сайта. Шаблон сайта хранится в базе данных в виде модели и может использоваться в качестве основы, определяющей порядок создания экземпляра сайта. В SharePoint Foundation 2010 поддерживается сохранение существующего сайта в качестве шаблона. Шаблон сохраняется в виде WSP-файла в каталоге решений на сайте верхнего уровня в семействе веб-сайтов, где его можно использовать для создания дочерних сайтов на всех веб-сайтах семейства.

Дополнительные сведения об определениях сайтов см. в статье Определения и конфигурации сайтов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x419).

Определения и конфигурации сайтов

Определение сайта задает отдельный сайт SharePoint. В SharePoint Foundation 2010 изначально установлено пять определений сайтов. Определение сайта может содержать несколько конфигураций определений сайтов. Веб-сайты SharePoint основываются на конкретных конфигурациях определений сайтов, которые включают в себя следующие компоненты:

  • STS включает в себя конфигурации определений сайта для сайта рабочих групп, пустого сайта и рабочей области для документов.

  • MPS включает в себя конфигурации определений сайта для следующих рабочих областей: "Базовая рабочая область для собраний", "Пустая рабочая область для собраний", "Рабочая область для собраний — Решения", "Рабочая область для собраний — Социальные", "Многостраничная рабочая область для собраний".

  • CENTRALADMIN предоставляет конфигурацию определения сайта для веб-сайтов центра администрирования.

  • WIKI предоставляет конфигурацию определения сайта для веб-сайтов, поддерживающих контент сообщества с использованием технологии вики-ресурсов.

  • BLOG предоставляет конфигурацию определения сайта для блогов.

Каждое определение сайта состоит из файлов, размещаемых во вложенных папках каталога "\\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates" на интерфейсных веб-серверах при установке SharePoint Foundation 2010. Определение сайта включает такие файлы страниц, как XML, ASPX, ASCX и MASTER, а также файлы шаблонов документов (DOT, HTM и т. д.) и файлы контента (GIF, DOC и т. д.).

Ненастраиваемые страницы и настройка страниц

Файлы определений сайтов кэшируются в памяти на сервере при запуске служб Microsoft IIS. Это позволяет многократно использовать ненастраиваемые страницы на различных сайтах. Данные, содержащиеся в этих файлах, извлекаются из кэша во время выполнения. Страницы и схемы списков считываются из файлов определений сайта; при этом внутри сайта они отображаются в виде файлов. Новые страницы веб-частей также являются ненастраиваемыми.

При настройке страниц сайта (за исключением браузерных настроек, таких как изменение веб-частей) их контент сохраняется в базе данных контента, и вместо исходной страницы из определения сайта используется настраиваемая страница. Отправленные ASPX-файлы автоматически обрабатываются как настраиваемые.

Дополнительные сведения о дублировании и настройке страниц см. в статье Определения и конфигурации сайтов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x419).

Основные файлы схем

В следующей таблице перечислены основные XML-файлы, которые можно изменить для определения сайта; в ней также указано их расположение в файловой системе.

WebTemp.xml

Идентифицирует определения сайтов и предоставляет сведения об их конфигурациях. Расположение:

\TEMPLATE\1049\XML

Onet.xml

Определяет области навигации, доступные определения списков, шаблоны документов и их файлы, базовые типы для списков, а также конфигурации и модули для определений сайтов. Расположение:

\TEMPLATE\SiteDefinitions\тип_сайта\XML

Schema.xml

Определяет представления, формы, панель инструментов и специальные поля в определении списка. Каждое определение имеет свой собственный файл Schema.xml. Расположение:

\TEMPLATE\FEATURES\название_определения_списка

DocIcon.xml

На каждом интерфейсном сервере в развертывании SharePoint Foundation размещается файл DocIcon.xml, который обеспечивает сопоставление программных идентификаторов файлов (ProgID) и расширений имен файлов для типов документов со значками и элементами управления, с помощью которых можно открывать эти типы. Изменения в файле DocIcon.xml являются глобальными для всего развертывания SharePoint Foundation и влияют на все определения сайтов на интерфейсном веб-сервере. Расположение:

\TEMPLATE\XML

Для определения аспектов сайтов в этих XML-файлах используется Язык разметки совместных приложений (CAML) (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x419). Дополнительные сведения об основных XML-файлах, которые можно использовать для настройки определений сайтов, см. в статье Определения и конфигурации сайтов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x419).

Создание настраиваемого определения сайта и конфигурации

Чтобы создать настраиваемое определение сайта, можно вручную скопировать существующее определение сайта или импортировать WSP-файл в Visual Studio 2010.

Импорт элементов существующего сайта SharePoint

Для данного метода необходимо сохранить сайт как шаблон в SharePoint Foundation, чтобы создать WSP-файл, а затем импортировать его в Visual Studio 2010, используя решение по импорту шаблонов проекта. Шаблон проекта пакета решений импорта SharePoint позволяет повторно использовать такие элементы, как типы контента, определения списков и поля из существующих сайтов SharePoint в новом решении Visual Studio SharePoint. Дополнительную информацию об импортировании элементов из существующего сайта SharePoint в проект Visual Studio SharePoint см. в главе Импорт элементов из существующего сайта SharePoint (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x419). В главу входит руководство, в котором рассказывается о следующих задачах.

  1. Настройка сайта SharePoint путем добавления настраиваемого столбца.

  2. Экспорт сайта SharePoint в WSP-файл.

  3. Импорт WSP-файла в проект Visual Studio SharePoint путем использования функции импортирования проекта.

Копирование существующего сайта SharePoint

Данный метод предусматривает копирование существующего определения сайта с последующим изменением полученной его копии, а также двух файлов схем: копий файлов WebTemp.xml и Onet.xml.

Предупреждение

Не изменяйте первоначально установленный файл WebTemp.xml.

  1. Скопируйте существующую папку определения сайта, расположенную по пути "Локальный_диск:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\". Копия должна быть одноранговой по отношению к исходной папке. Папке можно дать любое имя, не содержащее пробелов.

    Например, для создания настраиваемого определения сайта, производного от определения сайта группы для Microsoft SharePoint Foundation, скопируйте папку \sts.

  2. Создайте копию файла WebTemp.xml, расположенного в папке "Локальный_диск:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\1049\XML".

    Дайте файлу уникальное имя, добавив строку к имени исходного файла, например WebTempAction.xml. Во время выполнения компилятор объединит данные, содержащиеся в этом файле, с данными, содержащимися в исходном файле, чтобы указать, какие конфигурации определений сайтов доступны для создания новых сайтов.

  3. Настройте содержимое нового файла WebTemp.

    Каждый файл WebTemp.xml содержит коллекцию элементов Template и дочерних элементов Configuration, идентифицирующих для компилятора все конфигурации определений сайтов, экземпляры которых могут быть созданы. Элемент Configuration определяет, например, заголовок, описание, URL-адрес изображения, отображаемого в пользовательском интерфейсе, и категорию отображения, указывающую вкладку, на которой следует отображать шаблон в разделе Template Selection страницы создания семейство веб-сайтов.

    Важно!

    В каждом элементе Template, определенном в файле WebTemp, значение атрибута Name должно в точности соответствовать имени, присвоенном новой папке. Во избежание конфликта с идентификаторами, уже используемыми в SharePoint Foundation 2010, для атрибута идентификатора следует использовать уникальные значения больше 10 000.

В следующем примере два элемента Configuration используются в файле WebTemp.xml, чтобы задать разные конфигурации определений сайтов для создания экземпляров сайта совместных исследований и сайта рабочей области для документов исследований. В этом примере используются только две конфигурации в одном определении сайта, но в один файл WebTemp.xml можно включать много определений сайтов, каждое с множеством конфигураций. Каждое определение сайта обращается к отдельной папке определения сайта и к собственному файлу Onet.xml.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site" 
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg" 
      Description="This definition creates a site for the Research 
      team to create, organize, and share general information." 
      DisplayCategory="Collaboration">
    </Configuration>
    <Configuration ID="1" Title="Research Workspace" Hidden="FALSE" 
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This 
      definition creates a site for Research team colleagues to 
      work together on specific documents." 
      DisplayCategory="Collaboration">
    </Configuration>
  </Template>
</Templates>

В этом примере предполагается, что каталог определения сайта с именем "RESEARCH", указанный в значении атрибута Name элемента Template, существует. Если файл WebTemp*.xml задает несколько определений сайта, то эти определения различаются по их уникальным значениям ID.

Каждый элемент Configuration также содержит атрибут ID. Комбинация этого ID и значения атрибута Name в элементе Template предоставляет ссылку на содержимое конкретного элемента Configuration в конкретном файле Onet.xml. В данном примере атрибут Name имеет значение RESEARCH, а атрибуты ID имеют значения 0 и 1, что дает ссылку на определение сайта RESEARCH с идентификаторами конфигураций 0 и 1 в файле Onet.xml.

Может потребоваться перезапустить службы IIS, чтобы новая конфигурация определения появилась в пользовательском интерфейсе. Чтобы перезапустить службы, введите iisreset в командной строке.

Дополнительные сведения о задании конфигурации определения сайта в файле Onet.xml см. в статье Практическое руководство. Использование конфигураций определения сайта (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x419).

Развертывание определения сайта с использованием пакета решения

Для развертывания настраиваемого определения сайта с помощью пакета решения добавьте элемент SiteDefinitionManifest в файл манифеста пакета решения. Добавьте элемент TemplateFiles для определения файлов шаблонов, которые должны быть развернуты во вложенную папку каталога "\14\Template".

Добавление элемента SiteDefinitionManifest

Элемент SiteDefinitionManifest имеет атрибут Location, который выбирает все файлы в указанной папке и создает необходимую папку в каталоге "\14\Template\SiteTemplates". Дочерний элемент WebTempFile разворачивает файл webtemp*.xml, чтобы предоставить продуктам Продукты SharePoint 2010 доступ к шаблону, как показано в следующем примере.

  <SiteDefinitionManifests>
    <SiteDefinitionManifest Location="LitwareSiteTemplate">
      <WebTempFile Location="1033\xml\webtempLitware.xml" />
    </SiteDefinitionManifest>
  </SiteDefinitionManifests>

Добавление элемента TemplateFile

Элемент TemplateFile в файле манифеста решения используется для определения файлов шаблонов, которые должны быть развернуты во вложенную папку каталога "\14\Template". Примером типа файла, который можно развернуть таким образом, является файл fldtypes*.xml, который определяет свойства настраиваемого типа полей. Используйте атрибут Location для задания относительного пути к этому файлу, который в следующем примере обозначен строкой "Text".

  <TemplateFiles
    <TemplateFile
      Location="Text"/>
      ...
  </TemplateFiles>

Дополнительные сведения о развертывании решений см. в статье Развертывание пакетов решений (SharePoint Foundation 2010).