I am developing a suite of modules that need to have several settings that are Portal-level settings and not Module-level Settings.
Because of this I have a need to extend the base PortalSettings which does not appear to be possible without modifying the core. However, I discovered a new feature for creating custom portalsettings and table called dnn_PortalSettings (vertical table) for storing these settings.
In DNN 5.4.4, the class DotNetNuke.Entities.Portals.PortalSettings provides two shared methods:
Public Shared Function GetSiteSetting(ByVal PortalId As Integer, ByVal SettingName As String) As String
Public Shared Sub UpdateSiteSetting(ByVal PortalId As Integer, ByVal SettingName As String, ByVal SettingValue As String)
I have the following questions:
1) Am I correct in assuming that the purpose of these functions is to provide as mechanism to add additional custom portalsettings?
2) Will these custom portal settings be exported/imported as part of the create/clone portal from portal template wizard feature?
3) Are these custom portalsettings part of the cached portalsettings object? Meaning, if I create my own custom portalsettings class definition that inherits from the base portalsetting class (with a fill method) and my module makes a reference to one of these custom settings, will the data be retrieved from the cached portalsettings object or will it be making a separate database call for each and every custom portal settings property accessed?
I could not find any posts on how to use this feature or accomplish what I need to do, so any advise would be very helpful and greatly appreciated.