Overview
This article outlines the procedure to safely remove Telerik from Evoq/DNN platform.
Prerequisites
- Access to the SQL Server and DNN file structure.
- Access to a Super User account.
- DNN 9.8.0 (and above for the 9.x series of releases)
Note: The above requirement does not apply if you are using Evoq. You can remove Telerik dependencies from Evoq version 9.2 onwards.
Solution
Removing Telerik from Evoq/DNN Platform is an OPTIONAL setup step for DNN Platform, but HIGHLY RECOMMENDED due to known security vulnerabilities in Telerik DLLs present in older installations. In DNN 10.x, Telerik removal will be forced, and no longer optional. See 2021-01 (Critical) Optional Telerik Removal Suggested security bulletin for more information on this vulnerability.
Evoq has not been shipping Telerik DLLs for several years. However, older installations may still have them as Evoq previously shipped two modules 1) Digital Assets Management, 2) Document Viewer that used Telerik. Older versions of Evoq might have more modules that used Telerik. In addition, a site may have other 3rd party modules, skins, self-developed or purchased from the store that might be using Telerik.
An easy way to check for them is to look for any DLL file in the Bin folder starting with Telerik, e.g., Telerik.Web.UI.dll
. Further, DNN’s open source community has a tool that can identify Telerik dependencies in an Evoq site. The Dnn Telerik Identifier is a free utility that needs to be installed on an Evoq site and added to a page. It will look at all the code currently running on your DNN Platform installation and identify any code or extensions that reference Telerik for subsequent removal by following these steps:
Steps
- Create a full backup of the site and database.
- Go to Persona Bar > Settings > SQL Console and run the below queries:
UPDATE {databaseOwner}[{objectQualifier}Packages] SET IsSystemPackage = 0
WHERE Name LIKE '%digitalassets%'
OR Name LIKE '%document%'
OR (Name LIKE '%Telerik%' AND Name NOT LIKE '%TelerikIdentifier%')
OR Name LIKE '%deprecated%'
OR Name LIKE '%messaging%' - Go to Persona Bar > Settings > Servers, click the "Clear Cache" button to clear the whole server cache, then reload the page.
- (Optional) Navigate to
Manage > Site Assets
via thePersona Bar
and remove theDigital Assets Management Pro
module from the page. - (Optional) Navigate to
Manage > Global Assets
via thePersona Bar
and remove theDigital Assets Management Pro
module from the page. - Go to Settings > Extensions > Installed Extensions.
- In the drop-down, select Libraries. Then, click on the trash icon beside
Digital Asset Management Pro
. On the next page, select the option "Delete Files" and click on Delete. Then, click on the YES button. - In the drop-down, select Modules. Then, click on the trash icon beside
Digital Asset Management
. On the next page, select the option "Delete Files" and click on Delete. Then, click on the YES button. - Then, on the same tab, click on the trash icon beside
Document Viewer
. On the next page, select the option "Delete Files" and click on Delete. Then, click on the YES button. - Navigate to
Settings > Extensions (Modules)
in thePersona Bar
and uninstall theMessaging
extension if it exists. Do not confuse with theMessage Center
extension. Be sure to check theDelete Files
checkbox. - Navigate to
Settings > Extensions (Libraries)
in thePersona Bar
and uninstall theDotNetNuke Telerik Web Components
extension. Be sure to check theDelete Files
checkbox. - Navigate to
Settings > Extensions (Libraries)
in thePersona Bar
and uninstall theDNN Deprecated Web Controls Library
extension. Be sure to check theDelete Files
checkbox. - Navigate to
Settings > Extensions (Libraries)
in thePersona Bar
and uninstall theDotNetNuke Deprecated Website Codebehind files
extension. Be sure to check theDelete Files
checkbox. - Navigate to
Settings > Extensions (Libraries)
in thePersona Bar
and uninstall theDNN Security HotFix 2017.1
extension. Be sure to check theDelete Files
checkbox. NOTE: Not all installations will have this extension installed. - In the drop-down, select Providers. Then, click on the trash icon beside "RadEditor Manager" if it exists. On the next page, select the option "Delete Files" and click on Delete. Then, click on the YES button.
- Remove the old extension packages for the Telerik components just removed.
In the folder '\App_Data\ExtensionPackages', remove all packages starting with:Library_DotNetNuke.Telerik_*
Library_DotNetNuke.Web.Deprecated_*
Library_DotNetNuke.Website.Deprecated_*
DNNSecurityHotFix*
- In the drop-down, select Libraries. Then, click on the trash icon beside
- Open the
SiteUrls.config
file within the site root and search for "Telerik". Delete all rewrite rules,<RewriteRule>...</RewriteRule>
, that reference it. -
Navigate to
Settings > SQL Console
via thePersona Bar
and run the following script:DELETE FROM {databaseOwner}[{objectQualifier}PackageDependencies] WHERE (PackageName = 'DotNetNuke.Web.Deprecated') GO UPDATE {databaseOwner}[{objectQualifier}Lists] SET Text = 'DotNetNuke.Web.UI.WebControls.Internal.PropertyEditorControls.DateEditControl, DotNetNuke.Web' WHERE ListName = 'DataType' AND Value = 'Date' GO UPDATE {databaseOwner}[{objectQualifier}Lists] SET Text = 'DotNetNuke.Web.UI.WebControls.Internal.PropertyEditorControls.DateTimeEditControl, DotNetNuke.Web' WHERE ListName = 'DataType' AND Value = 'DateTime' GO
- Open the
web.config
file within the site root and search for "Telerik". Delete any lines that reference it. In theweb.config
file, change the default value of htmlProvider to CKEditor and comment out the line that references Radeditor Provider. For your reference, below is how the code inweb.config
should look like:
<htmlEditor defaultProvider="DNNConnect.CKE">
<providers>
<clear />
<!-- <add name="DotNetNuke.RadEditorProvider" type="DotNetNuke.Providers.RadEditorProvider.EditorProvider, DotNetNuke.RadEditorProvider" providerPath="~/DesktopModules/Admin/RadEditorProvider" settingsControlPath="~/DesktopModules/Admin/RadEditorProvider/ProviderConfig.ascx" /> -->
<add name="DNNConnect.CKE" type="DNNConnect.CKEditorProvider.CKHtmlEditorProvider, DNNConnect.CKEditorProvider" providerPath="~/Providers/HtmlEditorProviders/DNNConnect.CKE/" settingsControlPath="~/Providers/HtmlEditorProviders/DNNConnect.CKE/Module/EditorConfigManager.ascx" />
</providers>
</htmlEditor> - Clear the server cache by navigating to
Settings > Servers
in thePersona Bar
and click theClear Cache
button in the top-right corner. - Restart the application.
* This article references several steps from another article from the DNN Community: https://docs.
Comments
0 comments
Please sign in to leave a comment.