フィーチャーを操作する

フィーチャーは、複雑さを排してサイトのカスタマイズ作業を容易にすると同時に、展開済みのサイトを安全にアップグレードできることを目指して導入されました。ちょっとした変更のために、大規模なコード群全体をコピーする必要はありません。バージョン管理の必要性を減らし、フロントエンド Web サーバー間の一貫性の問題を回避することにもつながります。展開した個々のフィーチャーの有効/無効を切り替えるのも容易で、管理者は画面上で特定のフィーチャーをオン/オフするだけで、テンプレートやサイト定義を切り替えることができます。フィーチャーには、次のような特徴があります。

  • ユーザー設定コードの実行範囲を指定できるスコープ機能

  • 展開内でフィーチャーをインストールまたはアンインストールするプラグ環境

  • フィーチャーの有効化または無効化を、スコープごとに設定可能なプラグ環境

  • フィーチャーの実行に必要なデータをそのスコープ内に保存する、スコープ付きプロパティ バッグ

  • 統一フレームワークの基盤として、Windows SharePoint Services ソリューションの分散展開に適用可能

フィーチャーの実装

フィーチャーを実装するためには、フィーチャー定義ファイル群を格納するサブフォルダを、フィーチャーのセットアップ ディレクトリ (Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES) 以下に作成する必要があります。フィーチャー サブフォルダには、フィーチャーおよび関連するリスト要素 (要素マニフェストを含む XML ファイル、他の関連ファイルなど) の基本的なプロパティを定義する、Feature.xml ファイルを含みます。ここには Feature.xml ファイルだけを置くようにしても、関連する要素ファイル (XML ファイルのほか, .aspx, .htm, .xsn, .resx, .dll など) を併せて保存するようにしてもかまいません。

注意

Windows エクスプローラ上で、Features ディレクトリを右クリックし、[新規作成] サブメニューの [フォルダ] コマンドで新しいフォルダを作成した場合、権限の設定が引き継がれません。フィーチャーをそのフォルダに展開すると、サイト設定、リスト ビューなど、Windows SharePoint Services ページを開いたとき例外が発生する場合があります。この問題を解消するには、作成したフォルダを右クリックし、[プロパティ] コマンドでダイアログ ボックスを開いて、[セキュリティ] タブの [詳細] ボタンをクリックします。次に、[アクセス許可] タブに切り替え、継承されないアクセス許可をフォルダから解除してください。なお、コマンド プロンプト上で、md コマンドでフォルダを作成した場合、このような問題は発生しません。

フィーチャー フォルダの作成後、stsadm.exe をコマンド ラインから実行するか、オブジェクト モデルを操作して、フィーチャーをインストールし、動作するようにします。この操作は画面上からも行うことができます。フィーチャーをインストールすると、サーバー ファームから定義や要素にアクセスできるようになります。この後、所定のスコープ内でフィーチャーを有効にする必要があります。

Feature 要素

Feature 要素は、Feature.xml ファイル内に記述して、アセンブリやファイルの場所、依存関係、プロパティなどを定義する働きがあります。フィーチャーは Feature.xml ファイルと、個々の要素を記述したいくつかの補助的なファイルで実現します。そのほか、Onet.xml ファイルの Feature 要素は他のスキーマに基づくもので、フィーチャーを有効にする旨をサイト定義中に指定できます。

以前は大きなサイト定義ファイルに記述していた事項が、いくつかの要素に分割して記述できるようになりました。要素は、フィーチャーを構成する、これ以上分割できない単位です。通常、Feature.xml ファイルには、いくつかの XML ファイルを参照する記述を置きます。それぞれの最上位に位置する <Elements> タグ内に、フィーチャーの実行に必要な要素を定義します。Windows SharePoint Services 3.0 の要素のほとんどが、旧バージョンの Onet.xml ファイルや Schema.xml ファイルでは、独立したノードになっていたものに対応します。独自のメニュー項目、イベント ハンドラなど、要素には何種類かあります。

これを使うと、たとえば次のような要素をまとめた、含む「よく使う項目」の機能を実現できます。

  • ユーザーごとによく使う項目を列挙した「カスタム リスト」。フィーチャーが有効になっていれば、ワークスペースごとに隠しリストとして作成されます。

  • 「よく使う項目として追加」メニュー。該当する項目を追加する機能で、リストすべてに添えられるようになります。

  • よく使う上位 10 項目を追跡、表示する Web パーツ。

フィーチャーの各要素は、単独ではそれほど役立つものではありませんが、組み合わせると力を発揮します。

Feature.xml ファイルの書式や XML 要素については、「Feature.xml ファイル」を参照してください。サイトの定義で ONET.XML のファイル書式に与えるフィーチャーの影響については、「サイト定義 (Onet.xml) ファイル」を参照してください。

注意

Windows SharePoint Services では、フィーチャーのフォルダ名やファイル名として、空白を除く、7 ビット ASCII 文字のみをサポートしています。