Поделиться через


Развертывание разработанных пользовательских элементов сайта

Содержание:

  • Развертывание разработанных элементов сайта при помощи пакетов решения

  • Развертывание разработанных элементов сайта помощи при компонентов

Данная статья представляет собой руководство по развертыванию разработанных пользовательских элементов сайта при помощи Microsoft Office SharePoint Server 2007. В статье содержится описание развертывания, рассматриваются общие вопросы и даются рекомендации, связанные с развертыванием пользовательского кода.

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

В разделах данной статьи описаны различные способы развертывания разработанных элементов сайта Office SharePoint Server 2007 и приводятся указания с описанием порядка импорта, экспорта и создания пакетов решений и компонентов.

В этой статье не рассматриваются вопросы развертывания авторских элементов сайта, таких как веб-страницы, каскадные таблицы стилей и страницы структуры. Дополнительные сведения о развертывании авторских элементов сайта см. в разделе Развертывание авторских пользовательских элементов сайта. Дополнительные сведения о различиях между авторскими элементами сайта и разработанными элементами сайта см. в разделе Обзор элементов сайта.

Перед прочтением этой статьи необходимо познакомиться с понятиями, относящимися к разработке и построению сайтов. Дополнительные сведения см. в разделе О разработке и построении сайтов.

Процедуры в статье опираются на топологии, описанные в статье Сценарии настройки и могут частично соответствовать конкретной среде.

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

Примечание

Во избежание потенциальных проблем синхронизации разработанные элементы сайта в большинстве случаев потребуется развертывать перед авторскими элементами сайта. Дополнительные сведения об авторских и разработанных элементах сайта см. в разделе Обзор элементов сайта. Также следует учесть, что любые языковые пакеты, используемые на исходном сервере, должны быть также установлены на целевом сервере, иначе развертывание контента выполнено не будет.

В следующей таблице перечислены методы развертывания, описанные в этой статье.

Метод Примечание

Пакеты решений

Пакеты решений представляют собой распространяемые пакеты, содержащие разработанные пользователем элементы Office SharePoint Server 2007 и Windows SharePoint Services 3.0 для веб-серверов или серверов приложений в ферме.

Использование пакетов решений позволит выполнить следующие операции:

  • развертывание разработанных элементов сайта в подключенных и отключенных средах;

  • развертывание артефактов и разработанных элементов сайта в одном пакете.

Пакеты решений нельзя использовать для развертывания авторских элементов сайта, которые не являются артефактами.

Компоненты

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

Использование компонентов позволит выполнить следующие операции:

  • развертывание разработанных элементов сайта в подключенных и отключенных средах;

  • включение и отключение пользовательских элементов на веб-сайте центра администрирования или при помощи средства командной строки Stsadm;

  • управление пределами развертывания;

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

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

В следующих разделах каждый метод развертывания описан подробно.

Развертывание разработанных элементов сайта при помощи пакетов решений

В этой статье:

  • Описание пакета решений

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

  • Развертывание решения при помощи центра администрирования

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

  • Импорт пакета решений при помощи средства командной строки Stsadm

  • Развертывание пакета решений при помощи средства командной строки Stsadm

Описание пакета решений

