バージョンの履歴を更新するリスト間でアイテムを移動します
-
09-12-2019 - |
質問
SharePointのリストから別のリストにアイテムを移動/切り取ることを望みます。アイテムをリストにコピーして元のものを削除できます。残念ながらバージョンの歴史が失われます。
アイテムをあるリストから別のリストにコピーすることができるように、履歴をマタインする方法が欲しいのです。SPExportObject
とSPImportObject
を使用しようとしていることについて考えました。
SPExportObject
としてリスト項目を作成するための次のコードがあります。
SPExportObject exportObject = new SPExportObject();
exportObject.Id = listItem.UniqueId;
exportObject.Type = SPDeploymentObjectType.ListItem;
.
私は私の他のリストにExportObjectをインポートできる方法がわからない。
両方のリストは同じ型です。
解決
SPExportObject/SPImportObject
を使用してリスト項目を移行することができますが、を取る必要があるという問題だけが、親の親のデータベースからアイテムをエクスポートする(例:リスト)、その後、エクスポートされたアイテムはパッケージ内で孤立しています。パッケージには複数の異なる孤立オブジェクトを含めることができます(たとえば、複数の異なるリストやリスト項目をエクスポートする場合)。
しかし、インポート方法では、エクスポートパッケージ内の各孤立オブジェクトの新しい親を定義できます。 リスト項目の子作成の処理の例を参照してください。 Content Deployment APIを使用して、ドキュメントが でない場合、ListItemは重複しています。
覚えておくことが重要です、この作業を手に入れるために必要な2つの重要な設定があります:
weburl - このプロパティは、エクスポートパッケージ内のすべての孤立オブジェクトの新しい親として使用されるWebを定義します。このメソッド(例えば)パッケージにWebがドキュメントの親にすることができない場合は、パッケージに孤立文書が含まれている場合は使用できません。文書の親はリストまたはフォルダである必要があります。
retainObjectIdentity - インポート中にオブジェクトアイデンティティを保持するか、アイデンティティを保存しないかどうかを定義します。値がfalseの場合、オブジェクトはインポート中に新しい生成GUIDを取得し、インポートされた孤立オブジェクトに新しい親を割り当てることが可能になります。
マイクロソフトからのStefanは、コンテンツ移行API で本当に良いチュートフローフを持っています。
パート2 http://blog=" http://blog="http://blogs.technet.com/b/stefan_gossner/archive / 2007/08/29/deep- SharePoint-Deployment-And-Migration-API-PART-3.ASPX "rel=" nofollow noreferrer ">パート3