テンプレートと定義の使い方に関するガイドライン
サイト定義
フロントエンド Web サーバーのサイト定義をカスタマイズするためには、既存のサイト定義ディレクトリを複製し、「[方法] カスタム サイト定義および構成を作成する」の手順に従ってサイト定義を作成する必要があります。製品本体と共にインストールされた元のファイルを直接編集した場合、Windows SharePoint Services の更新ファイルやサービス パックを適用したり、新しい製品バージョンにアップグレードしたりすると、このファイルも上書きされ、修正した事項が消えてしまうことがあります。
また、実稼働後にサイト定義を変更すると、既存のサイトが正常に動作しなくなるおそれがあるほか、技術サポートの対象でもなくなります。展開後にどうしても変更が必要な場合は、機能を追加する場合の方が、変更や削除よりも問題が生じる可能性が小さいことを覚えておくとよいでしょう。変更するとデータが消失するおそれが多分にあります。また、削除すると、多くの場合ビューが崩れてしまいます。
バックアップ、リストアおよび移行にあたっては、バックアップ元あるいは移行元のサーバーに何らかのカスタマイズを施している場合、リストア先や移行先にも同じカスタマイズを施してください。
サイト定義をカスタマイズしても、多くの場合、Internet Information Services (IIS) をリセットするか、いったん停止して再起動しない限り、変更が有効になりません。
カスタム サイトやリスト定義は、充分に動作を確認してから実稼働に切り替えてください。
サイト定義ファイルを修正することにより、既存のサイトやリストをカスタマイズすることはできません。したがって、サイト定義はこれから作ろうとするサイトをカスタマイズするために使い、作成済みのサイトの修正にはオブジェクト モデルを使ってください。
サイト定義を修正する際は、Microsoft Office SharePoint Designer 2007 でカスタマイズしたページの内容はデータベースに格納されている、という点を頭に入れておいてください。SharePoint Designer のページを修正する (インストール時とは異なる状態にする) と、これ以降、定義を修正してもこのページには反映されなくなります。
注意
ファイルに対する修正の有無は、SPFile クラスの Properties プロパティを使って取得した、vti_hasdefaultcontent フィールドで調べることができます。
定義をカスタマイズする元になる、Collaborative Application Markup Language (CAML) を生成するためには、URL プロトコルで提供されているコマンドを使う方法が便利です。
ファイル名の制約
セキュリティ保全のため、Windows SharePoint Services が \\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template ディレクトリ以下のファイルを読み込むのは、ファイル名が ASCII コードの英字、数字、ピリオド、アンダースコア、ダッシュのみから成る場合に限定しています。さらに、ピリオドが複数連続している場合も対象外です。たとえば、次のような名前のファイルは読み込めます。
AllItems.aspx
Dept_1234.doc
Long.Name.With.Dots.txt
一方、次のようなファイルは読み込めません。
HailCæsar.wav
File Name With Spaces.avi
Wow...ThisIsBad.rtf
揵.htm
よりきめ細かいサイト定義のための機能
サイト定義を細かくカスタマイズできるよう、CAML には以下に示すような要素や属性があります。
要素
要素 |
説明 |
---|---|
ExecuteUrl |
サイト作成の直後に開くページの指定 |
ExternalSecurityProvider |
カスタム セキュリティ プロバイダの実装 |
FileDialogPostProcessor |
ドキュメント ライブラリで使う [開く] および [保存] ダイアログ ボックス ([ファイル] メニュー) のカスタマイズ |
Project 要素の属性
属性 |
説明 |
---|---|
AlternateCSS |
カスケード スタイル シート (CSS) 定義の追加や修正 |
AlternateHeader |
サイト内の各ページのトップ ナビゲーション領域の代替 |
CustomJSUrl |
独自の ECMAScript (JavaScript または Microsoft JScript) 関数の提供 (たとえば、[編集] メニューをカスタマイズするような場合) |
DisableWebDesignFeatures |
サイトの設計に関するいくつかの機能 (バックアップ、サブサイトの作成など) の無効化 |
CSS スタイル定義のカスタマイズ
CSS スタイル定義は、独自の名前で .css ファイルを \\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\LCID\STYLES 以下に作成することによりカスタマイズできます。サイト定義の .aspx ページ内で指定された既定の .css ファイルの内容をそのまま複製し、必要に応じてスタイルを追加、修正してください。AlternateCSS 属性を使って、次のように、新しい .css ファイルのパスを指定します。
AlternateCSS = "/_layouts/[%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%]/styles/MyStyles.css">
カスタム テンプレート
カスタム テンプレートを実稼働環境に配置する際は、このテンプレートの派生元 (製品と共にインストールされた元のサイト定義) に関連付けられた一意の識別子が, .stp ファイルに記述されていることを覚えておくとよいでしょう。したがって、フロントエンド Web サーバーに元のサイト定義がない場合、カスタム テンプレートは正常に機能しません。