カスタム Windows SharePoint Services 2.0 サイト定義をアップグレードする

Windows SharePoint Services 2.0 では、多くのカスタマイズにサイト定義のカスタマイズが必要になりますが、通常、この作業には STS サイト定義のコピーと、コピーした定義内にあるリスト スキーマ、ページ、その他の構造要素の修正が含まれます。カスタム サイト定義の大部分はカスタマイズされていません。つまり、基本的な特性の多くは STS サイト定義と同じままになっています。

Windows SharePoint Services 2.0 でのカスタム サイト定義と同等な Windows SharePoint Services 3.0 での定義を得る方法は、サイト定義により変わります。それが基本としていた Windows SharePoint Services 2.0 サイト定義に関してそれほど多くのカスタマイズを加えていないサイト定義の場合は、そのサイト定義と同等の機能を持つ Windows SharePoint Services 3.0 での定義を作成し、Windows SharePoint Services 2.0 でのカスタマイズを含むように新しい定義を改良することです。たとえば、Windows SharePoint Services 2.0 サイト定義に加えていたカスタマイズが、カスタム リストの追加だけだったり、STS サイト定義をコピーしてユーザー設定の外観を得るために Default.aspx page をカスタマイズしただけだった場合は、Windows SharePoint Services 3.0 の STS サイト定義を新しいカスタム サイト定義の基本として使用するのがお勧めの方法です。一方、もっと幅広いカスタマイズを行っていた場合は、Windows SharePoint Services 2.0 のサイト定義を Windows SharePoint Services 3.0 の同等の定義に変換した方がよいでしょう。以降では、Windows SharePoint Services 2.0 のカスタマイズしたサイト定義を Windows SharePoint Services 3.0 の正しいサイト定義に変換する方法について説明します。

Windows SharePoint Services は ASP.NET 2.0 と徹底的に統合されたため、SharePoint サイトで使用される ASP.NET ページ (.aspx ファイル) の構造は大幅に変更されています。Windows SharePoint Services 2.0 のサイト定義に基づいた Web サイトをホストする場合、Windows SharePoint Services は、それらがその展開内で確実に機能するように互換モードでページを実行します。ただし、Windows SharePoint Services 3.0 のサイト定義からのページを実行するときには、パフォーマンス上の理由で、Windows SharePoint Services はページを互換モードでは実行しません。このため、Windows SharePoint Services 3.0 のサイト定義を作成する場合は、ASP.NET ページをある程度修正する必要があります。

Windows SharePoint Services 2.0 のサイト定義内の ASPX ページをカスタマイズしていない場合は、Windows SharePoint Services 3.0 の STS サイト定義 (12\TEMPLATE\SiteTemplates\sts\xml に置かれている) の Default.aspx ページをサイト定義にコピーするのが適切な実践方法です。

すべての Web パーツ ページが、正常に機能するには ASP.NET Web パーツ マネージャを含んでいなければなりません。したがって、カスタマイズした ASPX ページがある場合は、それらに Web パーツ マネージャを追加する必要があります。これを行うには、<WebPartPages:SPWebPartManager id="m" runat="Server" /> をページに挿入します。

注意

すべての SharePoint マスタ ページが Web パーツ マネージャを含んでいるため、ASP.NET ページをマスタ ページに基づかせるという手順を取るのが適切な実践方法です。マスタ ページに基づいたインフラストラクチャからはより大きな柔軟性が得られます。また、マスタ ページは、Windows SharePoint Services 機能の共通部分を確実にページに含める助けとなります。詳細については、「マスタ ページ」を参照してください。

Onet.xml を編集する

Onet.xml ファイルの構造は、基本的な方法で変更されています。Windows SharePoint Services 2.0 のカスタム サイト定義の Onet.xml をカスタマイズしていない場合は、Windows SharePoint Services 3.0 の Onet.xml を 12\TEMPLATE\SiteTemplates\sts\xml からサイト定義にコピーするのが適切な実践方法です。

Windows SharePoint Services 3.0 では、セットアップ ディレクトリ内にあるすべての XML ファイルが、リソース式 ($Resources) を使用して、言語パックがインストールされているすべての言語に対して動作するように変換されています。Windows SharePoint Services 2.0 のサイト定義を複数の言語で動作するようにして、このリソースの拡張された使用方法による恩恵を受けるには、Windows SharePoint Services 2.0 XML ファイルに多数の変更を加える必要があります。この場合、Windows SharePoint Services 3.0 の STS サイト定義をコピーして、それにカスタマイズを追加するのが最もよい方法です。

Windows SharePoint Services 2.0 のサイト定義で Onet.xml ファイルをカスタマイズした場合は、そのファイルを Windows SharePoint Services 3.0 でうまく動作するように修正する必要があります。以下の基本手順は、Windows SharePoint Services 2.0 の Onet.xml ファイルに Windows SharePoint Services 3.0 のサイト定義との一貫性を持たせる助けとなります。

  1. その定義で作成された Web サイトが一貫して Windows SharePoint Services 3.0 の新しい種類の基本リストを使用するようにするために、Windows SharePoint Services 2.0 の Onet.xml ファイルから <BaseTypes> セクションを削除します。基本リストの種類は既定で SharePoint サイトに含まるようになっているため、各ファイル内で定義する必要はありません。

  2. Windows SharePoint Services 2.0 の Onet.xml ファイルから標準リストを削除します。SharePoint 機能に必要な多くのリストが、既定で Windows SharePoint Services 3.0 に含まれるようになっており、Onet.xml ファイル内で定義する必要はなくなっています。詳細については、「標準リスト定義をアップグレードする」を参照してください。

  3. Name 属性が webtemp、listtemp、wplib、または datasrcs になっているリストの <ListTemplate> タグを削除します。また、LISTS\WEBTEMP フォルダ、LISTS\LISTTEMP フォルダ、LISTS\wplib フォルダ、および LISTS\DATASRCs フォルダを削除することにより、それらのリストの基本となっているリスト定義も削除します。Configurations セクションから Type 属性が 113 (Web テンプレート ギャラリー)、114 (リスト テンプレート ギャラリー)、または 111 (Web パーツ ギャラリー) になっている各 <List> タグを削除します。

  4. DocumentTemplates セクションを Windows SharePoint Services 3.0 ドキュメント テンプレートにマッピングすることを検討します。サイト定義内のドキュメント テンプレートを表す体系は、Windows SharePoint Services 3.0 では大幅に変更されています。ドキュメント テンプレートは、まだロケールごとのディレクトリに格納されています。

特定のサイト定義について、対応するドキュメント テンプレート ファイルのセットが \12\TEMPLATE\<ロケール ID>\<サイト定義名> 内にあることを確認する必要があります。ただし、ドキュメント テンプレート ファイルをカスタマイズしていない場合は、単にサイト定義がドキュメント テンプレートを再利用するようにするだけでもかまいません。これを行うには、Onet.xml ファイル内の各 <DocumentTemplate> ノードをコメントにし、Path="STS" と指定します。

最終的に考慮する事項

サイト定義をカスタマイズした後は、それを Windows SharePoint Services 3.0 内でテストして、その定義を通じて作成した新しい Web サイトが期待どおりに機能することを確認します。Windows SharePoint Services 3.0 の正しいサイト定義を作成し終えたら、次の手順は、Windows SharePoint Services 2.0 のサイト定義を Windows SharePoint Services 3.0 にマッピングするアップグレード定義を作成することです。

See Also

概念

標準リスト定義をアップグレードする