DotNetNuke Module – DMX von Bring2Mind Problem mit DNN 5.X – SQL Hack

Bei dem hier beschrieben Problem und deren BUGFIX handelt es sich um die DMX Version 3.5.X und dem Update eines DNN 4.9.X Portals auf DNN 5.X.

Sicherlich die einfachste Methode ist einfach ein Update des DMX Moduls zu erwerben und dieses Update zu verwenden.

Wer das aber nicht möchte und mit dem Funktionsumfang der 3.5.X Version zufrieden ist, kann mithilfe des hier einfach beschriebenen SQL Patches die Version 3.5.X unter DNN 5.3.X (und vermutlich auch höher) zum laufen bekommen.

ACHTUNG auch hier gilt:

Vor der Manipulation unbedingt eines Sicherung (in diesem Fall genügt die Sicherung der Datenbank) vornehmen.

Hier nun die Vorgehensweise, nachdem man vermutlich erst nachdem man das DNN Portal von 4.X auf 5.X aktualisiert hat, feststellt, dass das DMX Modul nicht mehr funktioniert.

Man meldet sich am Portal als Systemadministrator (host) an.

Im Systemverwalter wählt man nun den Menüpunkt SQL aus.

image

Dort kopiert man das nachfolgende SQL Script in die Eingabemaske:

IF EXISTS (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}{objectQualifier}DMX_GetExtensionsByPortal') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
DROP PROCEDURE {databaseOwner}{objectQualifier}DMX_GetExtensionsByPortal
GO 

CREATE PROCEDURE {databaseOwner}{objectQualifier}DMX_GetExtensionsByPortal
    @PortalId Int
AS 

SELECT
    {databaseOwner}{objectQualifier}DMX_Extensions.[AccessRights],
    {databaseOwner}{objectQualifier}DMX_Extensions.[Addon],
    {databaseOwner}{objectQualifier}DMX_Extensions.[ControlToLoad],
    {databaseOwner}{objectQualifier}DMX_Extensions.[Custom],
    {databaseOwner}{objectQualifier}DMX_Extensions.[DownloadUrl],
    {databaseOwner}{objectQualifier}DMX_Extensions.[EntryTypes],
    {databaseOwner}{objectQualifier}DMX_Extensions.[ExtensionKey],
    {databaseOwner}{objectQualifier}DMX_Extensions.[Icon16],
    {databaseOwner}{objectQualifier}DMX_Extensions.[Icon32],
    {databaseOwner}{objectQualifier}DMX_Extensions.[IsPrivate],
    {databaseOwner}{objectQualifier}DMX_Extensions.[MimeType],
    {databaseOwner}{objectQualifier}DMX_Extensions.[PortalId],
    {databaseOwner}{objectQualifier}DMX_Extensions.[ResourceFile],
    {databaseOwner}{objectQualifier}DMX_Extensions.[SettingsControl],
    {databaseOwner}{objectQualifier}DMX_Extensions.[ViewByDefault], 
    {databaseOwner}{objectQualifier}DMX_Addons.Description AS AddonsDescription, 
    {databaseOwner}{objectQualifier}vw_PortalsDefaultLanguage.Description AS PortalsDescription
FROM
    {databaseOwner}{objectQualifier}vw_PortalsDefaultLanguage INNER JOIN {databaseOwner}{objectQualifier}DMX_Addons 
     INNER JOIN {databaseOwner}{objectQualifier}DMX_Extensions ON {databaseOwner}{objectQualifier}DMX_Addons.AddonKey = 
     {databaseOwner}{objectQualifier}DMX_Extensions.Addon ON {databaseOwner}{objectQualifier}vw_PortalsDefaultLanguage.PortalID = 
    {databaseOwner}{objectQualifier}DMX_Extensions.PortalId
WHERE
    {databaseOwner}{objectQualifier}DMX_Extensions.PortalId = @PortalId 

GO

achtet darauf das die Checkbox “Run as script” markiert ist betätigt den Link “Execute”

Das war’s auch schon

Wer übrigens mehr über den Hintergrund zu diesem Problem wissen will, kann in meinem Beitrag DotNetNuke 5.2.0 – Breaking Changes – Part I – Der Begin der echten Portal Lokalisierung mehr erfahren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.