Развертывание элементов сайта при помощи компонентов (SharePoint Server 2010)
Применимо к: SharePoint Server 2010
Последнее изменение раздела: 2016-11-30
В этой статье описывается развертывание настроек разработанных элементов сайта с помощью компонентов. Компоненты позволяют управлять областью, в которой можно включать или отключать настройки, а также легко развертывать настройки на нескольких фермах серверов.
Содержание:
Определение компонента
Случаи использования компонентов
Создание компонента
Установка и активация компонента с помощью Windows PowerShell
Определение компонента
Компонент — это контейнер различных определенных расширений SharePoint Server 2010, который состоит из XML-файлов, развертываемых на интерфейсных веб-серверах и серверах приложений. Компонент можно развернуть в составе пакета решения, а также активировать по отдельности на сайтах SharePoint Server.
Компоненты упрощают простые настройки сайта и исключают необходимость копирования больших фрагментов кода для изменения простых функциональных возможностей а, следовательно, позволяют уменьшить число проблем с созданием версий и несогласованностей, которые могут возникнуть между интерфейсными веб-серверами.
Компоненты упрощают включение или отключение функциональных возможностей в ходе развертывания, и администраторы с легкостью смогут преобразовать шаблон или определение сайта, включив или отключив определенный компонент в пользовательским интерфейсе.
Элемент является составной частью компонента. Элемент Feature используется в файле Feature.xml для определения компонента и указания размещения сборок, файлов, зависимостей или свойств, поддерживающих компонент. Компонент содержит файл Feature.xml и любое число файлов, описывающих отдельные элементы. Другой элемент компонента из другой схемы используется в файле Onet.xml для указания включения компонента, если сайт создается из определения сайта.
Файл Feature.xml как правило указывает на один или несколько файлов XML, в которых тег <Elements> верхнего уровня содержит определения для элементов, поддерживающих компонент. Элементы SharePoint Server 2010 часто соответствуют отдельным узлам в файле Onet.xml или Schema.xml Microsoft Office SharePoint Portal Server 2003. Существует несколько типов элементов (например, пользовательский пункт меню или обработчик события).
Дополнительные сведения о компонентах см. в статье Использование компонентов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183450&clcid=0x419) (Возможно, на английском языке).
Подробные сведения о формате файла и XML-элементах, используемых в файле Feature.xml, см. в статье Файлы Feature.xml (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183451&clcid=0x419) (Возможно, на английском языке).
Дополнительные сведения о том, как компоненты влияют на формат файла Onet.xml в определении узла, см. в статье Файлы определения сайта (Onet.xml) (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183454&clcid=0x419) (Возможно, на английском языке).
Дополнительные сведения о типах элементов компонента см. в статье Типы элементов (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183455&clcid=0x419) (Возможно, на английском языке).
Случаи использования компонентов
Компоненты — это рекомендуемый метод развертывания функций, настроек и изменений конфигурации на интерфейсных веб-серверах. Компоненты позволяют осуществлять гибкое управление функциональностью в течение всего жизненного цикла, включая этапы активации, обновления и деактивации.
Компоненты можно использовать для развертывания разработанных элементов сайта в одной или нескольких из перечисленных ниже ситуаций.
Необходимость включения и отключения При развертывании пользовательских элементов в компоненте можно устанавливать, включать и отключать компонент с помощью средства Windows PowerShell или с помощью объектной модели. Включить или отключить компонент можно также с помощью веб-сайта центра администрирования.
Гибкость области действия. Компонент можно включить для одной области действия, например для фермы, веб-приложения, семейства веб-сайтов и веб-сайта.
Простота распределенного развертывания Компонент легко развернуть в нескольких фермах серверов как часть решения.
Контроль через объектную модель компонента Объектная модель компонента позволяет определить список установленных компонентов в заданной области действия и управлять включением компонентов на уровне фермы или сайта.
Используйте пакеты решений для упаковки компонентов, развертываемых в различных средах. Например, используйте пакет решения для развертывания настроек между рабочими станциями разработчиков и фермой интеграции, а также между фермой интеграции, клиентскими рабочими станциями и пилотной или производственной фермой.
Создание компонента
При создании настраиваемой веб-страницы в SharePoint Server 2010 с помощью браузера или SharePoint Designer страница ASPX может принадлежать только корневому семейству веб-сайтов сервера, на котором работает SharePoint Server 2010. Для создания страницы в семействе веб-сайтов, которая будет доступна для всей фермы и во всех семействах, используйте решение для развертывания страницы в папке \14\Template\Layouts (с помощью элемента TemplateFiles в файле манифеста решения).
Оптимальный вариант развертывания компонентов в ферме — это использование пакета решений. Если необходимо перестроить сервер или добавить новый сервер в ферму, нет необходимости добавлять компонент в каждый интерфейсный веб-сервер вручную. Пакеты решений позволяют развертывать новые и обновлять имеющиеся компоненты во всей ферме и синхронизировать интерфейсный веб-сервер с состоянием остальных серверов фермы.
Для управления доступностью пользовательских страниц на сайте или в семействе веб-сайтов выполните развертывание пользовательской страницы как компонента SharePoint в рамках решения. Для развертывания веб-страницы с помощью области сайта или семейства веб-сайтов воспользуйтесь элементом модуля в файле Feature.xml. Модули часто используются для реализации страниц веб-частей сайта.
Компонент, развертывание которого выполняется в рамках решения, устанавливается автоматически. Если развертывание компонента выполняется вручную, его необходимо установить и активировать. См. раздел Установка и активация компонента с помощью Windows PowerShell ниже.
Создание и настройка нового пользовательского компонента
Создайте файл Feature.xml. В следующем примере показан файл Feature.xml, необходимый для присвоения компоненту уникального идентификатора, указывающего на файл Module.xml.
<?xml version="1.0"?> <Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title= "Custom Web page" Description="This simple example feature adds an ASPX page with a hosted XmlFormView control" Version="1.0.0.0" Scope="Web" xmlns="https://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="Module.xml"/> </ElementManifests> </Feature>
Создайте файл Module.xml. В следующем примере показан файл Module.xml со сведениями о странице или страницах, которые являются частью решения.
<?xml version="1.0"?> <Elements xmlns="https://schemas.microsoft.com/sharepoint/"> <module name="file" url="" path=""> <file url="XmlFormViewPage.aspx" type="ghostable"> </file> </module> </Elements>
Измените значение url файла на имя страницы ASPX.
Создайте в папке установки компонента на сервере вложенную папку для определения компонента. Папка установки, как правило, расположена по пути %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.
Важно!
Для папок определений компонентов рекомендуется использовать информативные имена. Это исключит путаницу при добавлении множества компонентов с похожими именами и предотвратит перезапись файла Feature.xml других компонентов. Например, введите HR_Contract и Finance_Contract, а не Contract.
Добавьте пользовательскую страницу ASPX в папку для определения компонента.
Добавьте в ту же папку файлы Feature.xml и Module.xml.
Добавьте компонент в пакет решений.
Для добавления компонента в решение можно использовать Visual Studio 2010 или же можно добавить элемент FeatureManifests в файл решения Manifest.xml вручную.
Создайте пакет решений.
Для создания пакета решений можно использовать Visual Studio 2010. В качестве альтернативы можно использовать средство Makecab.exe.
Импортируйте и разверните пакет решений.
Добавьте решение в хранилище решений с помощью командлета Add-SPSolutionWindows PowerShell, а затем выполните развертывание решения из хранилища решений с помощью веб-сайта центра администрирования или Windows PowerShell.
Дополнительные сведения об использовании Visual Studio 2010 для добавления компонентов в пакеты решений см. в статье Создание пакетов решений SharePoint (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0x419). Дополнительные сведения о создании пакета решений вручную или использовании средства Makecab.exe для создания пакета см. в статье Создание решения (https://go.microsoft.com/fwlink/?linkid=187036&clcid=0x419) (Возможно, на английском языке). Дополнительные сведения о развертывании решений см. в статье Развертывание пакетов решений (SharePoint Server 2010).
Установка и активация компонента с помощью Windows PowerShell
Компонент можно установить и активировать при помощи Windows PowerShell или объектной модели. Компонент можно также активировать на странице управления компонентами веб-приложений и на странице компонентов семейства сайтов или сайта, в котором требуется активировать компонент. Установка компонента сообщает информацию о его определении и элементах всей ферме серверов, а активация компонента делает его доступным в определенной области действия.
Примечание
Компоненты, развертывание которых выполняется в рамках пакета решений, устанавливаются во время развертывания и ручное вмешательство не требуется.
Компоненты можно установить в папку 14\Template\Features, создав для каждого компонента отдельную вложенную папку. Файл Feature.xml, размещенный в корне папки, определяет содержимое компонента. Для использования компонентов необходимо выполнить их установку. Если действие компонента не ограничивается фермой, после установки его следует активировать. Если действие компонента ограничивается фермой или веб-приложением, активация выполняется автоматически.
Для установки компонента таким образом, чтобы его определение не было доступно на уровне фермы серверов, если действие компонента не ограничено веб-приложениями или фермами, компонент необходимо деактивировать с помощью командлета Windows PowerShellDisable-SPFeature. После деактивации компонента можно воспользоваться командлетом Uninstall-SPFeature для его удаления. Дополнительные сведения см. в статье Uninstall-SPFeature. После удаления компонента перезапустите службу IIS, чтобы изменения вступили в силу.
Чтобы деактивировать компонент и сделать его неактивным, как было изначально без его удаления, можно использовать командлет Disable-SPFeature. Дополнительные сведения см. в статье Disable-SPFeature.
Для установки и активации компонента выполните следующую процедуру.
Установка компонента при помощи средства Windows PowerShell
Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell введите следующую команду:
Install-SPFeature -path <Path> [-force]
Здесь:
- <Path> — это путь к компоненту, например, MyFeature. Путь к компоненту должен быть путем литералов к папке с именем 14\Template\Features. Имя файла Feature.xml подразумевается и его указывать не следует.
Дополнительные сведения см. в статье Install-SPFeature.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.
Активация компонента при помощи средства Windows PowerShell
Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell введите следующую команду:
Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
Здесь:
<FeatureID> — это имя папки компонента, расположенной по пути 14\Template\Features. Это должен быть допустимый путь, например, MyCustom.
<URLname> — это URL-адрес родительского веб-приложения, семейства веб-сайтов или сайта компонента, для которого активируется данный компонент, например http://somesite.
Дополнительные сведения см. в статье Enable-SPFeature.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.