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


Базовые элементы разработки: компоненты

Дата последнего изменения: 22 декабря 2009 г.

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

В этой статье
Объектная модель для компонентов
XML-код, используемый для компонентов
Области, связанные с компонентами
Дополнительные сведения о компонентах

Компонент — это контейнер, включающий одно или несколько расширений функциональности в Microsoft SharePoint Foundation. Компонент состоит из файла Feature.xml и одного или нескольких файлов элементов. Эти XML-файлы называются определениями компонента.

Компоненты могут содержать шаблоны, страницы, определения списков, обработчики событий, рабочие процессы, настройки и другие объекты. Папка, содержащая компонент, может также содержать другие файлы ресурсов, такие как страницы, рисунки, файлы ECMAScript (JavaScript, JScript) или CSS. Компоненты могут также зависеть от другого компонента, применяемого в более широкой области. Например, компонент, применяемый на уровне сайта, может зависеть от компонента, применяемого на уровне семейства сайтов. Однако компонент, активированный для более высокой области не может зависеть от компонента, активированного для меньшей области.

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

  • Ферма серверов. Компонент будет доступен в ферме серверов.

  • Веб-приложение. Компонент будет доступен в веб-приложении.

  • Семейство сайтов. Компонент будет доступен в семействе сайтов.

  • Сайт. Компонент будет доступен в отдельном сайте.

Объектная модель для компонентов

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

Пространство имен Microsoft.SharePoint

  • SPFeature — объект, представляющий компонент. Коллекция компонентов сохраняется в объекте SPFeatureCollection. Доступ к объекту SPFeatureCollection можно получить с помощью свойства Features объектов SPWebService, SPWebApplication, SPSite и SPWeb. Если компонент представлен в коллекции, он активируется в указанной области.
  • SPFeatureProperty — объект, представляющий отдельное свойство в объекте SPFeature. Коллекция свойств сохраняется в объекте SPFeaturePropertyCollection. Доступ к объекту SPFeaturePropertyCollection можно получить с помощью свойства Properties объекта SPFeature.
  • SPFeatureScope — перечисление различных областей, которые могут быть заданы для компонента. Они включают Farm, WebApplication, Site и Web.
  • SPFeatureDependency — объект, представляющий компонент, который зависит от другого компонента. Коллекция компонентов, зависящая от другого компонента, сохраняется в объекте SPFeatureDependencyCollection. Доступ к объекту SPFeatureDependencyCollection можно получить с помощью свойства ActivationDependencies объекта SPFeatureDefinition.

Пространство имен Microsoft.SharePoint.Administration

  • SPFeatureDefinition — объект, представляющий базовое определение компонента, включая имя, область, идентификатор и версию. Коллекция определений компонентов сохраняется в объекте SPFeatureDefinitionCollection. Доступ к объекту SPFeatureDefinitionCollection можно получить с помощью свойства FeatureDefinitions объекта SPFarm или SPSite.
  • SPElementDefinition — объект, представляющий элемент подготавливаемый при активации или использовании компонента. Коллекция определений элементов сохраняется в объекте SPElementDefinitionCollection. Доступ к объекту SPElementDefinitionCollection можно получить с помощью метода GetElementDefinitions(CultureInfo) объекта SPFeatureDefinition.

XML-код, используемый для компонентов

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

Файл манифеста элемента компонента

Файл Feature.xml используется для задания расположения сборок, файлов, зависимостей или свойств, необходимых для работы компонента. Элемент Элемент ElementManifest (Feature) указывает на сопутствующий файл манифеста компонента, который определяет компонент. Дополнительные сведения о значениях, используемых для атрибутов, см. в разделе Файлы Feature.xml. Базовый файл Feature.xml имеет следующую форму.

<Feature Title="Feature Title"
  Scope="FeatureScope" 
  Id="GUID" 
  xmlns="https://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="FeatureManifestFileName.xml" />
  </ElementManifests>
</Feature>

Файл элементов компонента

Файл элементов компонента может иметь любое имя. При определении файла Feature.xml необходимо указать имя файла в элементе Элемент ElementManifest (Feature). Этот файл может содержать элемент Элемент CustomAction, настройки пользовательского интерфейса, настройки ленты и многие другие настройки. Дополнительные сведения о структуре этого файла см. в разделе Схемы компонентов. Пример файла элементов компонента имеет следующую форму.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="Ribbon.Library.Actions.AddAButton"
    Location="ViewToolbar"
    RegistrationId="101"
    RegistrationType="List"
    Title="Add a Ribbon Button">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition
          Location="Ribbon.Library.Actions.Controls._children">
          <Button Id="Ribbon.Library.Actions.Controls.NewRibbonButton"
            Command="NewRibbonButtonCommand"
            Image16by16="/_layouts/images/FILMSTRP.GIF"
            Image32by32="/_layouts/images/PPEOPLE.GIF"
            LabelText="Hello World"
            TemplateAlias="o2" />
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler 
          Command="NewRibbonButtonCommand"
          CommandScript="javascript:alert('Hello, world');" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

Области, связанные с компонентами

Базовые элементы разработки: решения

Стандартный блок: типы контента

Базовые элементы: списки и библиотеки документов

Дополнительные сведения о компонентах

Использование компонентов

События компонента

Файлы Feature.xml

How To: Create a Simple Feature