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.
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.