Error: 'Cannot read property 'themeName' of null' When Browsing Themes in the Persona Bar

Overview

 

When browsing to Manage > Themes, you may encounter the following error in your browser developer tools console:

export-bundle.js?cdv=196:90 TypeError: Cannot read property 'themeName' of null 
at t.value (<anonymous>:1:66796) 
at ka (export-bundle.js?cdv=196:90)

This article provides information on how to resolve the issue with Themes failing to display for some portals in the Manage section of the Persona Bar.

 


Root Cause

 

The error described above occurs when a skin file that no longer exists is still referenced in the PortalSettings table.

 


Solution

 

To verify that the PortalSettings table is referencing a non-existent skin file, do the following:

  1. Identify the PortalID of the site with the issue.

  2. Find the SettingValue by running the following query in the Settings > SQL Console menu in the Persona Bar. Alternatively, you may also use SSMS:
     

    SELECT portalid, 
           settingname, 
           settingvalue, 
           culturecode 
    FROM   portalsettings 
    WHERE  settingname IN ( 'DefaultAdminContainer', 'DefaultAdminSkin', 
                                   'DefaultPortalContainer', 
                                                  'DefaultPortalSkin' ) 
           AND portalid = <X> -- replace X with the Portal ID 

 

This will return the path to the default Skins/Containers for the Portal. In case the path no longer exists, the value needs to be updated accordingly to use a valid Skin path to resolve this issue.

As an example, if we need to update the value for the DefaultAdminSkin to Cavalier Main (which still exists on the /Portals/_default/Skins folder), we can use the following script:

 

UPDATE portalsettings 
SET    settingvalue = '[G]Skins/Cavalier/Main.ascx' 
WHERE  settingname = 'DefaultAdminSkin' 
       AND portalid = <X> -- replace X with the Portal ID 

 

For reference, the prefix before the ascx file names are as follows:

  • [S] - refers to DefaultPortalSkin
  • [E] - refers to DefaultAdminSkin
  • [G] - Global skin or host skin

 

Back to top

Comments

0 comments

Please sign in to leave a comment.