Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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();
            }
        }
Esempio n. 6
0
        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;
        }
Esempio n. 7
0
 private static bool objectIsSiteOrWeb(SPObjectData objectData)
 {
     return (objectData.ObjectType == SPDeploymentObjectType.Site || objectData.ObjectType == SPDeploymentObjectType.Web);
 }
Esempio n. 8
0
 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++;
             }
         }
     }
 }
Esempio n. 9
0
 private bool exportObjectCanHaveChildren(SPObjectData exportObject)
 {
     return !(exportObject.ObjectType == SPDeploymentObjectType.File ||
         exportObject.ObjectType == SPDeploymentObjectType.ListItem);
 }
Esempio n. 10
0
 private bool canExportContentOnly(SPObjectData exportObject)
 {
     return (exportObject.ObjectType == SPDeploymentObjectType.Site ||
         exportObject.ObjectType == SPDeploymentObjectType.Web);
 }
Esempio n. 11
0
        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;
        }