ROBAX wrote:
The premium module functionality worked perfectly all through 4.x and up to the mid 5's when it was broken. This is sitting in a dead ticket in Gemini, and has been in the forum as well. I'm just warning anyone who relies on the feature here.
ROBAX:
Don't hold your breath on this ever getting fixed.
I have logged this in Gemini, AND tracked down the general cause (and ultimately the specific DNN SQL update that broke it), AND provided one SIMPLE method to fix the issue, only to be told that it would STILL not be fixed.
On the DNN Upgrades including "optimization" of SQL Procedures. The update to the DeletePortalDesktopModules stored procedure is the problem (the update specifically mentioned that it was to improve performance, and it should be pretty clear as to why it breaks).
My current StoredProc is listed below. The BOLD text are the additions that fix the problem.
----
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[DeletePortalDesktopModules]
@PortalID int,
@DesktopModuleId int
AS
BEGIN
IF @PortalID is not null AND @DesktopModuleId is not null
DELETE FROM dbo.PortalDesktopModules WHERE PortalId = @PortalID AND DesktopModuleId = @DesktopModuleId
IF @PortalID is not null AND @DesktopModuleId is null
DELETE FROM dbo.PortalDesktopModules WHERE PortalId = @PortalID
IF @DesktopModuleId is not null AND @PortalID is null
DELETE FROM dbo.PortalDesktopModules WHERE DesktopModuleId = @DesktopModuleId
END
----
DNN 6 uses a different stored proc which works.
This does NOT restore the Add All/Remove All functionality, but you will be able to remove a single module on a single from the list of Premium modules WITHOUT it removing ALL Premium modules from ALL Portals.