[Note : This post is part of my main blog “Moving Large MOSS 2007 Sites” and “SharePoint 2010 Migration”]
[Also see my other blog on Drawbacks of current List Export and Import Content Migration APIs]
[Also see my other blog on Copying Web Level, List level and List Item Level Security Information]
Overview
There are several good references (refer to my main blog on SharePoint 2010 Migration) when it comes to SharePoint Export and Import API. I still wanted to call out as reference to all of the options that will need to be appropriately set to get your export and import going.
Export Specifics
Below I am listing all the possible Export Settings properties following by my comments:
Basic Object definition properties to be set:
SPExportObject exportObject = new SPExportObject();
exportObject.Id = web.ID;
exportObject.IncludeDescendants = SPIncludeDescendants.All;
exportObject.Type = SPDeploymentObjectType.Web;
Export Specific settings:
SPExportSettings settings = new SPExportSettings();
//Standard Options
settings.SiteUrl = web.Url;
settings.FileLocation = exportFolderPath;
string exportImportSubFolder = YourExportFolder;
Export Log File settings:
string exportLogFile = YourExportLogFilename;
if(System.IO.File.Exists(YourExportLogFilename))
{
File.Delete(YourExportLogFilename);
}
settings.LogFilePath = YourExportLogFilename;
Export general Settings:
settings.FileCompression = false;
settings.ExcludeDependencies = true;
settings.OverwriteExistingDataFile = true;
Export events to be disabled Settings:
settings.HaltOnNonfatalError = false;
settings.HaltOnWarning = false;
Export configurable Settings:
settings.IncludeSecurity = SPIncludeSecurity.All;
settings.IncludeVersions = .All;
settings.CommandLineVerbose = true;
settings.ExportMethod = SPExportMethodType.ExportAll;
Note this settings if you want to mock-run the export:
settings.TestRun = true;
As best practice run the validate, your try catch can catch early error much before the Export is kicked off:
settings.Validate();
Final Export Run Settings:
settings.ExportObjects.Add(exportObject);
SPExport export = new SPExport(settings);
export.Run();
Import Specifics
Basic Object definition properties to be set:
SPImportSettings settings = new SPImportSettings();
settings.SiteUrl = YourNewSiteCollection.Url;
//Assign the importing parent web URL
settings.WebUrl = DestinationWebURL;
Set the file locations for where the exported data is located:
settings.FileLocation = YourImportFolderPath;
Set the Import log file name. Delete first if exists from he previous run, otherwise it will append and could get large:
if (System.IO.File.Exists(YourImportLogFile))
{
File.Delete(YourImportLogFile);
}
settings.LogFilePath = YourImportLogFile;
No need to set compressed since we will be importing from an uncompressed export:
settings.FileCompression = false;
Set to false to be able reparent in a new site collection:
settings.RetainObjectIdentity = false;
You want all the security to be included (See my other blog on .... ):
settings.IncludeSecurity = SPIncludeSecurity.All;
You want to set to all to import all user date time into:
settings.UserInfoDateTime = SPImportUserInfoDateTimeOption.ImportAll;
You want to supress the events to increase your import performance:
settings.HaltOnNonfatalError = false;
settings.HaltOnWarning = false;
settings.SuppressAfterEvents = false;
You want to get all the versions:
settings.UpdateVersions = SPUpdateVersions.Append;
Verbose log will generate detailed log while running:
settings.CommandLineVerbose = true;
As best practice run the validate, your try catch can catch early errors much before the Import is kicked off:
settings.Validate();
Final Import Run Settings:
SPImport import = new SPImport(settings);
import.Run();
2 comments:
Hi i have exported a site successfully from Moss 2007... but i got feature OffWFCommon can not be found error while Importing that to Sharepoint Server 2010...
is there any solution to skip such error and continue importing?
@Anonymous,
The MOSS 2007 Export/Import APIs are for exporting and importing withine the MOSS 2007 environment.
If you want to Upgrade your MOSS 2007 content then you will have to evaluare Inplace/DB Attache Upgrade approach.
Post a Comment