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

 

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

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

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

Содержание:

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

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

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

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

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

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

Определение сайта содержит семейство конфигураций определений сайтов. Каждое определение сайта задает имя и содержит список конфигураций определений сайтов. В SharePoint Server 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 Server 2010 относится к числу нерекомендуемых и заменен форматом WSP. В Office SharePoint Server 2007 поддерживается сохранение существующего сайта в качестве настраиваемого шаблона сайта. Шаблон сайта хранится в базе данных в виде модели и может использоваться в качестве базы, определяющей порядок создания экземпляра сайта. В SharePoint Server 2010 поддерживается сохранение существующего сайта в качестве настраиваемого шаблона сайта. Шаблон сохраняется в виде WSP-файла в каталоге решений на сайте верхнего уровня в семействе веб-сайтов, где его можно использовать для создания дочерних сайтов на всех веб-сайтах семейства.

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

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

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

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

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

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

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

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

Каждое определение сайта состоит из файлов, размещенных во вложенных папках в каталоге \\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates на интерфейсных веб-серверах при установке системы SharePoint Server 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\1033\XML

Onet.xml

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

\TEMPLATE\SiteDefinitions\site_type\XML

Schema.xml

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

\TEMPLATE\FEATURES\List_Definition_Name

DocIcon.xml

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

\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 Server, чтобы создать 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 путем использования функции "Импортировать в проект" WSP-файл.

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

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

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

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

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

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

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

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

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

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

    Важно!

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

В следующем примере два элемента 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 Server 2010).