アップグレード定義ファイル
最終更新日: 2010年4月6日
適用対象: SharePoint Foundation 2010
この記事の内容
SharePoint Foundation でアップグレード定義を決定する方法
サイト定義のアップグレードを適用する
アセンブリ参照
言語パックとサイト定義のアップグレード
サイトのアップグレード定義には、以前のバージョンの SharePoint 製品でカスタマイズしたサイトを、最新のバージョンの新機能を利用できるように変換する方法が用意されています。アップグレード定義ファイルでは、特定のビルドやバージョンのファイルやリスト データを以降のビルドやバージョンにマップする (つまり "関連付ける") と共に、アップグレードされた Web サイトに含める追加のアイテムを指定します。
サイト定義のアップグレード定義を登録するには、通常、サイト定義の名前で始まる一意のファイル名を付けて、セットアップ ディレクトリの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade\ フォルダーに配置します。サイトのアップグレード定義はサイト定義ごとに登録されますが、同じサイト定義に対して複数のアップグレード定義が存在している可能性があります。サイトのアップグレード定義にはリストのアップグレード テンプレートも含まれます。このテンプレートには、リストの特定の列を、新しいバージョンの SharePoint Foundation 2010 のコンテンツ タイプにマップする方法が記述されています。
アップグレード定義を理解するには、SharePoint Foundation のインストールに含まれるアップグレード定義ファイルを参考にしてください。このファイルは、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade ディレクトリにあります。このディレクトリには 2 つのアップグレード テンプレートが含まれています。前のバージョンから現在のバージョンにアップグレードするためのアップグレード テンプレートと、SharePoint Foundation と最終リリース バージョンのビルド間のアップグレードのためのアップグレード テンプレートです。
SharePoint Foundation でアップグレード定義を決定する方法
サイトがアップグレード可能であるかどうかを確認するときに、SharePoint Foundation は以下のアルゴリズムを使用して、複数のアップグレード定義の中から使用するアップグレード定義を選択します。
Web サイトが製品の現在のバージョンではない場合、SharePoint Foundation では、製品のバージョン間のアップグレードを行うアップグレード定義が選択され、サイトが最新バージョンのテンプレートに更新されます。アップグレード定義では、バージョン間のアップブレードまたはテンプレート間のアップグレードが実行されますが、両方は実行されません。つまり、アップグレート定義に FromProductVersion 属性と BeginFromSchemaVersion/EndFromSchemaVersion 属性のセットの両方を含めることはできません。Web サイトが製品の現在のバージョンではなく、どのアップグレード定義でも Web サイトのバージョン間のアップグレードを実行できない場合、Web サイトはアップグレードできません。
#1 に該当しない場合、SharePoint Foundation では、ToSchemaVersion 属性の値がサイト定義の現在のテンプレートのバージョンに最も近い (ただし超えない) アップグレード定義が選択されます。この場合、既存のサイト インスタンスのテンプレート バージョンは、BeginFromSchemaVersion と EndFromSchemaVersion の範囲になります。
複数のサイトのアップグレード定義が #2 の条件を満たす場合、SharePoint Foundation は BeginFromSchemaVersion の値が最も大きいアップグレード定義を選択します。
指定されたサイト定義について、汎用言語のテンプレートと特定のロケールのテンプレートの両方が存在する場合、SharePoint Foundation では特定のロケールのテンプレートが選択されます。
サイト定義のアップグレードを適用する
SharePoint Foundation では、アップグレード定義を使用して、変換されたサイトを準備します。サイト定義のアップグレードを適用する処理では、次のように、既定のアイテムの代わりを作成する必要があります。
サイト定義のナビゲーション ノードが変更されていない場合、前のバージョンの既存のナビゲーション ノードは削除され、現在のバージョンのサイト定義のナビゲーション ノードに置き換えられます。
Onet.xml または Feature.xml ファイルの <ListTemplates> セクションによって、[作成] ページで選択するリスト テンプレートが決定されます。サイトのアップグレード定義が適用される場合、SharePoint Foundation では、前のバージョンのファイルではなく、現在のバージョンの Onet.xml または Feature.xml ファイルのリスト テンプレートのセットが使用されます。
同様に、アップグレード後、SharePoint Foundation では、前のバージョンの <DocumentTemplate> ファイルのセットではなく、新しい Onet.xml ファイルの <DocumentTemplates> セクションを使用して、使用可能な関連付けられていないドキュメント テンプレートのセットが決定されます。
注意
ほとんどのドキュメント テンプレートを独立した状態ではなく、コンテンツ タイプに関連付けることをお勧めします。
既存の Web サイトをアップグレードするとき、既定では、サイト定義のアップグレードによって、新しいサイト定義のモジュールまたはリスト インスタンスは準備されません。SharePoint Foundation では、<File> 要素のセットを使用して、前のバージョンのファイルを現在のバージョンにマップする方法が指定され、アップグレード定義のモジュールとリスト インスタンス タグのセットを使用して、前のバージョンと現在のバージョンの差分のファイルとリスト データが指定されます。
アップグレード定義を使用すると、アップグレードする Web サイトで置き換え用のコンテンツ タイプ、フォーム、リスト、およびページを一貫して使用することができます。アップグレード定義がない場合、SharePoint Foundation では、前のバージョンに基づいて Web サイトがアップグレードされ、ユーザーに対して現在のバージョンの機能 (コンテンツ タイプなど) の公開を犠牲にしても、データの移行と相互運用性ができる限り優先されます。これは、バージョン間の主なアップグレード作業 (たとえば、データベースの変換) がすべて終了した後の、すべての Web サイトの既定の状態です。
アセンブリ参照
web.config ファイルには、前のバージョンの製品アセンブリ (Windows SharePoint Services 3.0 の Microsoft.SharePoint.dll アセンブリなど) を、現在 (最新) の製品バージョンの相当するアセンブリにマップするポリシーのリダイレクトが含まれています。
言語パックとサイト定義のアップグレード
バージョン間のアップグレードでは、前のバージョンの特定の言語パックがインストールされており、対応する現在のバージョンの言語パックがアップグレードの前にインストールされていない場合は、アップグレード ログにエラーが記録されます。ただし、アップグレード処理は完了しています。