Пакет решений представляют собой распространяемый пакет, содержащий разработанные пользователем элементы Office SharePoint Server 2007 и Windows SharePoint Services 3.0 для веб-серверов или серверов приложений в ферме. Пакет решений это файл CAB с расширением WSP и файлом манифеста. Пакеты решений можно создать вручную при помощи средств, таких как Makecab.exe или при помощи средства создания решений — отдельного приложения в составе Средств Windows SharePoint Services 3.0: Расширения Visual Studio 2005 (https://go.microsoft.com/fwlink/?linkid=107267&clcid=0x419).

В решение могут быть включены следующие компоненты.

  • Сборки .NET Framework, заключающие код, лежащий в основе решения.

  • Файлы развертывания, такие как файлы ресурсов, изображения или другие вспомогательные файлы.

  • Новые шаблоны и определения для сайтов, списков, библиотек, полей, типов контента и много другого. Эти определения представлены в виде XML-файлов на основе CAML.

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

  • Пользовательские настройки, которые требуется выполнить на уровне веб-сервера, например изменение файлов Web.config для регистрации веб-частей.

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

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

Пакеты решений можно использовать для распространения разработанных элементов сайтов и артефактов (описание см. в разделе Развертывание авторских пользовательских элементов сайта). Пакеты решений можно использовать для развертывания разработанных элементов сайта в отключенных средах или сохранить их в системе управления конфигурацией программного обеспечения.

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

  • **Среды без подключения к сети  ** Если фермы отключены от сети, необходимо создать пакет решений для асинхронного переноса на сервер интеграции.

  • Среды управления конфигурацией программного обеспечения   Результаты разработки можно объединить в пакете решений для переноса в систему управления конфигурацией программного обеспечения.

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

  • Совместное распространение артефактов и разработанных элементов сайта   Пакет решений можно использовать, если артефакты и разработанные элементы сайта необходимо развернуть в одном пакете разработки.

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

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

Развертывание решения при помощи центра администрирования

Импортированные решения можно развернуть при помощи сайта центра администрирования. После импорта решения в базу данных решений при помощи операции -Addsolution средства командной строки Stsadm (описание см. в разделе Импорт пакета решения при помощи средства командной строки Stsadm далее в этой статье), его необходимо развернуть на сайте, прежде чем оно станет доступным.

Примечание

Решение можно импортировать на странице "Управление решениями" центра администрирования.

В следующей процедуре показано, как развернуть импортированное решение на сайте в ферме.

Развертывание решения на сайте центра администрирования

  1. На верхней панели ссылок сайта центра администрирования выберите Операции.

  2. На странице "Операции" в разделе Глобальная конфигурация выберите Управление решениями.

  3. На странице "Управление решениями" щелкните решение, которое требуется развернуть.

  4. На странице "Свойства решения" нажмите кнопку Развернуть решение.

  5. На странице "Развернуть решение" в разделе Когда развернуть выберите один из следующих вариантов.

    • Сейчас

    • В указанное время При выборе этого параметра задайте время при помощи полей даты и времени. Рекомендуется выбирать такое время, когда загрузка на целевых серверах низка.

  6. В разделе Развернуть?, в списке Определенное веб-приложение щелкните Все веб-приложения или выберите конкретное веб-приложение.

  7. Нажмите кнопку ОК.

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

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

Метод Описание

Вручную

Пакет решения можно создать вручную при помощи средства Makecab.exe. Поскольку в Office SharePoint Server 2007 отсутствует средство для создания пакетов решений, этот метод является методом по умолчанию.

Средство Makecab.exe доступно для загрузки на странице Пакет SDK для Microsoft Cabinet (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x419).

Средство создания решений SharePoint

Средство создания решений SharePoint представляет собой отдельное приложение, при помощи которого определенные типы веб-сайтов Office SharePoint Server 2007 и Windows SharePoint Services 3.0 можно преобразовать в проект определения сайта Visual Studio 2005. Этот метод может оказаться полезным, если для разработки элементов сайта используется Visual Studio 2005.

Средство создания решений SharePoint Solution доступно для загрузки на странице Средства Windows SharePoint Services 3.0: Расширения Visual Studio 2005 (https://go.microsoft.com/fwlink/?linkid=107267&clcid=0x419).

Средство WSPBuilder

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

Средство WSPBuilder доступно для загрузки на странице Codeplex (на английском языке) (https://go.microsoft.com/fwlink/?linkid=106471&clcid=0x419) (на английском языке).

Создание пакета решений вручную

Разработчики решений Office SharePoint Server 2007 будут часто вручную создать пакеты решений SharePoint, если потребуется решать любые из следующих задач.

  • Развертывание сборок .NET Framework в личной папке приложения вместо глобального кэша сборок.

  • Добавление разрешений безопасности для доступа к коду решения, которое требуется применить во время развертывания.

  • Использованием имен, отличных от имен по умолчанию папок компонентов.

  • Локализация решения.

  • Связывание обработчиков событий компонентов с определенными типами решений Windows SharePoint Services 3.0, такими как решения веб-частей.

  • Все ресурсы (XML-файлы, изображения, DLL-файлы и сборки) для пакета решения.

Для создания файла решения вручную необходимо выполнить следующие основные действия.

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

  2. Создание файла manifest.xml со списком компонентов решения.

  3. Создание DDF-файла, определяющего структуру файла решения Windows SharePoint Services 3.0. Этот файл содержит список отдельных файлов решения, которые определяют конечный WSP-файл.

  4. Выполнение средства Makecab.exe с DDF-файлом в качество входного и WSP-файлом в качестве выходного.

Перечисленные выше основные действия подробно описаны в следующей процедуре.

Примечание

Для выполнения этой процедуры потребуется средство Makecab.exe, которое можно загрузить на странице Пакет SDK для Microsoft Cabinet (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x419).

Создание пакета решения вручную при помощи средства Makecab.exe

  1. Создание файла решения manifest.xml.

    Манифест решения (с именем manifest.xml) хранится в корневой папке с файлом решения. Этот файл определяет список компонентов, определений сайта, файлов ресурсов, файлов веб-частей и сборок для обработки. Он не определяет структуру файлов — если файлы включены в решение, но не указаны в файле manifest.xml, они ни коим образом не обрабатываются.

    Далее приводится пример структуры файла manifest.xml в формате XML.

    <?xml version="1.0" encoding="utf-8" ?>

    <Solution xmlns="https://schemas.microsoft.com/sharepoint/"

    SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

    ResetWebServer="TRUE">

        <Assemblies>

            <Assembly DeploymentTarget="GlobalAssemblyCache"

    Location="Example.Sharepoint.Webparts\

    Example.SharePoint.WebParts.dll">

                <SafeControls>

                    <SafeControl Assembly="Example.Sharepoint.Webparts,

    Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

    Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

                </SafeControls>

            </Assembly>

            <Assembly DeploymentTarget="GlobalAssemblyCache"

    Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

        </Assemblies>

        <FeatureManifests>

            <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

            <FeatureManifest Location="Example.CustomType\Feature.xml"/>

            <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

            <FeatureManifest Location="Example.Columns\Feature.xml"/>

            <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

            <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

        </FeatureManifests>

        <SiteDefinitionManifests>

            <SiteDefinitionManifest Location="EXAMPLE">

                <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

            </SiteDefinitionManifest>

        </SiteDefinitionManifests>

    </Solution>

    Также можно добавить элемент DwpFiles для указания файлов WEBPART или DWP, или элемент ResourceFiles для указания файлов ресурсов, определений сайта, ресурсов приложения и политик безопасности для доступа к коду.

  2. Кроме того, можно создать примечания в файле Feature.xml при помощи тегов <ElementFile>.

    В тег <ElementManifests> в файле Feature.xml добавьте <ElementFile Location="..."/> все другие файлы в компоненте, такие как страницы ASPX (Active Server Page Extension) (например, allitems.aspx) или главные страницы и так далее.

    Примечание

    Это необходимо выполнить только в том случае, если решение содержит компоненты.

  3. Создание пакета решения (WSP-файла).

    Так как файл решения по сути представляет собой CAB-файл, для создания пакета решений можно использовать средство Makecab.exe. Средство Makecab.exe принимает указатель на DDF-файл, который описывает структуру CAB-файла. По формату DDF-файл напоминает INF-файл, то есть сначала создается стандартный заголовок, а затем перечисляется набор файлов (по одному в строке) с указанием их местоположения на диске и разделением по папкам, в которых они должны размещаться в CAB-файле. Пример.

    ; .OPTION EXPLICIT    

    ; Generate errors

    .Set CabinetNameTemplate=MySolutionFile.wsp

         .set DiskDirectoryTemplate=CDROM

    ; All cabinets go in a single directory

    .Set CompressionType=MSZIP

    ;** All files are compressed in cabinet files

    .Set UniqueFiles="ON"

    .Set Cabinet=on

    .Set DiskDirectory1=Package build\manifest.xml manifest.xml build\

    MySolutionFile\Feature.xml MySolutionFile\Feature.xml ...

Пример: создание и развертывание пакета решения пользовательских веб-частей

В этом разделе приводится пример построения и развертывания пакета решения с пользовательской веб-частью. Для этого примера потребуется использовать Visual Studio 2005 и средство Makecab.exe.

Office SharePoint Server 2007 позволяет разработчикам выполнять пользовательский код при установке, включении, отключении или удалении компонента. В качестве примера можно привести веб-часть, зависящую от определенного списка задач. После включения компонента веб-части, пользовательский код может проверить, является ли этот список задач частью списков на сайтах. Если это не так, код создает список и затем удаляет его после отключения компонента. Пользовательский код заключается в сборку .NET Framework с именем Feature Receiver Assembly.

Этот пример предполагает, что создан проект веб-части. После установки, включения, отключения или удаления компонента веб-части Office SharePoint Server инициирует асинхронные события. Эти события можно обработать в пользовательской сборке .NET Framework путем создания класса .NET Framework, наследуемого от класса Microsoft.SharePoint.SPFeatureReceiver.

Пример: создание и развертывание пакета решения пользовательских веб-частей

  1. Создайте следующий класс .NET в C#:

    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.SharePoint;
    
    namespace MSDN.Samples
    {
        public class MSDNTaskListEventHandler: SPFeatureReceiver
        {
            public override void 
    FeatureActivated(SPFeatureReceiverProperties properties)
            {
                SPSite sitecollection = 
    (SPSite)properties.Feature.Parent;
                SPWeb web = sitecollection.RootWeb;
                try
                {
                    // -- Check if list exists.
                    SPList list = web.Lists["MSDN Tasks"]; 
                }
                catch 
                {
                    // -- If not, create the list.
                    web.Lists.Add("MSDN Tasks", "A custom list", SPListTemplateType.Tasks);
                }
            }
    
            public override void 
    FeatureDeactivating(SPFeatureReceiverProperties properties)
            {
                SPSite sitecollection = (SPSite)properties.Feature.Parent;
                SPWeb web = sitecollection.RootWeb;
                try
                {
                    // -- Check if list is there, and if so, delete it.
                    SPList list = web.Lists["MSDN Tasks"];
                    web.Lists.Delete(list.ID);
                }
                catch (Exception ex)
                {
                }
            }
    
            public override void 
    FeatureInstalled(SPFeatureReceiverProperties properties)
            {
            }
    
            public override void 
    FeatureUninstalling(SPFeatureReceiverProperties properties)
            {
            }
        }
    }
    

    В результате программирования получатся две сборки. Одна сборка будет содержать код веб-части. Вторая сборка будет содержать код, указанный выше. На момент публикации этой статьи разрешения Visual Studio для Windows SharePoint Services 3.0 не позволяли связывать обработчик события с файлом определения компонента веб-части. Кроме того, сборка веб-части должна быть развернута в личной папке приложения, а не в глобальном кэше сборок. По этой причине пакет решения потребуется создать вручную.

    Примечание

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

  2. Создайте папку с двумя вложенными папками для сбора всех компонентов решения. В первой папке должны храниться сборки (имя "Assemblies" в этой статье), а во второй папке — вложенные папки с различными файлами XML, определяющими компоненты (имя "Features" в этой статье). Скопируйте сборку веб-части и сборку обработчика событий в папку "Assemblies".

  3. Создайте вложенную папку в папке "Features" для каждого компонента, который требуется включить в решение SharePoint. В этом примере используется только один компонент. Предположим, что он называется MSDNTaskCreator; в папке "Features" должна присутствовать папка с этим именем. В корневой каталог этой папки добавьте файле Feature.xml со следующим XML-кодом.

    <Feature  Title="MSDNTaskCreator" 
              Id="55312295-a323-4333-b875-1bbe8ef7fd04" 
              Description="Small Web Part creating a custom task item" 
              Version="1.0.0.0" Scope="Site" Hidden="FALSE" 
              ReceiverAssembly="MSDNFeatureEventhandlers, 
    Version=1.0.0.0, Culture=neutral, PublicKeyToken=5e5a470a5445a8f1" 
              ReceiverClass="MSDN.Samples.MSDNTaskListEventHandler"
              DefaultResourceFile="core" 
    xmlns="https://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="elementManifest.xml" />
        <ElementFile Location="MSDNTaskCreator.webpart" />
      </ElementManifests>
    </Feature>
    

    Этот XML-код отличается от XML-кода, созданного расширениями Visual Studio Extensions для Windows SharePoint Services 3.0 тем, что два дополнительных атрибута добавлены в файл Feature.xml.

    • Атрибут ReceiverAssembly указывает полное строгое имя сборки .NET Framework, которая содержит код обработчика событий.

    • Атрибут ReceiverClass хранит полное имя класса в этой сборке.

  4. Создайте файл манифеста в корневой папке. Этот файл отличается от созданного расширениями Visual Studio для Windows SharePoint Services 3.0. Его содержимое приводится ниже.

    <Solution SolutionId="d63d0395-96a4-449e-83ce-5f7239bbd3ad"

    xmlns="https://schemas.microsoft.com/sharepoint/" >

      <FeatureManifests>

        <FeatureManifest Location="MSDNTaskCreator\Feature.xml" />

      </FeatureManifests>

      <Assemblies>

        <Assembly Location="MSDNTaskCreator.dll"

    DeploymentTarget="WebApplication" >

          <SafeControls>

            <SafeControl Assembly="MSDNTaskCreator, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=9f4da00116c38ec5"

    Namespace="MSDN.Samples" TypeName="MSDNTaskCreator" Safe="True" />

          </SafeControls>

        </Assembly>

            <Assembly Location="MSDNFeatureEventHandlers.dll"

    DeploymentTarget="GlobalAssemblyCache" />

      </Assemblies>

    </Solution>

    Обратите внимание, что имя компонента более не включает идентификатор GUID. Первый элемент сборки имеет атрибут с именем DeploymentTarget и значением WebApplication вместо GlobalAssemblyCache. Второй элемент сборки с определением сборки .NET Framework содержит код обработчика событий для развертывания в глобальном кэше сборок.

  5. Теперь можно создать DDF-файл, который в этом случае будет иметь имя .wsp_structure.ddf. Создайте его непосредственно в папке "DeploymentFiles". Сначала добавьте следующие сведения заголовка.

    ;

    ; *** .ddf file for generating SharePoint solution.

    ;

    .OPTION EXPLICIT ; Generate errors

    .Set CabinetNameTemplate=MSDNTaskCreatorWebPart.wsp

    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single

    directory

    .Set CompressionType=MSZIP;** All files are compressed in cabinet

    files

    .Set UniqueFiles="ON"

    .Set Cabinet=on

    .Set DiskDirectory1=Package

    Заголовок состоит из двух частей.

    • CabinetNameTemplate присваивается имя файла решения SharePoint (MSDNTaskCreatorWebPart.wsp).

    • DiskDirectory1 присваивается значение Package. В этом каталоге содержится созданный WSP-файл.

    Вторая часть DDF-файла определяет структуру пакета.

    ; *** the manifest file

    manifest.xml manifest.xml

    ; *** the feature files

    Features\MSDNTaskCreator\Feature.xml MSDNTaskCreator\Feature.xml

    Features\MSDNTaskCreator\elementManifest.xml MSDNTaskCreator\elementManifest.xml

    Features\MSDNTaskCreator\MSDNTaskCreator.webpart

    MSDNTaskCreator\MSDNTaskCreator.webpart

    ; *** the assemblies

    Assemblies\MSDNTaskCreator.dll MSDNTaskCreator.dll

    Assemblies\MSDNFeatureEventhandlers.dll MSDNFeatureEventhandlers.dll

    Файл DDF является входным для средства Makecab.exe, которое становится доступным после установки пакета SDK для Microsoft Cabinet (см. описание ранее в этой статье). Средство Makecab.exe можно также найти в пакете SDK для интеллектуальных устройств (в папке по умолчанию \Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools).

  6. Чтобы сделать создание пакета и развертывание проще, создайте пакетный файл со следующим контентом.

    set MakeCabTool=c:\Program Files\Microsoft Visual Studio 8\

    SmartDevices\SDK\SDKTools\Makecab.exe

    set SPAdminTool=%CommonProgramFiles%\Microsoft Shared\

    web server extensions\12\BIN\stsadm.exe

    "%MakeCabTool%" /f wsp_structure.ddf

    "%SPAdminTool%" -o addsolution -filename package\

    MSDNTaskCreatorWebPart.wsp

    "%SPAdminTool%" -o deploysolution -name MSDNTaskCreatorWebPart.wsp

    -immediate -allowGACDeployment -url <URL name>

    В двух первых строках указываются пути к средствам командной строки Makecab и Stsadm. Затем следует строка, которая создает пакет решения.

    Makecab.exe /f wsp_structure.ddf
    

    В результате выполнения в папке "Package" появляется файл MSDNTaskCreatorWebPart.wsp. Следующая строка добавляет файл MSDNTaskCreatorWebPart.wsp в хранилище решений в ферме серверов путем выполнения команды ниже:

    stsadm.exe -o addsolution -filename 
    Package\MSDNTaskCreatorWebPart.wsp
    

    Последняя строка в пакетном файле выполняет развертывание решения в одном из семейств сайтов.

  7. При помощи ссылки Управление решениями на вкладке Операции центра администрирования можно развернуть пакет решения. Также можно выполнить следующие команды в командной строке:

    cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

    stsadm -o deploysolution -name MSDNTaskCreatorWebPart.wsp -local -allowGACDeployment -url < URL-адрес >

    Теперь компонент веб-части установлен, но не включен.

  8. Чтобы включить компонент, перейдите на страницу "Возможности семейства сайтов" и щелкните кнопку Активировать рядом с именем компонента. Так как после события FeatureActivated выполняется код, создается список задач MSDN. При отключении этого компонента список задач удаляется с корневого сайта семейства сайтов.

Создание пакета решения при помощи средства создания решений SharePoint

Средство создания решений SharePoint представляет собой отдельное приложение, при помощи которого определенные типы веб-сайтов Office SharePoint Server 2007 или Windows SharePoint Services 3.0 можно преобразовать в проект определения сайта Visual Studio 2005. Следующее содержимое не поддерживается средством создания решений SharePoint:

  • Некоторые шаблоны сайтов и списков, такие как сайт вики, портал публикации и портал совместной работы

  • Поля подстановки и пользовательские типы полей

  • Некоторые параметры сайтов и параметры списков

Дополнительные сведения о средстве создания решений SharePoint Solution см. в разделе Средства Windows SharePoint Services 3.0: Расширения Visual Studio 2005 (https://go.microsoft.com/fwlink/?linkid=107267&clcid=0x419).

Пользовательский интерфейс средства создания решений SharePoint Solution пользовательский сайт можно скомпилировать в решение SharePoint для развертывания в другой ферме SharePoint. Некоторые пользовательские элементы могут быть потеряны при импорте в ферме, а именно:

  • Столбцы подстановки исчезают или любого списка, в которых они ранее присутствовали.

  • Пользовательские элементы для быстрого запуска сайта не сохраняются.

  • Веб-части, настроенные на страницах, не сохраняются.

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

Дополнительные сведения см. в разделе Обзор средств и процессов.

Выполнение пользовательских действий при подготовке сайта

Файл решений позволяет выполнять пользовательские действия во время подготовки сайта. В созданном файле решения присутствует папка "Site Provisioning Handler", которая содержит класс с именем SiteProvisioning.cs. В этом классе расположен метод OnActivated, позволяющий добавлять пользовательский код. Этот метод вызывается при подготовке сайта при помощи определения сайта. Он принимает один параметр типа именованных свойств SPFeatureReceiverProperties. Использование этого параметра позволит найти объекты SPSite и SPWeb при помощи следующего кода:

SPWeb web;
SPSite site;
if (properties.Feature.Parent is SPWeb)
{
    web = properties.Feature.Parent as SPWeb;
    site = web.Site;
}
Else
{
    site = properties.Feature.Parent as SPSite;
    web = site.RootWeb;
}

Создание пакета решения при помощи средства WSPBuilder

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

WSPBuilder представляет собой средство командной строки с помощью которого можно автоматизировать процесс создания пакетов решений. Средство WSPBuilder рекурсивно откроет папку и создаст пакет решения SharePoint с файлом manifest.xml и WSP-файлом на основе файлов в структуре файлов.

Средство WSPBuilder доступно для загрузки на странице Codeplex (на английском языке) (https://go.microsoft.com/fwlink/?linkid=106471&clcid=0x419) (на английском языке).

Импорт пакета решения при помощи средства командной строки Stsadm

Следующие инструкции можно использовать для импорта файла решения в базу данных решений фермы Office SharePoint Server.

Важно!

Для запуска средства командной строки Stsadm на каком-либо компьютере необходимо быть членом группы администраторов.

Импорт пакета решения при помощи средства командной строки Stsadm

  1. На диске с установленными продуктами и технологиями SharePoint сервера в ферме, на который планируется импортировать решение, измените каталог, в котором расположено средство командной строки Stsadm, набрав следующую команду в командной строке:

    cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

  2. Введите следующую команду:

    stsadm -addsolution -filename <имя решения>

Решение добавляется в базу данных решений в ферме. Для использования решения следуйте указаниям, приведенным в следующем разделе этой статьи. Дополнительные сведения см. в разделе Addsolution: операция Stsadm (Office SharePoint Server).

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

Для развертывания решения при помощи командной строки можно использовать операцию deploysolution.

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

  1. На диске с установленными продуктами и технологиями SharePoint сервера в ферме, где планируется развертывание импортированного пакета решения, измените каталог, в котором расположено средство командной строки Stsadm, набрав следующую команду:

    cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

  2. Введите следующую команду:

    stsadm –o deploysolution –name < имя решения > –url < URL-адрес >

    где имя файла — имя решения, а URL-адрес — URL-адрес веб-приложения, в котором требуется развернуть импортированное решение.

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

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

  1. На диске с установленными продуктами и технологиями SharePoint сервера в ферме, где планируется развертывание импортированного пакета решения, измените каталог, в котором расположено средство командной строки Stsadm, набрав следующую команду:

    cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

  2. Введите следующую команду:

    stsadm –o deploysolution –name < имя решения > –allcontenturls [-time] < время развертывания > [- allowgacdeployment] [-allowcaspolicies]

    где имя решения — имя решения.

По умолчанию решение развертывается сразу же, но при помощи параметра time можно указать время развертывания.

Параметры allowgacdeployment и allowcaspolicies имеют особое значение. Параметр allowgacdeployment позволяет Office SharePoint Server 2007 развертывать сборки в глобальном кэше сборок. Параметр allowcaspolicies позволяет создать файл политики безопасности доступа к пользовательскому коду (CAS) и активировать его в файле Web.config целевого семейства сайтов.

Дополнительные сведения см. в разделе Deploysolution: операция stsadm (Office SharePoint Server).

Развертывание разработанных элементов сайта при помощи компонентов

В этой статье:

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

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

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

  • Развертывание компонента вручную

  • Установка и активация компонента при помощи средства Stsadm

Дополнительные сведения о компонентах см. в разделе Работа с компонентами (https://go.microsoft.com/fwlink/?linkid=105337&clcid=0x419).

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

Компонент представляет собой контейнер различных определенных расширений для Office SharePoint Server 2007 и Windows SharePoint Services 3.0 и состоит из набора XML-файлов, развертываемых на веб-серверах. Компонент можно развернуть в составе определения сайта или пакета решения, и средство можно отдельно включить на сайте Office SharePoint Server.

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

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

Компоненты обеспечивают следующие возможности:

  • определение объемов семантики, которая позволяет указывать точки выполнения пользовательского кода;

  • возможность указывать, будет ли компонент установлен в конечной ферме во время развертывания;

  • возможность включать или отключать компоненты в заданном объеме без установки или удаления кода;

  • возможность хранить данные, необходимые компоненту, в его объеме в папке свойств с определенным объемом.

  • Основа унифицированной структуры для распространенных развертываний решений Windows SharePoint Services 3.0 и Office SharePoint Server 2007.

Элементы, которые содержались в большом файле определения сайта в Microsoft Office SharePoint Portal Server 2003 являются отдельными компонентами Windows SharePoint Services 3.0. Элемент представляет собой атомную единицу в компоненте. Элемент Feature используется в файле Feature.xml для определения компонента и указания размещения сборок, файлов, зависимостей или свойств, поддерживающих компонент. Компонент содержит файл Feature.xml и любое число файлов, описывающих отдельные элементы. Другой элемент компонента из другой схемы используется в файле Onet.xml для указания включения компонента в определении сайта.

Как правило, файл Feature.xml указывает на один или несколько файлов XML, в которых тег <Elements> верхнего уровня содержит определения для элементов, поддерживающих компонент. Элементы Windows SharePoint Services 3.0 часто соответствуют тому, что было отдельными сайтами в файле Onet.xml или Schema.xml предыдущей версии. Существует несколько типов элементов, например пользовательский пункт меню или обработчик события.

Например, компонент может обеспечить функциональные возможности "Мои избранные элементы" со следующими элементами.

  • Пользовательский список, в котором для каждого пользователя содержится список избранных элементов, который при включении компонента создается в качестве отдельного скрытого списка на рабочее пространство.

  • Пользовательский пункт меню, прикрепляемый ко всем спискам; это действие называется "Добавить в Избранное" и позволяет добавить пункт в список избранного.

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

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

Дополнительные сведения см. в следующих материалах в пакете SDK для Windows SharePoint Services 3.0:

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

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

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

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

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

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

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

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

При создании пользовательской веб-страницы в Office SharePoint Server 2007 страница ASPX может принадлежать только к корневому семейству сайтов на сервере с Office SharePoint Server 2007. Чтобы создать страницу в не корневом семействе сайтов, пользовательскую веб-страницу необходимо развернуть как компонент SharePoint. Компоненту SharePoint требуется два простых файла XML и для его развертывания используется средство командной строки Stsadm  — процесс, который можно автоматизировать при помощи пакетного файла.

Примечание

Чтобы выполнить средство командной строки Stsadm, необходимо перейти в каталог со средством Stsadm. Для этого на диске с установленными продуктами и технологиями SharePoint выполните следующую команду: cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

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

  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 и выполните операции командной строки, как описано в разделе Установка и активация компонента при помощи средства командной строки Stsadm. Можно создать пакетный файл и последовательно выполнить эти операции командной строки.

  4. Выполните следующие действия.

    1. Создайте папку в каталоге "Features", который обычно расположен по пути %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\TEMPLATE\FEATURES на сервере.

    2. Добавьте пользовательскую страницу ASPX в эту папку.

    3. Создайте файлы Feature.xml и Module.xml на основе примеров, показанных в предыдущем разделе и добавьте их в ту же папку.

Сведения об установке и активации компонента после его развертывания см. в разделе Установка и активация компонента при помощи средства командной строки Stsadm далее в этой статье.

Развертывание компонента вручную

Для реализации компонента требуется добавить вложенную папку с определение компонента в каталог установки "Features" (в этом примере это локальный_диск:\%COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\TEMPLATE\FEATURES). Во вложенной папке компонента находится файл Feature.xml, определяющий основные свойства компонента со списком элементов, привязанных к нему, таких как XML-файлы с манифестами элементов и и другие вспомогательные файлы. Каталог компонента может содержать только файл Feature.xml или файл Feature.xml и любое число вспомогательных файлов элементов, включая XML-файлы, но также файлы ASPX, HTM, XSN, RESX, DLL и файлы других типов.

Примечание

Если создавать папку в каталоге "Features" через Проводник Windows, щелкнув правой кнопкой мыши и последовательно выбрав пункты СоздатьПапка, новая папка не наследует разрешения. Если развернуть компонент в этой папке, некоторые страницы Windows SharePoint Services 3.0, например для параметров сайта или представлений списков, не будут доступны. Это проблемы можно избежать, если создавать папку в командной строке при помощи команды md.

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

Установка и активация компонента при помощи средства командной строки Stsadm

Компоненты можно установить в каталоге "12\Template\Features", где каждый компонент расположен в собственной вложенной папке. В корне этой папки файл Feature.xml определяет содержимое компонента.

Примечание

Чтобы выполнить средство командной строки Stsadm, необходимо перейти в каталог со средством. Для этого наберите следующую команду: cd %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

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

stsadm -o installfeature-filename < относительный путь > -name < папка компонента > [-force]

Дополнительные сведения см. в разделе Installfeature: операция Stsadm (Office SharePoint Server).

Помимо установки компонента его необходимо активировать, прежде чем можно будет использовать (если только область действия компонента не распространяется на ферму, в случае чего он активируется автоматически).

Чтобы активировать средство введите следующую команду:

stsadm -o activatefeature -filename <относительный путь> -name <папка компонента> -id <индентификатор компонента> [-url] <URL-адрес> [-force]

Дополнительные сведения см. в разделе Activatefeature: операция stsadm (Office SharePoint Server).

Чтобы удалить компонент так, чтобы его определение более не было доступно в ферме серверов, можно использовать операцию uninstall. Дополнительные сведения см. в разделе Uninstallfeature: операция Stsadm (Office SharePoint Server).

Примечание

Перед удалением компонентов их необходимо деактивировать, если только их область действия не распространяется на веб-приложения или фермы.

После удаления компонента необходимо сбросить службы IIS, чтобы изменения вступили в силу.

Чтобы деактивировать средство и сделать его неактивным, как было изначально без его удаления, можно использовать операцию deactivate. Дополнительные сведения см. в разделе Deactivatefeature: операция Stsadm (Office SharePoint Server).

Загрузить эту книгу

Для простоты чтения и печати эта тема включена в следующую загружаемую книгу:

См. полный список доступных книг в разделе Загружаемые книги для Office SharePoint Server 2007.

См. также

Понятия

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