internal SPObjectData GetSupplementaryData(SPExportObject ExportObject) { if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("GetSupplementaryData: Entered."); } SPObjectData foundObject = exportObjectDetails.Find(o => o.ID == ExportObject.Id); if (foundObject != null) { if (traceSwitchStatic.TraceInfo) { traceStatic.TraceInfo("GetSupplementaryData: Found object with ID '{0}' in collection.", ExportObject.Id); } } else { if (traceSwitchStatic.TraceInfo) { traceStatic.TraceInfo("GetSupplementaryData: Did not find object with ID '{0}' in collection, returning null.", ExportObject.Id); } } if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("GetSupplementaryData: Leaving."); } return(foundObject); }
private static void storeLargestScopedObject(List <SPObjectData> exportObjects) { SPObjectData largestScopeObject = null; // would be nice to optimize this implementation if time.. List <SPObjectData> listObjects = new List <SPObjectData>(); List <SPObjectData> webObjects = new List <SPObjectData>(); List <SPObjectData> siteObjects = new List <SPObjectData>(); foreach (SPObjectData exportObject in exportObjects) { switch (exportObject.ObjectType) { case SPDeploymentObjectType.List: listObjects.Add(exportObject); break; case SPDeploymentObjectType.Web: webObjects.Add(exportObject); break; case SPDeploymentObjectType.Site: siteObjects.Add(exportObject); break; default: break; } } if (siteObjects.Count > 0) { largestScopeObject = siteObjects[0]; } if (largestScopeObject == null && webObjects.Count > 0) { largestScopeObject = webObjects[0]; } if (largestScopeObject == null && listObjects.Count > 0) { largestScopeObject = listObjects[0]; } largestExportObjectID = (largestScopeObject != null) ? largestScopeObject.ID.ToString() : string.Empty; }
internal static WizardExportSettings CollectExportSettings(XmlTextReader exportSettingsXml) { if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("CollectExportSettings: Entered CollectExportSettings()."); } // create SPExportSettings object.. SPExportSettings exportSettings = new SPExportSettings(); List <SPObjectData> exportObjectDetails = new List <SPObjectData>(); if (exportSettingsXml.Name != "ExportSettings") { exportSettingsXml.Read(); } if (exportSettingsXml.Name == "ExportSettings") { if (exportSettingsXml.MoveToAttribute("SiteUrl")) { exportSettings.SiteUrl = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("ExcludeDependencies")) { exportSettings.ExcludeDependencies = bool.Parse(exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("ExportMethod")) { exportSettings.ExportMethod = (SPExportMethodType)Enum.Parse(typeof(SPExportMethodType), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("IncludeVersions")) { exportSettings.IncludeVersions = (SPIncludeVersions)Enum.Parse(typeof(SPIncludeVersions), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("IncludeSecurity")) { exportSettings.IncludeSecurity = (SPIncludeSecurity)Enum.Parse(typeof(SPIncludeSecurity), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("FileCompression")) { exportSettings.FileCompression = bool.Parse(exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("FileLocation")) { exportSettings.FileLocation = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("BaseFileName")) { exportSettings.BaseFileName = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("IncludeSecurity")) { exportSettings.IncludeSecurity = (SPIncludeSecurity)Enum.Parse(typeof(SPIncludeSecurity), exportSettingsXml.Value); } exportSettingsXml.MoveToElement(); } while (exportSettingsXml.Read()) { if (exportSettingsXml.Name == "DeploymentObject") { SPExportObject exportObject = new SPExportObject(); SPObjectData exportObjectData = new SPObjectData(); if (exportSettingsXml.MoveToAttribute("Id")) { Guid gID = new Guid(exportSettingsXml.Value); exportObject.Id = gID; exportObjectData.ID = gID; } if (exportSettingsXml.MoveToAttribute("Type")) { SPDeploymentObjectType type = (SPDeploymentObjectType) Enum.Parse(typeof(SPDeploymentObjectType), exportSettingsXml.Value); exportObject.Type = type; exportObjectData.ObjectType = type; } if (exportSettingsXml.MoveToAttribute("ExcludeChildren")) { bool bExcludeChildren = bool.Parse(exportSettingsXml.Value); exportObject.ExcludeChildren = bExcludeChildren; exportObjectData.ExcludeChildren = bExcludeChildren; } if (exportSettingsXml.MoveToAttribute("IncludeDescendants")) { SPIncludeDescendants includeDescs = (SPIncludeDescendants) Enum.Parse(typeof(SPIncludeDescendants), exportSettingsXml.Value); exportObject.IncludeDescendants = includeDescs; exportObjectData.IncludeDescendents = includeDescs; } if (exportSettingsXml.MoveToAttribute("Url")) { exportObject.Url = exportSettingsXml.Value; exportObjectData.Url = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("Title")) { exportObjectData.Title = exportSettingsXml.Value; } exportSettings.ExportObjects.Add(exportObject); exportObjectDetails.Add(exportObjectData); } } exportSettingsXml.Close(); // set other properties which aren't tied to values in XML.. exportSettings.TestRun = false; exportSettings.OverwriteExistingDataFile = true; exportSettings.LogFilePath = string.Format("{0}\\{1}.Export.log", exportSettings.FileLocation, exportSettings.BaseFileName); if (traceSwitchStatic.TraceInfo) { traceStatic.TraceInfo("CollectExportSettings: Using site URL '{0}'.", exportSettings.SiteUrl); traceStatic.TraceInfo("CollectExportSettings: Exclude dependencies IDs = '{0}'.", exportSettings.ExcludeDependencies); traceStatic.TraceInfo("CollectExportSettings: Export method = '{0}'.", exportSettings.ExportMethod); traceStatic.TraceInfo("CollectExportSettings: File location = '{0}'.", exportSettings.FileLocation); traceStatic.TraceInfo("CollectExportSettings: Base filename = '{0}'.", exportSettings.BaseFileName); traceStatic.TraceInfo("CollectExportSettings: Include versions = '{0}'.", exportSettings.IncludeVersions); traceStatic.TraceInfo("CollectExportSettings: Log file path = '{0}'.", exportSettings.LogFilePath); traceStatic.TraceInfo("CollectExportSettings: Include security = '{0}'.", exportSettings.IncludeSecurity); } WizardExportSettings weSettings = new WizardExportSettings(exportSettings, exportObjectDetails); if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("CollectExportSettings: Leaving CollectExportSettings()."); } return(weSettings); }
internal static WizardExportSettings CollectExportSettings(XmlTextReader exportSettingsXml) { if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("CollectExportSettings: Entered CollectExportSettings()."); } // create SPExportSettings object.. SPExportSettings exportSettings = new SPExportSettings(); List<SPObjectData> exportObjectDetails = new List<SPObjectData>(); if (exportSettingsXml.Name != "ExportSettings") { exportSettingsXml.Read(); } if (exportSettingsXml.Name == "ExportSettings") { if (exportSettingsXml.MoveToAttribute("SiteUrl")) { exportSettings.SiteUrl = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("ExcludeDependencies")) { exportSettings.ExcludeDependencies = bool.Parse(exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("ExportMethod")) { exportSettings.ExportMethod = (SPExportMethodType)Enum.Parse(typeof(SPExportMethodType), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("IncludeVersions")) { exportSettings.IncludeVersions = (SPIncludeVersions)Enum.Parse(typeof(SPIncludeVersions), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("IncludeSecurity")) { exportSettings.IncludeSecurity = (SPIncludeSecurity)Enum.Parse(typeof(SPIncludeSecurity), exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("FileCompression")) { exportSettings.FileCompression = bool.Parse(exportSettingsXml.Value); } if (exportSettingsXml.MoveToAttribute("FileLocation")) { exportSettings.FileLocation = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("BaseFileName")) { exportSettings.BaseFileName = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("IncludeSecurity")) { exportSettings.IncludeSecurity = (SPIncludeSecurity)Enum.Parse(typeof(SPIncludeSecurity), exportSettingsXml.Value); } exportSettingsXml.MoveToElement(); } while (exportSettingsXml.Read()) { if (exportSettingsXml.Name == "DeploymentObject") { SPExportObject exportObject = new SPExportObject(); SPObjectData exportObjectData = new SPObjectData(); if (exportSettingsXml.MoveToAttribute("Id")) { Guid gID = new Guid(exportSettingsXml.Value); exportObject.Id = gID; exportObjectData.ID = gID; } if (exportSettingsXml.MoveToAttribute("Type")) { SPDeploymentObjectType type = (SPDeploymentObjectType) Enum.Parse(typeof(SPDeploymentObjectType), exportSettingsXml.Value); exportObject.Type = type; exportObjectData.ObjectType = type; } if (exportSettingsXml.MoveToAttribute("ExcludeChildren")) { bool bExcludeChildren = bool.Parse(exportSettingsXml.Value); exportObject.ExcludeChildren = bExcludeChildren; exportObjectData.ExcludeChildren = bExcludeChildren; } if (exportSettingsXml.MoveToAttribute("IncludeDescendants")) { SPIncludeDescendants includeDescs = (SPIncludeDescendants) Enum.Parse(typeof(SPIncludeDescendants), exportSettingsXml.Value); exportObject.IncludeDescendants = includeDescs; exportObjectData.IncludeDescendents = includeDescs; } if (exportSettingsXml.MoveToAttribute("Url")) { exportObject.Url = exportSettingsXml.Value; exportObjectData.Url = exportSettingsXml.Value; } if (exportSettingsXml.MoveToAttribute("Title")) { exportObjectData.Title = exportSettingsXml.Value; } exportSettings.ExportObjects.Add(exportObject); exportObjectDetails.Add(exportObjectData); } } exportSettingsXml.Close(); // set other properties which aren't tied to values in XML.. exportSettings.TestRun = false; exportSettings.OverwriteExistingDataFile = true; exportSettings.LogFilePath = string.Format("{0}\\{1}.Export.log", exportSettings.FileLocation, exportSettings.BaseFileName); if (traceSwitchStatic.TraceInfo) { traceStatic.TraceInfo("CollectExportSettings: Using site URL '{0}'.", exportSettings.SiteUrl); traceStatic.TraceInfo("CollectExportSettings: Exclude dependencies IDs = '{0}'.", exportSettings.ExcludeDependencies); traceStatic.TraceInfo("CollectExportSettings: Export method = '{0}'.", exportSettings.ExportMethod); traceStatic.TraceInfo("CollectExportSettings: File location = '{0}'.", exportSettings.FileLocation); traceStatic.TraceInfo("CollectExportSettings: Base filename = '{0}'.", exportSettings.BaseFileName); traceStatic.TraceInfo("CollectExportSettings: Include versions = '{0}'.", exportSettings.IncludeVersions); traceStatic.TraceInfo("CollectExportSettings: Log file path = '{0}'.", exportSettings.LogFilePath); traceStatic.TraceInfo("CollectExportSettings: Include security = '{0}'.", exportSettings.IncludeSecurity); } WizardExportSettings weSettings = new WizardExportSettings(exportSettings, exportObjectDetails); if (traceSwitchStatic.TraceVerbose) { traceStatic.TraceVerbose("CollectExportSettings: Leaving CollectExportSettings()."); } return weSettings; }
private void populateObjectChildNodes(TreeNode parentNode, SPObjectData objectData) { // only add nodes if reference to object's SPWeb is valid and has not been disposed. If it is // not valid, this indicates node has already been expanded and child nodes added.. if (objectData.Web != null) { parentNode.Nodes.Clear(); SPWeb currentWeb = objectData.Web; switch (objectData.ObjectType) { case SPDeploymentObjectType.Web: // get SPWeb object then pass to addNodesForWeb.. addNodesForWeb(currentWeb, parentNode); currentWeb.Dispose(); // set objectData.Web to null for next pass as well as do disposal.. objectData.Web = null; disposeWebs(parentNode, false); break; case SPDeploymentObjectType.List: SPList currentList = currentWeb.Lists[objectData.ID]; addNodesForList(currentList, parentNode); currentWeb.Dispose(); // set objectData.Web to null for next pass as well as do disposal.. objectData.Web = null; disposeWebs(parentNode, false); break; case SPDeploymentObjectType.Folder: break; default: break; } parentNode.Expand(); } }
private ListViewItem getListViewItemFromExportObject(SPObjectData exportObject) { string sExportItemTitle = ((exportObject.ObjectType == SPDeploymentObjectType.ListItem) || (exportObject.ObjectType == SPDeploymentObjectType.File) || (exportObject.ObjectType == SPDeploymentObjectType.Folder)) ? exportObject.Title : exportObject.Url; ListViewItem exportItem = new ListViewItem(new string[] { sExportItemTitle, exportObject.ObjectType.ToString(), exportObject.IncludeDescendents.ToString() }); exportItem.Tag = exportObject; return exportItem; }
private static bool objectIsSiteOrWeb(SPObjectData objectData) { return (objectData.ObjectType == SPDeploymentObjectType.Site || objectData.ObjectType == SPDeploymentObjectType.Web); }
private void disposeAssociatedWeb(SPObjectData objectData, bool bFromContextMenu) { if (objectData != null) { if (objectData.Web != null) { objectData.Web.Dispose(); objectData.Web = null; if (bFromContextMenu) { f_iDisposedWebsFromMenuCount++; } else { f_iDisposedWebsCount++; } } } }
private bool exportObjectCanHaveChildren(SPObjectData exportObject) { return !(exportObject.ObjectType == SPDeploymentObjectType.File || exportObject.ObjectType == SPDeploymentObjectType.ListItem); }
private bool canExportContentOnly(SPObjectData exportObject) { return (exportObject.ObjectType == SPDeploymentObjectType.Site || exportObject.ObjectType == SPDeploymentObjectType.Web); }
private SPObjectData getObjectData(SPListItem listItem) { SPObjectData listItemData = null; SPDeploymentObjectType objectType; string sListItemText = null; // also add file ID here for later processing for ListItems which have files.. if (listItem.File != null) { using (SPWeb listParentWeb = listItem.Web) { sListItemText = string.Format("{0}/{1}", listParentWeb.Url, listItem.Url); objectType = SPDeploymentObjectType.File; } } else { sListItemText = string.Format("{0}/{1}", getListFriendlyName(listItem.ParentList, true), listItem.Name); if (listItem.Folder != null) { objectType = SPDeploymentObjectType.Folder; } else { objectType = SPDeploymentObjectType.ListItem; } } listItemData = new SPObjectData(listItem.UniqueId, sListItemText, listItem.Url, objectType, SPIncludeDescendants.All); return listItemData; }