Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...4.5.3 - Something has gone wrong with "Add Existing Module"4.5.3 - Something has gone wrong with "Add Existing Module"
Previous
 
Next
New Post
6/26/2007 12:34 PM
 

That must be it becasue setting your cache to 0 or restarting the application takes care of the problem.


Icthus Technologies

Building Faith on the Internet
 
New Post
6/26/2007 2:53 PM
 

The problem was not related to module caching ( although setting the cache time to zero would "appear" to work as it would recycle the cached data for the page ). The real problem was due to incorrect use of the core data cache as the logic was modifying the values of a cached object which it assumed was temporary but was actually tied to the cache reference. The good news is that it was a run-time behavior issue and not a persistence problem ( which would need to be handled by upgrade logic ). Interestingly, this bug appears to have been introduced in 4.4.0 - so I am a bit surprised it has not been logged earlier.

ControlPanelBase.vb

Old Method:

        Protected Sub AddExistingModule(ByVal moduleId As Integer, ByVal tabId As Integer, ByVal paneName As String, ByVal position As Integer, ByVal align As String)

            Dim objModules As New ModuleController
            Dim objModule As ModuleInfo
            Dim objEventLog As New Services.Log.EventLog.EventLogController

            Dim UserId As Integer = -1
            If Request.IsAuthenticated Then
                Dim objUserInfo As UserInfo = UserController.GetCurrentUserInfo
                UserId = objUserInfo.UserID
            End If

            objModule = objModules.GetModule(moduleId, tabId, False)
            If Not objModule Is Nothing Then
                objModule.TabID = PortalSettings.ActiveTab.TabID
                objModule.ModuleOrder = position
                objModule.PaneName = paneName
                objModule.Alignment = align
                objModules.AddModule(objModule)
                objEventLog.AddLog(objModule, PortalSettings, UserId, "", Services.Log.EventLog.EventLogController.EventLogType.MODULE_CREATED)
            End If

        End Sub

New Method:

        Protected Sub AddExistingModule(ByVal moduleId As Integer, ByVal tabId As Integer, ByVal paneName As String, ByVal position As Integer, ByVal align As String)

            Dim objModules As New ModuleController
            Dim objModule As ModuleInfo
            Dim objEventLog As New Services.Log.EventLog.EventLogController

            Dim UserId As Integer = -1
            If Request.IsAuthenticated Then
                Dim objUserInfo As UserInfo = UserController.GetCurrentUserInfo
                UserId = objUserInfo.UserID
            End If

            objModule = objModules.GetModule(moduleId, tabId, False)
            If Not objModule Is Nothing Then
                ' clone the module object ( to avoid creating an object reference to the data cache )
                Dim objClone As ModuleInfo = objModule.Clone()
                objClone.TabID = PortalSettings.ActiveTab.TabID
                objClone.ModuleOrder = position
                objClone.PaneName = paneName
                objClone.Alignment = align
                objModules.AddModule(objClone)
                objEventLog.AddLog(objClone, PortalSettings, UserId, "", Services.Log.EventLog.EventLogController.EventLogType.MODULE_CREATED)
            End If

        End Sub

Since this change is in a core base class, it requires a recompilation of the core library.


My comments are my own and are offered WITHOUT PREJUDICE

Shaun Walker
http://www.siliqon.com
 
New Post
6/26/2007 2:57 PM
 

BTW: This is checked in for 4.5.4.


My comments are my own and are offered WITHOUT PREJUDICE

Shaun Walker
http://www.siliqon.com
 
New Post
6/26/2007 4:20 PM
 

THANK YOU! THANK YOU! THANK YOU!


Icthus Technologies

Building Faith on the Internet
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...4.5.3 - Something has gone wrong with "Add Existing Module"4.5.3 - Something has gone wrong with "Add Existing Module"


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out