コンテンツ移行 : コンテンツのインポート
コンテンツ移行は、2 つの手順で構成されるプロセスです。まず、ソースから移行パッケージにコンテンツをエクスポートし、次に、その移行パッケージを移行先にインポートします。
インポート操作の概要
以下のフローチャートは、展開名前空間の移行 API を使用した標準的なインポート操作の概念フローを示しています。一見すると、コンテンツのインポートは単にエクスポートの逆であるように見えますが、インポート操作には、より複雑なフローとより多くの決定ポイントがあります。
選択的移行 : エクスポートのフローチャート
インポート設定 (SPImportSettings) を指定する場合、対応するエクスポート設定 (SPExportSettings) と確実に一致させてください。たとえば、SPExportSettings オブジェクトの FileCompression プロパティが true に設定されているときには、対応する SPImportSettings オブジェクトの FileCompression プロパティも true に設定する必要があります。
この処理フローでは、フローが分岐する決定ポイントを示しています。最初の決定ポイントでは、オブジェクトの ID を保持するかどうかが決定されます。このプロパティ設定では、インポート オブジェクトがオブジェクトの GUID で配置されるか (オブジェクト ID を保持する場合)、URL で配置されるかが指定されます (オブジェクト ID とその他の移行概念の詳細については、「選択移行に関する主要概念」を参照してください)。
次の決定ポイントは、親の変更に関係があります。オブジェクトが最上位の階層にあり、オブジェクト ID を保持しない場合、親オブジェクトを再割り当てする必要があります。一方、オブジェクトが最上位以外の階層にあり、オブジェクト ID を保持しない場合には親の変更は必要ありません。
この操作でインポート オブジェクトの検索に失敗した場合、新しいオブジェクトが作成されます。ただし、オブジェクトが見つかり、オブジェクトを (コピー操作や移動操作で) 単に移動する場合、操作ではオブジェクトに新しい URL が割り当てられます。これが更新 (たとえばファイルの更新) の場合、操作では元の URL が保持されます。
インポート設定 (SPImportSettings) プロパティ
SPDeploymentSettings クラスは、SPExportSettings と SPImportSettings のどちらの派生元でもある基本クラスの役割を果たします。その結果、このクラスのメンバは、どちらの派生クラスにも継承され、同時に、SPImportSettings クラスには、特殊なインポートに関連するメンバが含まれます。
Microsoft.SharePoint.Deployment.SPImportSettings クラスのプロパティおよび基本クラスのプロパティは、次の 4 グループに分類できます。
必須 : インポートに必要なプロパティの設定です。
重要 : 重要性が高く、インポートの計画において考慮すべきプロパティの設定です。
任意選択 : 選択的な移行でのインポート操作に特に関連するプロパティの設定です。
マイナー : 補助的なプロパティの設定、またはほとんど使用しないプロパティの設定。
必要なインポート設定
-
インポートの移行先サイトを識別する GUID を設定または取得します。
-
インポートの移行先サイトを検索する URL を設定または取得します。
BaseFileName (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
コンテンツ移行パッケージ (.cmp) ファイル (複数可) の名前を設定または取得します。これらのファイルは 1 つ以上の .cab ファイルで構成され、ファイル拡張子は .cmp です。この値は、SPDeploymentSettings クラスのコンストラクタ (SPDeploymentSettings) にある baseFileName パラメータから取得されます。
複数の .cmp ファイルがあるときは、ファイル名に数字が順番に付加されます。たとえば、baseFileName パラメータが "MyWeb" である場合、エクスポート操作で複数の .cmp ファイルが作成されると、この移行パッケージのファイル名は "MyWeb1.cmp"、"MyWeb2.cmp" のようになります。
SiteUrl (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
インポートでの移行先サイト コレクションの URL を設定または取得します。この値は、サイトへの絶対 URL です。値は、SPDeploymentSettings クラスのコンストラククタ (SPDeploymentSettings) の siteUrl パラメータで提供されます。
FileLocation (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
インポート移行先にあるコンテンツ移行パッケージのファイル パスとディレクトリの場所を設定または取得します。この値は、SPDeploymentSettings クラスのコンストラクタ (SPDeploymentSettings) の fileLocation パラメータで提供されます。
重要なインポート設定
-
インポートで保持されるユーザー情報のレベルを指定する値を、SPImportUserInfoDateTimeOption 列挙から設定または取得します。使用可能な値は次のとおりです。
ImportAll : 日時のタイム スタンプ、ユーザーの参照値など、元の作成者や編集者の情報がすべて保持されます。
None : (既定) 作成者や編集者のデータはシステム アカウントに置き換えられます。現在 (インポート時) の日時のタイム スタンプが作成され、ユーザーの参照値は空の文字列 ("") に置き換えられます。
ReplaceUserWithSystemAccount : 元のタイム スタンプは保持しますが、作成者と編集者のデータはシステム アカウントに、ユーザーの参照値は空の文字列 ("") にそれぞれ置き換えます。
既定値は、None です。
-
インポートでのバージョン管理情報の処理を指定する値を、SPUpdateVersions 列挙から設定または取得します。
Append : インポート時にバージョン付きの項目を付加します。
Overwrite : インポート時に既存の項目を削除した後、インポートしたバージョンを挿入し直します。
Ignore : バージョン管理を無視します。
CommandLineVerbose (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
移行の情報をコマンド ライン コンソールに出力するかどうかを指定するブール値を取得または設定します。既定値は false です。
FileCompression (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
CAB 圧縮プロトコルを使用してコンテンツ移行パッケージを圧縮するかどうかを指定するブール値を取得または設定します。既定値は true で、コンテンツ移行パッケージは圧縮されます。
このプロパティのインポート設定は、SPExportSettings.FileCompression プロパティでの設定と一致している必要があります。
IncludeSecurity (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
移行パッケージに入れるユーザーのセキュリティ ロールの量とロールのメンバシップ データを指定する SPIncludeSecurity 列挙値を取得または設定します。列挙には、All、None、WssOnly の 3 つのオプションがあります。選択された値は、SPExportSettings.IncludeSecurity プロパティでの値と一致している必要があります。
LogFilePath (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
コンテンツ移行操作を記録するログ ファイルへの完全修飾パスを指定する値を取得または設定します。
選択的な移行に関するインポートの設定
-
インポート中に、オブジェクトを識別する GUID を保持するかどうかを指定するブール値を設定または取得します。この値を true に設定すると、インポートでオブジェクトの GUID が保持されます。既定値は false です。
選択的移行の中心的な概念は既存ファイルの更新版のインポートなので、SPImportSettings.RetainObjectIdentity はこの移行の重要な部分になります。移行先で、アイテムが既存のアイテムの更新版であることを確認する唯一の方法は、オブジェクトの GUID を使用してオブジェクトの ID を比較することです。
データベースでは重複する GUID を使用できないので、このプロパティの実装では注意が必要です。このプロパティは、選択的な移行のシナリオでのみ効果があります。さらに、フィールドを削除できるようにするには、この値を true に設定する必要があります。ここでいうフィールドの削除とは、インポート先にある、エクスポート元と同じファイルを更新および削除するとき、エクスポート元にある以前のバージョンの項目を削除することです。また、選択的な移行をサポートするには、ExportMethod プロパティを、ExportChanges のフィールド値に設定する必要があります。
マイナーなインポート設定
-
インポート操作で、ファイルに関連する Web パーツを無視するかどうかを決定するブール値を設定または取得します。Web パーツのインポートを無効にするには、true に設定します。既定値は false です。
このプロパティは、主として CMS のバリエーション機能のサポートに使用されます。
-
移行操作で、ファイルまたはリスト アイテムの作成時または変更時に発生する After イベントを無視するかどうかを決定するブール値を設定または取得します。After イベントを無視するには、true に設定します。既定値は false です。
After イベントの処理を抑止すると、インポート中のパフォーマンスをわずかに向上させることができます。さらに、パフォーマンスに問題がない場合でも、この値を true に設定することで、イベント ハンドラのエラーが原因で起きる可能性のある問題の発生を避けることができます。
HaltOnWarning (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
警告が発生したときに移行を中断するかどうかを指定するブール値を設定または取得します。警告を無視して移行を継続するには、false に設定します。既定値は false です。
HaltOnNonfatalError (Microsoft.SharePoint.Deployment.SPDeploymentSettings から継承)
致命的ではないエラーが発生したときに移行を中断するかどうかを指定するブール値を設定または取得します。致命的ではないエラーを無視して移行を継続するには、false に設定します。既定値は false です。