Example #1
0
        // this upgrade is for anything prior to 03.01.02 which is the re-branding release
        // that removes all references to Gooddogs Repository Module.
        public static string CustomUpgradeGRM3toDRM3()
        {
            string m_message = "";

            try {
                PortalSettings          _portalSettings          = (PortalSettings)HttpContext.Current.Items["PortalSettings"];
                DesktopModuleController _desktopModuleController = new DesktopModuleController();

                if ((DesktopModuleController.GetDesktopModuleByModuleName("Gooddogs Repository", Null.NullInteger) == null))
                {
                    return("Gooddogs Repository Not installed - no upgrade required");
                }

                ModuleDefinitionController _moduleDefinitionControler = new ModuleDefinitionController();
                int OldRepositoryDefId = ModuleDefinitionController.GetModuleDefinitionByDefinitionName("Gooddogs Repository", DesktopModuleController.GetDesktopModuleByModuleName("Gooddogs Repository", Null.NullInteger).DesktopModuleID).ModuleDefID;
                int OldDashboardDefId  = ModuleDefinitionController.GetModuleDefinitionByDefinitionName("Gooddogs Dashboard", DesktopModuleController.GetDesktopModuleByModuleName("Gooddogs Dashboard", Null.NullInteger).DesktopModuleID).ModuleDefID;
                int NewRepositoryDefId = ModuleDefinitionController.GetModuleDefinitionByDefinitionName("Repository", DesktopModuleController.GetDesktopModuleByModuleName("Repository", Null.NullInteger).DesktopModuleID).ModuleDefID;
                int NewDashboardDefId  = ModuleDefinitionController.GetModuleDefinitionByDefinitionName("Repository Dashboard", DesktopModuleController.GetDesktopModuleByModuleName("Repository Dashboard", Null.NullInteger).DesktopModuleID).ModuleDefID;


                RepositoryController m_repositoryController = new RepositoryController();

                ModuleInfo       _moduleInfo       = null;
                ModuleController _moduleController = new ModuleController();

                // replace all Gooddogs Repository controls with the new Repository controls
                ArrayList _allModules = _moduleController.GetAllModules();

                foreach (ModuleInfo mi in _allModules)
                {
                    if (mi.ModuleDefID == OldRepositoryDefId)
                    {
                        m_repositoryController.ChangeRepositoryModuleDefId(mi.ModuleID, mi.ModuleDefID, NewRepositoryDefId);
                    }

                    if (mi.ModuleDefID == OldDashboardDefId)
                    {
                        m_repositoryController.ChangeRepositoryModuleDefId(mi.ModuleID, mi.ModuleDefID, NewDashboardDefId);
                    }
                }

                // we're all done .. so now we can remove the old Gooddogs Repository and Gooddogs Dashboard modules
                m_repositoryController.DeleteRepositoryModuleDefId(OldRepositoryDefId);
                m_repositoryController.DeleteRepositoryModuleDefId(OldDashboardDefId);
            } catch (Exception ex) {
                m_message += "EXCEPTION: " + ex.Message + " - " + ex.StackTrace.ToString();
            }
            m_message += "All Modules upgraded from GRM3 to DRM3";
            return(m_message);
        }
        /// <summary>Gets the module definition identifier.</summary>
        /// <param name="moduleName">Name of the module.</param>
        /// <param name="moduleDefinitionName">Name of the module definition.</param>
        /// <returns>The Module Id for the HTML Editor Management module</returns>
        private int GetModuleDefinitionID(string moduleName, string moduleDefinitionName)
        {
            // get desktop module
            DesktopModuleInfo desktopModule = DesktopModuleController.GetDesktopModuleByModuleName(moduleName, Null.NullInteger);

            if (desktopModule == null)
            {
                return(-1);
            }

            // get module definition
            ModuleDefinitionInfo moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByDefinitionName(
                moduleDefinitionName,
                desktopModule.DesktopModuleID);

            if (moduleDefinition == null)
            {
                return(-1);
            }

            return(moduleDefinition.ModuleDefID);
        }
        internal static int SaveDesktopModule(DesktopModuleInfo desktopModule, bool saveChildren, bool clearCache, bool saveTerms)
        {
            var desktopModuleID = desktopModule.DesktopModuleID;

            if (desktopModuleID == Null.NullInteger)
            {
                CreateContentItem(desktopModule);
                desktopModuleID = DataProvider.AddDesktopModule(desktopModule.PackageID,
                                                                desktopModule.ModuleName,
                                                                desktopModule.FolderName,
                                                                desktopModule.FriendlyName,
                                                                desktopModule.Description,
                                                                desktopModule.Version,
                                                                desktopModule.IsPremium,
                                                                desktopModule.IsAdmin,
                                                                desktopModule.BusinessControllerClass,
                                                                desktopModule.SupportedFeatures,
                                                                (int)desktopModule.Shareable,
                                                                desktopModule.CompatibleVersions,
                                                                desktopModule.Dependencies,
                                                                desktopModule.Permissions,
                                                                desktopModule.ContentItemId,
                                                                UserController.Instance.GetCurrentUserInfo().UserID,
                                                                desktopModule.AdminPage, desktopModule.HostPage);
                EventLogController.Instance.AddLog(desktopModule, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULE_CREATED);
            }
            else
            {
                //Update ContentItem If neccessary
                if (desktopModule.ContentItemId == Null.NullInteger)
                {
                    CreateContentItem(desktopModule);
                }

                DataProvider.UpdateDesktopModule(desktopModule.DesktopModuleID,
                                                 desktopModule.PackageID,
                                                 desktopModule.ModuleName,
                                                 desktopModule.FolderName,
                                                 desktopModule.FriendlyName,
                                                 desktopModule.Description,
                                                 desktopModule.Version,
                                                 desktopModule.IsPremium,
                                                 desktopModule.IsAdmin,
                                                 desktopModule.BusinessControllerClass,
                                                 desktopModule.SupportedFeatures,
                                                 (int)desktopModule.Shareable,
                                                 desktopModule.CompatibleVersions,
                                                 desktopModule.Dependencies,
                                                 desktopModule.Permissions,
                                                 desktopModule.ContentItemId,
                                                 UserController.Instance.GetCurrentUserInfo().UserID,
                                                 desktopModule.AdminPage,
                                                 desktopModule.HostPage);

                //Update Tags
                if (saveTerms)
                {
                    var termController = Util.GetTermController();
                    termController.RemoveTermsFromContent(desktopModule);
                    foreach (var term in desktopModule.Terms)
                    {
                        termController.AddTermToContent(term, desktopModule);
                    }
                }

                EventLogController.Instance.AddLog(desktopModule, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULE_UPDATED);
            }
            if (saveChildren)
            {
                foreach (var definition in desktopModule.ModuleDefinitions.Values)
                {
                    definition.DesktopModuleID = desktopModuleID;
                    var moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByDefinitionName(definition.DefinitionName, desktopModuleID);
                    if (moduleDefinition != null)
                    {
                        definition.ModuleDefID = moduleDefinition.ModuleDefID;
                    }
                    ModuleDefinitionController.SaveModuleDefinition(definition, true, clearCache);
                }
            }
            if (clearCache)
            {
                DataCache.ClearHostCache(true);
            }
            return(desktopModuleID);
        }