How to manually remove Telerik from Evoq/DNN platform

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:

Important: Please take a full backup of the site and the database before making the below changes. It is recommended to first perform the below steps in a test environment and monitor the site for a few days before implementing the same change in the production site. Proceed with caution as performing these steps may also break third-party extensions that depend on Telerik. We recommend you contact the developer/vendor in these cases for further guidance.

Steps

  1. Create a full backup of the site and database.
  2. 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%'
  3. Go to Persona Bar > Settings > Servers, click the "Clear Cache" button to clear the whole server cache, then reload the page.
  4. (Optional) Navigate to Manage > Site Assets via the Persona Bar and remove the Digital Assets Management Pro module from the page.
  5. (Optional) Navigate to Manage > Global Assets via the Persona Bar and remove the Digital Assets Management Pro module from the page.
  6. Go to Settings > Extensions > Installed Extensions.
    1. 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. 
    2. 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. 
    3. 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. 
    4. Navigate to Settings > Extensions (Modules) in the Persona Bar and uninstall the Messaging extension if it existsDo not confuse with the Message Center extension. Be sure to check the Delete Files checkbox.
    5. Navigate to Settings > Extensions (Libraries) in the Persona Bar and uninstall the DotNetNuke Telerik Web Components extension. Be sure to check the Delete Files checkbox.
    6. Navigate to Settings > Extensions (Libraries) in the Persona Bar and uninstall the DNN Deprecated Web Controls Library extension. Be sure to check the Delete Files checkbox.
    7. Navigate to Settings > Extensions (Libraries) in the Persona Bar and uninstall the DotNetNuke Deprecated Website Codebehind files extension. Be sure to check the Delete Files checkbox.
    8. Navigate to Settings > Extensions (Libraries) in the Persona Bar and uninstall the DNN Security HotFix 2017.1 extension. Be sure to check the Delete Files checkbox. NOTE: Not all installations will have this extension installed.
    9. 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. 
    10. 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*
  7. Open the SiteUrls.config file within the site root and search for "Telerik". Delete all rewrite rules, <RewriteRule>...</RewriteRule>, that reference it.
  8. Navigate to Settings > SQL Console via the Persona 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
  9. Open the web.config file within the site root and search for "Telerik". Delete any lines that reference it. In the web.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 in web.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>
  10. Clear the server cache by navigating to Settings > Servers in the Persona Bar and click the Clear Cache button in the top-right corner.
  11. Restart the application.

 

* This article references several steps from another article from the DNN Community:  https://docs. dnncommunity.org/content/ getting-started/setup/telerik- removal/index.html

Comments

0 comments

Please sign in to leave a comment.