フィーチャー

最終更新日: 2009年12月22日

適用対象: SharePoint Foundation 2010

この記事の内容
フィーチャーのオブジェクト モデル
フィーチャーで使用する XML
フィーチャーに関連する領域
フィーチャーに関するその他の情報

フィーチャーとは、Microsoft SharePoint Foundation 内の 1 つ以上の拡張機能を含むコンテナーです。フィーチャーには Feature.xml ファイルと 1 つ以上の要素ファイルが含まれます。これらの XML ファイルは、フィーチャー定義とも呼ばれます。

フィーチャーには、テンプレート、ページ、リスト定義、イベント ハンドラー、ワークフロー、 カスタマイズなどのオブジェクトを含めることができます。フィーチャーを含むディレクトリにも、ページ、イメージ、ECMAScript (JavaScript、JScript) ファイル、またはカスケード スタイル シート (CSS) など、その他のリソース ファイルを含めることができます。また、フィーチャーは、そのフィーチャーよりも広い範囲に適用された別のフィーチャーに依存することもできます。たとえば、サイト レベルを適用範囲とするフィーチャーは、サイト コレクション レベルを適用範囲とするフィーチャーに依存できます。ただし、上位の範囲でアクティブ化されるフィーチャーは、それよりも小さい範囲でアクティブ化されるフィーチャーに依存できません。

フィーチャーにはフィーチャー レシーバーも含まれます。これは、フィーチャーをインストール、アンインストール、アクティブ化、または非アクティブ化するときに実行するコードが含まれるアセンブリです。フィーチャー レシーバーの詳細については、「フィーチャーのイベント」を参照してください。

  • サーバー ファーム – フィーチャーをサーバー ファームで使用できます。

  • Web アプリケーション – フィーチャーを Web アプリケーションで使用できます。

  • サイト コレクション – フィーチャーをサイト コレクションで使用できます。

  • サイト – フィーチャーを 1 つのサイトで使用できます。

フィーチャーのオブジェクト モデル

フィーチャーは、SharePoint Foundation オブジェクト モデルを使用して操作できます。この操作には、フィーチャーに関する情報の検索、インストールされているフィーチャーのリストの取得、アクティブ化の依存関係の確認などが含まれます。オブジェクト モデルを使用してフィーチャーを操作するには、以下のクラスを使用できます。

Microsoft.SharePoint 名前空間

  • SPFeature – フィーチャーを表すオブジェクト。フィーチャーのコレクションは SPFeatureCollection オブジェクトに格納されます。SPFeatureCollection にアクセスするには、SPWebServiceSPWebApplicationSPSite、および SPWeb オブジェクトの Features プロパティを使用します。コレクション内にフィーチャーが含まれている場合、そのフィーチャーは、指定された範囲でアクティブ化されています。
  • SPFeatureProperty – SPFeature オブジェクトの 1 つのプロパティを表すオブジェクト。プロパティのコレクションは SPFeaturePropertyCollection オブジェクトに格納されます。SPFeaturePropertyCollection オブジェクトにアクセスするには、SPFeature オブジェクトの Properties プロパティを使用します。
  • SPFeatureScope – フィーチャーに指定できる異なる範囲の列挙、これには、Farm、WebApplication、Site、および Web が含まれます。
  • SPFeatureDependency – 別のフィーチャーによって依存されるフィーチャーを表すオブジェクト。別のフィーチャーによって依存されるフィーチャーのコレクションは SPFeatureDependencyCollection オブジェクトに格納されます。SPFeatureDependencyCollection オブジェクトにアクセスするには、SPFeatureDefinition オブジェクトの ActivationDependencies プロパティを使用できます。

Microsoft.SharePoint.Administration 名前空間

  • SPFeatureDefinition – 名前、範囲、ID、バージョンなど、フィーチャーの基本定義を表すオブジェクト。フィーチャー定義のコレクションは SPFeatureDefinitionCollection オブジェクトに格納されます。SPFeatureDefinitionCollection オブジェクトにアクセスするには、SPFarm または SPSite オブジェクトの FeatureDefinitions プロパティを使用できます。

フィーチャーで使用する XML

フィーチャーは、基本的に、2 つの XML ファイル (Feature.xml ファイルと Feature 要素ファイル) を使用して構成されます。この 2 つのファイルを使用して、範囲、依存関係、およびフロントエンド Web サーバーに展開するすべての関連ファイルを定義します。

Feature 要素のマニフェスト ファイル

Feature.xml ファイルを使用して、アセンブリの場所、ファイル、依存関係、またはフィーチャーをサポートするプロパティを指定します。ElementManifest 要素 (フィーチャー) 要素は、フィーチャーを定義する、付随する機能マニフェスト ファイルを指します。属性に使用される値の詳細については、「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 要素ファイル

Feature 要素ファイルには任意の名前を付けることができます。Feature.xml ファイルを定義する場合、ElementManifest 要素 (フィーチャー) 要素内のファイル名を参照する必要があります。このファイルには、CustomAction 要素 要素、ユーザー インターフェイスのカスタマイズ、リボンのカスタマイズ、およびその他の多くのカスタマイズを含めることができます。ファイルの構造の詳細については、「Feature スキーマ」を参照してください。次に、Feature 要素ファイルの形式の例を示します。

<?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