public override void Execute(Guid targetInstanceId) { var export = new SPExport(SetUpExportSettings()); var import = new SPImport(SetUpImportSettings()); export.Run(); import.Run(); }
/// <summary> /// Creates a Template file (.cmp file) based on the specified web site. /// File is stored in the specified location. /// </summary> /// <param name="spWeb"></param> /// <param name="pathForTemplateFile"></param> public static void exportSpWeb(SPWeb spWeb, string pathForTemplateFile) { try { SPExportObject spExportObject = new SPExportObject(); spExportObject.Id = spWeb.ID; spExportObject.IncludeDescendants = SPIncludeDescendants.All; spExportObject.Type = SPDeploymentObjectType.Web; SPExportSettings exportSettings = new SPExportSettings(); exportSettings.SiteUrl = spWeb.Url; exportSettings.ExportMethod = SPExportMethodType.ExportAll; exportSettings.FileLocation = Path.GetDirectoryName(pathForTemplateFile); exportSettings.BaseFileName = Path.GetFileNameWithoutExtension(pathForTemplateFile); exportSettings.FileCompression = true; exportSettings.IncludeSecurity = SPIncludeSecurity.All; exportSettings.ExcludeDependencies = true; exportSettings.OverwriteExistingDataFile = true; exportSettings.ExportObjects.Add(spExportObject); SPExport export = new SPExport(exportSettings); export.Run(); } catch (Exception ex) { log.addError("Fatal Error: Could not export specified site. " + ex.ToString()); throw; } }
private void BackupMenuItem_Click(object sender, EventArgs e) { //SaveFileDialog fileDialog = new SaveFileDialog(); //DialogResult result = fileDialog.ShowDialog(); //if (result == DialogResult.OK) //{ Cursor.Current = Cursors.WaitCursor; SPSite site = CurrentNode.Tag as SPSite; SPSiteCollection collection = CurrentNode.SPParent as SPSiteCollection; string siteurl = site.Url; SPExportSettings exportSettings = new SPExportSettings(); exportSettings.SiteUrl = site.Url; Guid id = new Guid("d151035f-a876-4d34-8f58-7b6cfdd3ace3"); SPExportObject edf = new SPExportObject(); edf.Id = id; edf.IncludeDescendants = SPIncludeDescendants.All; edf.Type = SPDeploymentObjectType.File; edf.ExcludeChildren = false; //exportSettings.ExportMethod = SPExportMethodType.ExportAll; exportSettings.BaseFileName = "MyFile"; exportSettings.FileLocation = @"c:\test\"; exportSettings.FileCompression = true; exportSettings.ExportObjects.Add(edf); SPExport export = new SPExport(exportSettings); export.Run(); SPImportSettings importSettings = new SPImportSettings(); importSettings.SiteUrl = siteurl; importSettings.BaseFileName = "MyFile"; importSettings.FileLocation = @"c:\test\"; importSettings.FileCompression = true; importSettings.WebUrl = siteurl + "/PublishingImages/"; //SPImportObject imp = new SPImportObject(); //imp.Type = SPDeploymentObjectType.File; //imp. SPImport import = new SPImport(); import.Run(); //collection.Backup(site.Url, fileDialog.FileName, true); Cursor.Current = Cursors.Default; // } }
protected void btnCopy_Click(object sender, EventArgs e) { SPSecurity.RunWithElevatedPrivileges(delegate { using (SPWeb sourceWeb = new SPSite(SPContext.Current.Web.Url).OpenWeb()) { SPExportSettings settings = new SPExportSettings(); settings.SiteUrl = sourceWeb.Site.Url; settings.ExportMethod = SPExportMethodType.ExportAll; settings.FileLocation = ContentCopierWebPart.ExportLocation; settings.FileCompression = false; settings.CommandLineVerbose = true; settings.OverwriteExistingDataFile = true; foreach (SPList item in sourceWeb.Lists) { SPExportObject exportObject = new SPExportObject(); exportObject.Id = item.ID; exportObject.Type = SPDeploymentObjectType.List; settings.ExportObjects.Add(exportObject); } SPExport export = new SPExport(settings); export.Run(); } }); SPSecurity.RunWithElevatedPrivileges(delegate { SPWeb destinationWeb = new SPSite(lstJobs.SelectedItem.Value).OpenWeb(); HttpContext.Current.Items["FormDigestValidated"] = "false"; destinationWeb.AllowUnsafeUpdates = true; SPImportSettings settings = new SPImportSettings(); settings.SiteUrl = destinationWeb.Site.Url; settings.WebUrl = lstJobs.SelectedItem.Value; settings.FileLocation = ContentCopierWebPart.ExportLocation; settings.FileCompression = false; settings.RetainObjectIdentity = false; settings.LogFilePath = ContentCopierWebPart.ExportLocation + @"\export_log.txt"; settings.IgnoreWebParts = true; SPImport import = new SPImport(settings); import.Run(); HttpContext.Current.Items["FormDigestValidated"] = "false"; destinationWeb.AllowUnsafeUpdates = false; Response.Redirect(destinationWeb.Url); }); }
private void BackupMenuItem_Click(object sender, EventArgs e) { //SaveFileDialog fileDialog = new SaveFileDialog(); //DialogResult result = fileDialog.ShowDialog(); //if (result == DialogResult.OK) //{ Cursor.Current = Cursors.WaitCursor; SPSite site = CurrentNode.Tag as SPSite; SPSiteCollection collection = CurrentNode.SPParent as SPSiteCollection; string siteurl = site.Url; SPExportSettings exportSettings = new SPExportSettings(); exportSettings.SiteUrl = site.Url; Guid id = new Guid("d151035f-a876-4d34-8f58-7b6cfdd3ace3"); SPExportObject edf = new SPExportObject(); edf.Id = id; edf.IncludeDescendants = SPIncludeDescendants.All; edf.Type = SPDeploymentObjectType.File; edf.ExcludeChildren = false; //exportSettings.ExportMethod = SPExportMethodType.ExportAll; exportSettings.BaseFileName = "MyFile"; exportSettings.FileLocation = @"c:\test\"; exportSettings.FileCompression = true; exportSettings.ExportObjects.Add(edf); SPExport export = new SPExport(exportSettings); export.Run(); SPImportSettings importSettings = new SPImportSettings(); importSettings.SiteUrl = siteurl; importSettings.BaseFileName = "MyFile"; importSettings.FileLocation = @"c:\test\"; importSettings.FileCompression = true; importSettings.WebUrl = siteurl+"/PublishingImages/"; //SPImportObject imp = new SPImportObject(); //imp.Type = SPDeploymentObjectType.File; //imp. SPImport import = new SPImport(); import.Run(); //collection.Backup(site.Url, fileDialog.FileName, true); Cursor.Current = Cursors.Default; // } }
public bool Export(SPWeb web, string filename) { SPExportSettings exportSettings = new SPExportSettings(); exportSettings.SiteUrl = web.Url; exportSettings.ExportMethod = SPExportMethodType.ExportAll; exportSettings.BaseFileName = Helper.Instance.ExtractFileName(filename); exportSettings.FileLocation = Helper.Instance.ExtractFolder(filename); exportSettings.OverwriteExistingDataFile = true; SPExport export = new SPExport(exportSettings); export.Run(); return(true); }
protected void exportButton_Click(object sender, EventArgs e) { //Create an export settings object to configure the export SPExportSettings exportSettings = new SPExportSettings(); //Set the site you want to export from. Alter this to match your site. exportSettings.SiteUrl = "http://intranet.contoso.com"; //Select a full export (alternatively you could do an incremental export to just include changes) exportSettings.ExportMethod = SPExportMethodType.ExportAll; //Set the location and name of the export file exportSettings.BaseFileName = "demoTasksExport"; exportSettings.FileLocation = @"C:\"; //To export just the Tasks list, first create an ExportObject SPExportObject tasksEO = new SPExportObject(); //We must set it to export a SharePoint List tasksEO.Type = SPDeploymentObjectType.List; //We want to export everything in the list tasksEO.IncludeDescendants = SPIncludeDescendants.All; //Set the URL of the list to export. tasksEO.Url = "http://intranet.contoso.com/lists/tasks"; //Add that to the Export Objects collection exportSettings.ExportObjects.Add(tasksEO); //Do the export SPExport export = new SPExport(exportSettings); try { export.Run(); resultsLabel.Text = "The export ran successfully"; } catch (Exception ex) { resultsLabel.Text = "The export generated an error: " + ex.Message; } }
public ArrayInstance Export( [JSDoc("An object that contains export settings properties or an instance of SPExportSettings")] object exportSettings, [JSDoc("The target drop location or null to keep in target folder.")] object dropLocation) { var export = new SPExport(); if (exportSettings is SPExportSettingsInstance) { export.Settings = (exportSettings as SPExportSettingsInstance).SPExportSettings; } else if (exportSettings is ObjectInstance) { var settings = JurassicHelper.Coerce <SPExportSettingsInstance>(Engine, exportSettings as ObjectInstance); export.Settings = settings.SPExportSettings; } else { throw new JavaScriptException(Engine, "Error", "Expected the first argument to be a export settings object."); } export.Run(); if (dropLocation != Null.Value && dropLocation != Undefined.Value) { SPExportInstance.CopyFilesToDropLocation(export, TypeConverter.ToString(dropLocation)); } var result = Engine.Array.Construct(); foreach (var dataFile in export.Settings.DataFiles.OfType <string>()) { ArrayInstance.Push(result, dataFile); } return(result); }
protected override void InternalProcessRecord() { bool createLogFile = !base.NoLogFile.IsPresent; if (!base.NoFileCompression.IsPresent) { this.ValidateDirectory(base.Path); } if ((!base.Force.IsPresent) && File.Exists(base.Path)) { throw new SPException(string.Format("PSCannotOverwriteExport,{0}", base.Path)); } SPExportSettings settings = new SPExportSettings(); SPExport export = new SPExport(settings); base.SetDeploymentSettings(settings); settings.ExportMethod = SPExportMethodType.ExportAll; settings.ExcludeDependencies = !IncludeDependencies.IsPresent; SPDatabaseSnapshot snapshot = null; if (!this.UseSqlSnapshot.IsPresent) { settings.SiteUrl = this.SiteUrl; } else { snapshot = this.Site.ContentDatabase.Snapshots.CreateSnapshot(); SPContentDatabase database2 = SPContentDatabase.CreateUnattachedContentDatabase(snapshot.ConnectionString); settings.UnattachedContentDatabase = database2; settings.SiteUrl = database2.Sites[this.Site.ServerRelativeUrl].Url; } SPExportObject exportObject = this.ExportObject; if (((exportObject.Type != SPDeploymentObjectType.Web) || base.ShouldProcess(string.Format("ShouldProcessExportWeb,{0},{1}", this.SiteUrl, base.Path ))) && ((exportObject.Type != SPDeploymentObjectType.List) || base.ShouldProcess(string.Format("ShouldProcessExportList,{0},{1}", this.SiteUrl + "/" + this.ItemUrl, base.Path)))) { if (exportObject != null) { exportObject.ExcludeChildren = ExcludeChildren.IsPresent; exportObject.IncludeDescendants = IncludeDescendants; settings.ExportObjects.Add(exportObject); } settings.IncludeVersions = this.IncludeVersions; if (base.IncludeUserSecurity.IsPresent) { settings.IncludeSecurity = SPIncludeSecurity.All; } settings.OverwriteExistingDataFile = (bool)base.Force; settings.FileMaxSize = this.CompressionSize; try { export.Run(); } finally { if (base.Verbose && createLogFile) { Console.WriteLine(); Console.WriteLine(SPResource.GetString("ExportOperationLogFile", new object[0])); Console.WriteLine("\t{0}", settings.LogFilePath); } if ((this.UseSqlSnapshot.IsPresent) && (snapshot != null)) { snapshot.Delete(); } } if (base.Verbose) { string fileLocation = settings.FileLocation; ArrayList dataFiles = settings.DataFiles; if (dataFiles != null) { if (((fileLocation != null) && (fileLocation.Length > 0)) && (fileLocation[fileLocation.Length - 1] != System.IO.Path.DirectorySeparatorChar)) { fileLocation = fileLocation + System.IO.Path.DirectorySeparatorChar; } Console.WriteLine(); Console.WriteLine(SPResource.GetString("ExportOperationFilesGenerated", new object[0])); for (int i = 0; i < dataFiles.Count; i++) { Console.WriteLine("\t{0}{1}", fileLocation, dataFiles[i]); Console.WriteLine(); } if (base.NoFileCompression.IsPresent) { DirectoryInfo info = new DirectoryInfo(base.Path); Console.WriteLine("\t{0}", info.FullName); } Console.WriteLine(); } } } }
protected void btnMove_Click(object sender, EventArgs e) { if (ThisWebPart.DestionationSiteCollectionUrl != null) { oSite = new SPSite(ThisWebPart.DestionationSiteCollectionUrl + "/jobs/" + DateTime.Now.Year); SPSecurity.RunWithElevatedPrivileges(delegate { using (SPWeb sourceWeb = new SPSite(SPContext.Current.Web.Url).OpenWeb()) { SPExportSettings settings = new SPExportSettings(); settings.SiteUrl = sourceWeb.Site.Url; settings.ExportMethod = SPExportMethodType.ExportAll; settings.FileLocation = ThisWebPart.ExportLocation; settings.FileCompression = false; settings.CommandLineVerbose = true; settings.OverwriteExistingDataFile = true; foreach (SPList item in sourceWeb.Lists) { SPExportObject exportObject = new SPExportObject(); exportObject.Id = item.ID; exportObject.Type = SPDeploymentObjectType.List; settings.ExportObjects.Add(exportObject); } SPExport export = new SPExport(settings); export.Run(); } }); SPWeb destinationWeb = new SPSite(lstJobs.SelectedItem.Value).OpenWeb(); SPSecurity.RunWithElevatedPrivileges(delegate { HttpContext.Current.Items["FormDigestValidated"] = "false"; destinationWeb.AllowUnsafeUpdates = true; SPImportSettings settings = new SPImportSettings(); settings.SiteUrl = destinationWeb.Site.Url; settings.WebUrl = lstJobs.SelectedItem.Value; settings.FileLocation = ThisWebPart.ExportLocation; settings.FileCompression = false; settings.RetainObjectIdentity = false; settings.LogFilePath = ThisWebPart.ExportLocation + @"\export_log.txt"; settings.IgnoreWebParts = true; SPImport import = new SPImport(settings); import.Run(); HttpContext.Current.Items["FormDigestValidated"] = "false"; destinationWeb.AllowUnsafeUpdates = false; }); var currentUser = Request.LogonUserIdentity.ToString(); SPSecurity.RunWithElevatedPrivileges(delegate { SPWeb sourceWeb = new SPSite(SPContext.Current.Web.Url).OpenWeb(); SPWeb blueberryWeb = sourceWeb.Site.AllWebs["Blueberry"]; SPList proposalList = blueberryWeb.Lists["Proposals"]; var proposalRecordID = int.Parse(sourceWeb.Properties["ProposalRecordID"].ToString()); SPListItem proposalRecord = proposalList.GetItemById(proposalRecordID); proposalRecord["JobNumber"] = lstJobs.SelectedItem.Text; proposalRecord["BecameJobOn"] = DateTime.Now; proposalRecord.Update(); sourceWeb.AllowUnsafeUpdates = true; sourceWeb.Delete(); }); Response.Redirect(destinationWeb.Url); } }
/// <summary> /// Performs the export. /// </summary> /// <param name="export">The export.</param> /// <param name="exportObject">The export object.</param> /// <param name="settings">The settings.</param> /// <param name="logFile">if set to <c>true</c> [log file].</param> /// <param name="quiet">if set to <c>true</c> [quiet].</param> /// <param name="url">The URL.</param> internal static void PerformExport(SPExport export, SPExportObject exportObject, SPExportSettings settings, bool logFile, bool quiet, string url, bool useSqlSnapshot) { SPDatabaseSnapshot snapshot = null; using (SPSite site = new SPSite(url)) { ValidateUser(site); if (!useSqlSnapshot) { settings.SiteUrl = site.Url; } else { snapshot = site.ContentDatabase.Snapshots.CreateSnapshot(); SPContentDatabase database2 = SPContentDatabase.CreateUnattachedContentDatabase(snapshot.ConnectionString); settings.UnattachedContentDatabase = database2; settings.SiteUrl = database2.Sites[site.ServerRelativeUrl].Url; } using (SPWeb web = site.OpenWeb()) { SPList list = Utilities.GetListFromViewUrl(web, url); if (list == null) { throw new Exception("List not found."); } settings.SiteUrl = web.Url; exportObject.Id = list.ID; } settings.ExportObjects.Add(exportObject); try { export.Run(); if (!quiet) { ArrayList dataFiles = settings.DataFiles; if (dataFiles != null) { Console.WriteLine(); Console.WriteLine("File(s) generated: "); for (int i = 0; i < dataFiles.Count; i++) { Console.WriteLine("\t{0}", Path.Combine(settings.FileLocation, (string)dataFiles[i])); Console.WriteLine(); } Console.WriteLine(); } } } finally { if (useSqlSnapshot && (snapshot != null)) { snapshot.Delete(); } if (logFile) { Console.WriteLine(); Console.WriteLine("Log file generated: "); Console.WriteLine("\t{0}", settings.LogFilePath); } } } }
private ArrayInstance ExportInternal(object fileLocation, object baseFileName, object logFilePath, IEnumerable <SPExportObject> exportObjects, object dropLocation) { var exportSettings = new SPExportSettings { ExportMethod = Microsoft.SharePoint.Deployment.SPExportMethodType.ExportAll, SiteUrl = SPBaristaContext.Current.Site.Url, IncludeSecurity = Microsoft.SharePoint.Deployment.SPIncludeSecurity.All, IncludeVersions = Microsoft.SharePoint.Deployment.SPIncludeVersions.All, OverwriteExistingDataFile = true }; if (fileLocation != Null.Value && fileLocation != Undefined.Value) { var strFileLocation = TypeConverter.ToString(fileLocation); if (strFileLocation.IsNullOrWhiteSpace() == false) { exportSettings.AutoGenerateDataFileName = false; exportSettings.FileLocation = strFileLocation; } } if (baseFileName != Null.Value && baseFileName != Undefined.Value) { var strBaseFileName = TypeConverter.ToString(baseFileName); if (strBaseFileName.IsNullOrWhiteSpace() == false) { exportSettings.AutoGenerateDataFileName = false; exportSettings.BaseFileName = strBaseFileName; } } if (logFilePath != Null.Value && logFilePath != Undefined.Value) { var strLogFilePath = TypeConverter.ToString(logFilePath); if (strLogFilePath.IsNullOrWhiteSpace() == false) { exportSettings.LogFilePath = strLogFilePath; } } foreach (var obj in exportObjects) { exportSettings.ExportObjects.Add(obj); } var export = new SPExport(exportSettings); export.Run(); if (dropLocation != Null.Value && dropLocation != Undefined.Value) { SPExportInstance.CopyFilesToDropLocation(export, TypeConverter.ToString(dropLocation)); } var result = Engine.Array.Construct(); foreach (var dataFile in exportSettings.DataFiles.OfType <string>()) { ArrayInstance.Push(result, Path.Combine(exportSettings.FileLocation, dataFile)); } return(result); }
public void Run() { m_export.Run(); SPExportInstance.CopyFilesToDropLocation(m_export, m_dropLocation); }
protected override void InternalProcessRecord() { bool createLogFile = !base.NoLogFile.IsPresent; if (!base.NoFileCompression.IsPresent) { this.ValidateDirectory(base.Path); } if ((!base.Force.IsPresent) && File.Exists(base.Path)) { throw new SPException(string.Format("PSCannotOverwriteExport,{0}", base.Path)); } SPExportSettings settings = new SPExportSettings(); SPExport export = new SPExport(settings); base.SetDeploymentSettings(settings); settings.ExportMethod = SPExportMethodType.ExportAll; settings.ExcludeDependencies = !IncludeDependencies.IsPresent; SPDatabaseSnapshot snapshot = null; if (!this.UseSqlSnapshot.IsPresent) { settings.SiteUrl = this.SiteUrl; } else { snapshot = this.Site.ContentDatabase.Snapshots.CreateSnapshot(); SPContentDatabase database2 = SPContentDatabase.CreateUnattachedContentDatabase(snapshot.ConnectionString); settings.UnattachedContentDatabase = database2; settings.SiteUrl = database2.Sites[this.Site.ServerRelativeUrl].Url; } SPExportObject exportObject = this.ExportObject; if (((exportObject.Type != SPDeploymentObjectType.Web) || base.ShouldProcess(string.Format("ShouldProcessExportWeb,{0},{1}", this.SiteUrl, base.Path))) && ((exportObject.Type != SPDeploymentObjectType.List) || base.ShouldProcess(string.Format("ShouldProcessExportList,{0},{1}", this.SiteUrl + "/" + this.ItemUrl, base.Path)))) { if (exportObject != null) { exportObject.ExcludeChildren = ExcludeChildren.IsPresent; exportObject.IncludeDescendants = IncludeDescendants; settings.ExportObjects.Add(exportObject); } settings.IncludeVersions = this.IncludeVersions; if (base.IncludeUserSecurity.IsPresent) { settings.IncludeSecurity = SPIncludeSecurity.All; } settings.OverwriteExistingDataFile = (bool)base.Force; settings.FileMaxSize = this.CompressionSize; try { export.Run(); } finally { if (base.Verbose && createLogFile) { Console.WriteLine(); Console.WriteLine(SPResource.GetString("ExportOperationLogFile", new object[0])); Console.WriteLine("\t{0}", settings.LogFilePath); } if ((this.UseSqlSnapshot.IsPresent) && (snapshot != null)) { snapshot.Delete(); } } if (base.Verbose) { string fileLocation = settings.FileLocation; ArrayList dataFiles = settings.DataFiles; if (dataFiles != null) { if (((fileLocation != null) && (fileLocation.Length > 0)) && (fileLocation[fileLocation.Length - 1] != System.IO.Path.DirectorySeparatorChar)) { fileLocation = fileLocation + System.IO.Path.DirectorySeparatorChar; } Console.WriteLine(); Console.WriteLine(SPResource.GetString("ExportOperationFilesGenerated", new object[0])); for (int i = 0; i < dataFiles.Count; i++) { Console.WriteLine("\t{0}{1}", fileLocation, dataFiles[i]); Console.WriteLine(); } if (base.NoFileCompression.IsPresent) { DirectoryInfo info = new DirectoryInfo(base.Path); Console.WriteLine("\t{0}", info.FullName); } Console.WriteLine(); } } } }
public ExportOperationResult RunExport() { if (traceSwitch.TraceVerbose) { trace.TraceVerbose("runExportTask: Entered runExportTask()."); } ExportOperationResult exportResult; // set change token to use if incremental export selected.. if (ExportSettings.ExportMethod == SPExportMethodType.ExportChanges) { // first check if we are exporting any site/web objects.. if (!hasSiteOrWebObject(ExportSettings.ExportObjects)) { // raise event here if we didn't find a site or web being exported.. if (ValidChangeTokenNotFound != null) { ValidChangeTokenNotFound(this, new InvalidChangeTokenEventArgs { EventMessage = WizardDeployment.InvalidObjectsForIncrementalDeploymentMessage }); } } else { string lastToken = IncrementalManager.GetLastToken(ExportSettings); if (!string.IsNullOrEmpty(lastToken)) { if (traceSwitch.TraceInfo) { trace.TraceInfo( string.Format("runExportTask: Incremental export selected, using change token '{0}'.", lastToken)); } ExportSettings.ExportChangeToken = lastToken; } else { if (traceSwitch.TraceWarning) { trace.TraceWarning( "runExportTask: Attempted to use incremental export selected but no valid change tokens have " + "yet been stored. Defaulting to full export, *current* change token will be stored for future incremental deployments."); } // raise event here if we didn't find a suitable stored change token.. if (ValidChangeTokenNotFound != null) { ValidChangeTokenNotFound(this, new InvalidChangeTokenEventArgs { EventMessage = WizardDeployment.ChangeTokenNotFoundMessage }); } ExportSettings.ExportMethod = SPExportMethodType.ExportAll; } } } using (SPExport export = new SPExport(ExportSettings)) { export.ProgressUpdated += new EventHandler <SPDeploymentEventArgs>(export_ProgressUpdated); export.Completed += new EventHandler <SPDeploymentEventArgs>(export_Completed); if (traceSwitch.TraceInfo) { trace.TraceInfo("runExportTask: Wired event handlers, about to call Run().."); } try { // initialise to default.. exportResult = new ExportOperationResult(ResultType.Failure); export.Run(); if (traceSwitch.TraceInfo) { trace.TraceInfo("runExportTask: Export completed successfully."); } // this distinction is to support incremental exports in case the client cares about the token.. if (ExportSettings.ExportMethod == SPExportMethodType.ExportAll) { exportResult = new ExportOperationResult(ResultType.Success); } else if (ExportSettings.ExportMethod == SPExportMethodType.ExportChanges) { exportResult = new ExportOperationResult(ResultType.Success, ExportSettings.CurrentChangeToken); } IncrementalManager.SaveToken(ExportSettings.CurrentChangeToken); } catch (Exception e) { if (traceSwitch.TraceError) { trace.TraceError("runExportTask: Exception caught whilst running export: '{0}'.", e); } throw; } } if (traceSwitch.TraceVerbose) { trace.TraceVerbose("runExportTask: Exiting runExportTask()."); } return(exportResult); }
public void RunExport() { if (settings != null) if (settings.ExportObjects != null && settings.ExportObjects.Count > 0) { SPExport export = new SPExport(settings); export.Error += Export_Error; export.Run(); ExportBaseFileName = export.Settings.BaseFileName; ExportPathFile = export.Settings.FileLocation + "\\" + export.Settings.BaseFileName; } }
public ExportOperationResult RunExport() { if (traceSwitch.TraceVerbose) { trace.TraceVerbose("runExportTask: Entered runExportTask()."); } ExportOperationResult exportResult; // set change token to use if incremental export selected.. if (ExportSettings.ExportMethod == SPExportMethodType.ExportChanges) { // first check if we are exporting any site/web objects.. if (!hasSiteOrWebObject(ExportSettings.ExportObjects)) { // raise event here if we didn't find a site or web being exported.. if (ValidChangeTokenNotFound != null) { ValidChangeTokenNotFound(this, new InvalidChangeTokenEventArgs { EventMessage = WizardDeployment.InvalidObjectsForIncrementalDeploymentMessage }); } } else { string lastToken = IncrementalManager.GetLastToken(ExportSettings); if (!string.IsNullOrEmpty(lastToken)) { if (traceSwitch.TraceInfo) { trace.TraceInfo( string.Format("runExportTask: Incremental export selected, using change token '{0}'.", lastToken)); } ExportSettings.ExportChangeToken = lastToken; } else { if (traceSwitch.TraceWarning) { trace.TraceWarning( "runExportTask: Attempted to use incremental export selected but no valid change tokens have " + "yet been stored. Defaulting to full export, *current* change token will be stored for future incremental deployments."); } // raise event here if we didn't find a suitable stored change token.. if (ValidChangeTokenNotFound != null) { ValidChangeTokenNotFound(this, new InvalidChangeTokenEventArgs { EventMessage = WizardDeployment.ChangeTokenNotFoundMessage }); } ExportSettings.ExportMethod = SPExportMethodType.ExportAll; } } } using (SPExport export = new SPExport(ExportSettings)) { export.ProgressUpdated += new EventHandler<SPDeploymentEventArgs>(export_ProgressUpdated); export.Completed += new EventHandler<SPDeploymentEventArgs>(export_Completed); if (traceSwitch.TraceInfo) { trace.TraceInfo("runExportTask: Wired event handlers, about to call Run().."); } try { // initialise to default.. exportResult = new ExportOperationResult(ResultType.Failure); export.Run(); if (traceSwitch.TraceInfo) { trace.TraceInfo("runExportTask: Export completed successfully."); } // this distinction is to support incremental exports in case the client cares about the token.. if (ExportSettings.ExportMethod == SPExportMethodType.ExportAll) { exportResult = new ExportOperationResult(ResultType.Success); } else if (ExportSettings.ExportMethod == SPExportMethodType.ExportChanges) { exportResult = new ExportOperationResult(ResultType.Success, ExportSettings.CurrentChangeToken); } IncrementalManager.SaveToken(ExportSettings.CurrentChangeToken); } catch (Exception e) { if (traceSwitch.TraceError) { trace.TraceError("runExportTask: Exception caught whilst running export: '{0}'.", e); } throw; } } if (traceSwitch.TraceVerbose) { trace.TraceVerbose("runExportTask: Exiting runExportTask()."); } return exportResult; }