Развертывание элементов сайта при помощи компонентов (SharePoint Foundation 2010)

 

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

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

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

Содержание:

  • Определение компонента

  • Случаи использования компонентов

  • Создание компонента

  • Установка и активация компонента с помощью Windows PowerShell

Определение компонента

Компонент — это контейнер различных определенных расширений SharePoint Foundation 2010, который состоит из XML-файлов, развертываемых на интерфейсных веб-серверах и серверах приложений. Компонент можно развернуть в составе пакета решения, а также активировать по отдельности на сайтах SharePoint Foundation.

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

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

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

Файл Feature.xml как правило указывает на один или несколько файлов XML, в которых тег <Elements> верхнего уровня содержит определения для элементов, поддерживающих компонент. Элементы SharePoint Foundation 2010 часто соответствуют отдельным узлам в файле Onet.xml или Schema.xml Microsoft Office SharePoint Portal Server 2003. Существует несколько типов элементов (например, пользовательский пункт меню или обработчик события).

Случаи использования компонентов

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

Компоненты можно использовать для развертывания разработанных элементов сайта в одной или нескольких из перечисленных ниже ситуаций.

  • Необходимость включения и отключения   При развертывании пользовательских элементов в компоненте можно устанавливать, включать и отключать компонент с помощью средства Windows PowerShell или с помощью объектной модели. Включить или отключить компонент можно также с помощью веб-сайта центра администрирования.

  • Гибкость области действия Компонент можно включить для одной области действия, например для фермы, веб-приложения, семейства сайтов и веб-сайта.

  • Простота распределенного развертывания   Компонент легко развернуть в нескольких фермах серверов как часть решения.

  • Контроль через объектную модель компонента   Объектная модель компонента позволяет определить список установленных компонентов в заданной области действия и управлять включением компонентов на уровне фермы или сайта.

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

Создание компонента

При создании настраиваемой веб-страницы в SharePoint Foundation 2010 с помощью браузера или SharePoint Designer страница ASPX может принадлежать только корневому семейству веб-сайтов сервера, на котором работает SharePoint Foundation 2010. Для создания страницы в семействе веб-сайтов, которая будет доступна для всей фермы и во всех семействах, используйте решение для развертывания страницы в папке \14\Template\Layouts (с помощью элемента TemplateFiles в файле манифеста решения).

Оптимальный вариант развертывания компонентов в ферме — это использование пакета решений. Если необходимо перестроить сервер или добавить новый сервер в ферму, нет необходимости добавлять компонент в каждый интерфейсный веб-сервер вручную. Пакеты решений позволяют развертывать новые и обновлять имеющиеся компоненты во всей ферме и синхронизировать интерфейсный веб-сервер с состоянием остальных серверов фермы.

Для управления доступностью пользовательских страниц на сайте или в семействе веб-сайтов выполните развертывание пользовательской страницы как компонента SharePoint в рамках решения. Для развертывания веб-страницы с помощью области сайта или семейства веб-сайтов воспользуйтесь элементом модуля в файле Feature.xml. Модули часто используются для реализации страниц веб-частей сайта.

Компонент, развертывание которого выполняется в рамках решения, устанавливается автоматически. Если развертывание компонента выполняется вручную, его необходимо установить и активировать. См. раздел Установка и активация компонента с помощью Windows PowerShell ниже.

Создание и настройка нового пользовательского компонента.

  1. Создайте файл 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>
    
  2. Создайте файл 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>
    
  3. Измените значение url файла на имя страницы ASPX.

  4. Создайте в папке установки компонента на сервере вложенную папку для определения компонента. Папка установки, как правило, расположена по пути %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Важно!

    Для папок определений компонентов рекомендуется использовать информативные имена. Это исключит путаницу при добавлении множества компонентов с похожими именами и предотвратит перезапись файла Feature.xml других компонентов. Например, введите HR_Contract и Finance_Contract, а не Contract.

  5. Добавьте пользовательскую страницу ASPX в папку для определения компонента.

  6. Добавьте в ту же папку файлы Feature.xml и Module.xml.

  7. Добавьте компонент в пакет решений.

    Для добавления компонента в решение можно использовать Visual Studio 2010 или же можно добавить элемент FeatureManifests в файл решения Manifest.xml вручную.

  8. Создайте пакет решений.

    Для создания пакета решений можно использовать Visual Studio 2010. В качестве альтернативы можно использовать средство Makecab.exe.

  9. Импортируйте и разверните пакет решений.

    Добавьте решение в хранилище решений с помощью командлета 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 Foundation 2010).

Установка и активация компонента с помощью Windows PowerShell

Компонент можно установить и активировать при помощи Windows PowerShell или объектной модели. Компонент можно также активировать на странице управления компонентами веб-приложений и на странице компонентов семейства веб-сайтов или сайта, в котором требуется активировать компонент. Установка компонента сообщает информацию о его определении и элементах всей ферме серверов, а активация компонента делает его доступным в определенной области действия.

Примечание

Компоненты, развертывание которых выполняется в рамках пакета решений, устанавливаются во время развертывания и ручное вмешательство не требуется.

Компоненты можно установить в папку 14\Template\Features, создав для каждого компонента отдельную вложенную папку. Файл Feature.xml, размещенный в корне папки, определяет содержимое компонента. Для использования компонентов необходимо выполнить их установку. Если действие компонента не ограничивается фермой, после установки его следует активировать. Если действие компонента ограничивается фермой или веб-приложением, активация выполняется автоматически.

Для установки компонента таким образом, чтобы его определение не было доступно на уровне фермы серверов, если действие компонента не ограничено веб-приложениями или фермами, компонент необходимо деактивировать с помощью командлета Windows PowerShellDisable-SPFeature. После деактивации компонента можно воспользоваться командлетом Uninstall-SPFeature для его удаления. Дополнительные сведения см. в разделе Uninstall-SPFeature. После удаления компонента перезапустите службу IIS, чтобы изменения вступили в силу.

Чтобы деактивировать компонент и сделать его неактивным, как было изначально без его удаления, можно использовать командлет Disable-SPFeature. Дополнительные сведения см. в разделе Disable-SPFeature.

Для установки и активации компонента выполните следующую процедуру.

Установка компонента при помощи средства Windows PowerShell

  1. Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите команду Все программы.

  3. Выберите Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Install-SPFeature -path <Path> [-force]
    

    Расшифровка заполнителей

    • <Path> — путь к компоненту, например, MyFeature. Путь к компоненту должен быть путем литералов к папке с именем 14\Template\Features. Имя файла Feature.xml подразумевается и его указывать не следует.

Дополнительные сведения см. в разделе Install-SPFeature.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Активация компонента при помощи средства Windows PowerShell

  1. Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите команду Все программы.

  3. Выберите Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
    

    Расшифровка заполнителей

    • <FeatureID> — имя папки компонента, расположенной по пути 14\Template\Features. Это должен быть допустимый путь, например, MyCustom.

    • <URLname> — URL-адрес родительского веб-приложения, семейства веб-сайтов или сайта компонента, для которого активируется данный компонент, например, http://somesite.

Дополнительные сведения см. в разделе Enable-SPFeature.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.