SharePoint の機能
SharePoint 環境にインストールしてアクティブ化できるアイテムを含むモジュール サーバー側のファイル システムレベル カスタマイズを表します。
実例
開発者は、SharePoint 製品とテクノロジの以前のバージョンでカスタム リスト構造を作成した経験があります。このときは onet.xml ファイルの変更が必要でした。このカスタム リストを Microsoft Office SharePoint Server 2007 および Windows SharePoint Services 3.0 に配置して、任意の既存のサイトまたは新しいサイトに展開できるようにするため、このリストをサーバーにインストールされるフィーチャーとして作成することにしました。
詳細な技術情報
フィーチャーは、features ディレクトリの custom サブディレクトリにある少なくとも 1 つの feature.xml ファイルで構成されます。また、フィーチャーには、コンポーネントを構成するその他のファイル (一般的には Feature 要素の一覧を含む XML ファイルなど) が含まれることもあります。
各 Feature 要素は、適切なスコープを持つフィーチャーに含めることができます。フィーチャーのスコープは feature.xml 定義ファイルで定義され、次のテーブルで説明するいずれかの要素になります。
スコープ |
要素 |
---|---|
Web (Web サイト) |
Control Custom Action Custom Action Group Hide Custom Action List Instance List Template Module Receiver |
Site (サイト コレクション) |
Content Type Content Type Binding Control Custom Action Custom Action Group Feature/Site Template Association Field Hide Custom Action List Instance Module Workflow |
WebApplication (Web アプリケーション) |
Control Custom Action Custom Action Group Document Converter Feature/Site Template Association Hide Custom Action |
Farm (ファーム) |
Control Custom Action Custom Action Group Feature/Site Template Association Hide Custom Action |
各 feature 要素の XML アイテムには、その feature 要素を準備するために必要となる適切なデータが含まれます。
フィーチャーは他のフィーチャーに対して依存関係を持つことができます。依存元フィーチャーがアクティブ化されるときに、依存先フィーチャーをアクティブ化することができます。依存先フィーチャーをアクティブ化するかどうかは、非表示になっているかどうか、また同じスコープにあるかどうかによって異なります。フィーチャーのアクティブ化および非アクティブ化の規則の一覧は、「Windows SharePoint Services 3.0 SDK へようこそ」にあります。あるフィーチャーが別のフィーチャーに依存しており、依存先フィーチャーが後から非アクティブ化されると、依存元フィーチャーは正常に動作できません。
サポートの詳細情報
フィーチャーは、features ディレクトリの custom サブディレクトリにインストールする必要があります。また、場合によってはフィーチャーのために特定のアセンブリをインストールする必要があります。各フィーチャーの GUID はサーバー ファーム内で一意である必要があります。そうでない場合、GUID を正しいフィーチャーに解決するときに問題が発生することがあります。
フィーチャーをファームから削除できますが、削除前にアクティブ化されていたさまざまな場所から削除しないと、削除後にそれらの機能の関連付けを解除するときに問題が生じます。フィーチャーを削除した後で、プロパティ バッグ内の孤立プロパティ、アクティブ化時に Web サイトにコピーされたファイルなどフィーチャーの一部が残ることがあります。そのように一部を残すかどうかは、フィーチャーの設計に基づきます。フィーチャーを再追加する場合は、フィーチャーのプロパティを復旧することが望ましいからです。また、追加されたファイルがどこか別の場所で使用されているときにそれらを削除するのは、設計として好ましくありません。カスタマイズ可能なファイルを置き換えるためのファイルを追加するフィーチャーの場合、そのフィーチャーを削除してしまうと、カスタマイズを除去してファイルを元の状態に戻す可能性が永遠に失われます。
ここで説明したように、非表示になっているフィーチャーに依存するフィーチャーを非アクティブ化すると、依存先フィーチャーも非アクティブ化されます (その依存先に対して他の依存元フィーチャーが存在しない場合)。