Im Jahr 2009 schlossen die DNN Corp. und Telerik einen OEM-Vertrag ab, in dem festgehalten wurde, dass die gesamte RAD-Control-Suite
von Telerik mit allen Editionen von DNN ausgeliefert wurde. Dieser Vertrag endete 2013, und der Stand der ausgelieferten Telerik-Controls
wurde mit dem damaligen Zeitpunkt "eingefroren" - DNN Corp. erhielt den Source-Code mit der Berechtigung, Bugs und sicherheitsrelevante
Probleme zu fixen, nicht aber die Suite weiterzuentwickeln oder neue Versionen einzusetzen.
Diese Sicherheits-Probleme wurden immer größer, und es bedurfte immer größerer Anstrengungen der Entwickler-Community,
sie zu beseitigen.
Andererseits waren (und sind) viele DNN-Komponenten von dieser Bibliothek abhängig, sodass ein schrittweises Entfernen derselben aus DNN
einer Operation am offenen Herzen gleicht. Durch die gemeinsame Anstrengung aller ist es mit Version 9.8.0 nun gelungen, diese aus einer
DNN-Installation entfernen zu können, soferne man nicht Erweiterungen einsetzt, welche die Bibliothek benötigen.
Hinweis: Alle diese Schritte erfordern, dass man als System-Administrator angemeldet ist.
Schritt 1: Telerik Identifier installieren
Mitchel Sellers von Iowa Computer Gurus hat ein Modul geschrieben, welches erlaubt, Abhängigkeiten von Telerik in installierten
Erweiterungen aufzufinden. Dies ist wichtig, um festzustellen, ob man die Komponenten gefahrlos aus der Installation entfernen kann.
Das Modul Dnn Telerik Identifier steht auf GitHub
zum Download zur Verfügung. Es wird wie jede andere Erweiterung installiert.
Nachdem man es installiert hat erstellt man am Besten eine Seite, auf der das Modul hinzugefügt wird. Im günstigsten Fall
erhält man folgende Meldung:
Sollten hier Assemblies (.dll-Dateien, die sich üblicherweise im Ordner /bin
der Installation befinden) angezeigt werden, so muss man
zuerst prüfen, welche Erweiterungen diese Assembkies benötigen und diese Erweiterungen wenn möglich auf eine aktuellere
Version aktualisieren, oder durch ein Alternativprodukt ersetzen.
WICHTIG: Bevor Sie nun weitermachen erstellen Sie bitte ein Backup der Datenbank und der DNN-Installation, oder arbeiten Sie mit einer
Kopie Ihrer Website in einer Testumgebung! Die folgenden Schritte könnten Auswirkungen auf Erweiterungen haben, die durch das Modul
nicht als abhängig erkannt wurden, es aber dennoch sind.
Schritt 2: Systemerweiterungs-Flag entfernen
Einige Systemerweiterungen sind von Telerik-Bibliotheken abhängig. Um diese deinstallieren zu können müssen Sie die
Systemerweiterungs-Flags in der Datenbank entfernen. Kopieren Sie folgendes Skript, und fügen Sie es unter
Einstellungen :: SQL-Konsole ein:
UPDATE {databaseOwner}{objectQualifier}Packages
SET IsSystemPackage = 0
WHERE Name IN ('DigitalAssetsManagement',
'DotNetNuke.Telerik.Web',
'DotNetNuke.Web.Deprecated',
'DotNetNuke.Website.Deprecated')
GO
DELETE FROM {databaseOwner}{objectQualifier}PackageDependencies
WHERE (PackageName = 'DotNetNuke.Web.Deprecated')
GO
Klicken Sie danach auf die Schaltfläche [Skript ausführen]. Im Ergebinsibereich wird angezeigt, dass die Abfrage keine
Daten zurückgegeben hat (was in Ordnung ist). Gehen Sie dann zu Einstellungen :: Server, und klicken Sie auf die
Schaltfläche [Anwendung neu starten]. Warten Sie, bis die Anwendung neu gestartet ist.
Schritt 3: Digital Assets entfernen
Klicken Sie unter Einstellungen :: Erweiterungen auf das Symbol zum Deinstallieren des Moduls
"Digital Asset Management":
Aktivieren Sie das Kontrollkästchen [Dateien l&oouml;schen?], und klicken Sie auf die Schaltfläche [Löschen]. Bestätigen
Sie die Sicherheitsabfrage mit [ja].
Schritt 3: Entfernen der Bibliotheken
Wählen Sie in der Dropdown-Liste zeige: die Option "Libraries", und entfernen Sie die folgenden Bibliotheken.
Aktivieren Sie auch hier jeweils das Kontrollkästchen [Dateien löschen?].
- DotNetNuke Telerik Web Components
- DNN Deprecated Web Controls Library
- DotNetNuke Deprecated Website Codebehind files
Schritt 4: Referenzen in web.config entfernen.
Öffnen Sie nun die Datei web.config
mit einem Texteditor, und löschen Sie alle Einträge, die "Telerik"
enthalten:

(Hier beispielsweise jeweils die gesamte Zeile löschen)

(Hier den gesamten Block löschen)
Speichern Sie die Datei. Überprüfen Sie, ob im Ordner /bin
Dateien vorhanden sind, in deren Namen "Telerik"
vorkommt. Löschen Sie diese gegebenenfalls (bis auf die Datei IowaComputerGurus.Dnn.TelerikIdentifier.dll
, die kann
stehen bleiben).
Schritt 5: Resource Manager installieren
Wechseln Sie nun in das Register Verfügbare Erweiterungen und installieren Sie das Modul "Resource Manager":
Ein Sprachpaket für den Resource-Manager finden Sie unter Downloads. Installieren Sie auch dieses, wenn
Sie auf der Website die Sprache Deutsch (Österreich) aktiviert haben.
Wechseln Sie nun zu Verwalten :: Website-Dateien. Sie finden anstelle des Datei-Managers, den wir in Schritt 2 deinstalliert haben,
eine leere Seite. Fügen Sie nun eine Instanz des Moduls "Resource-Manager" hinzu.
Überprüfen Sie in den Moduleinstellungen folgende Einstellungen:
Wiederholen Sie diese Schritte für die Seite Verwalten :: System-Dateien. Die Einstellungen hier sollten wie folgt aussehen:
Schritt 5: Testen
Damit wäre die Website nun Telerik-frei. Testen Sie alle Erweiterungen, die Sie einsetzen um sicherzugehen, dass alles auch ohne Telerik
funktioniert.