If you are experiencing issues with site customizations after upgrading your site or moving it to a new server. There are some things to consider taking note of before you doing so. Some of the common customizations include:
- Class files
- Templates or user controls using custom keys in the Ektron web.config
Were the dlls created with Ektron assemblies specific to a version?
You may have built your dll's using Ektron dll references from the CMS version prior to upgrading. When upgrading and bringing over custom dlls that use Ektron assemblies, they will be different than the ones that your dlls were built upon. This will create a scenario where the assemblies are mismatched; meaning there is a difference between versions. When this happens, errors indicating there is a mismatch like the one below will be thrown:
To fix this issue, you will need to rebuild the dll's using the assembly references from the version of Ektron the site has been or will be upgraded to.
Are there custom class files that need to be copied to the new server?
Class files are typically stored in the App_Code folder of the site root and are sometimes overwritten when upgrading or missing when moving the site to a new server. Below are examples suggesting this has occurred:
To fix this, take note of all custom class files in the App_Code folder. If unsure of which ones are custom vs. Ektron's, navigate to the following folder on the machine and compare the files from a Min sites App_Code folder.
C:\Program Files (x86)\Ektron\CMS400v91\CommonFiles\App_Code
Make a copy of the current sites App_Code folder and put it aside. After the upgrade, if the class files are overwritten, the backup folder can be used to recopy the files.
Are there templates or user control files pulling data from custom keys in the web.config that need to be brought over to the new server or readded?
It is very common have menus or static content on the site that pull in Ids defined on custom keys in the Ektron web.config. For example, pulling a menu Id from a key in the web.config to display a menu,
<add key ="DefaultMenuID" value="6"/>
API on User Control:
string MenuID = System.Configuration.ConfigurationManager.AppSettings["DefaultMenuID"];
var _MenuManager = new Ektron.Cms.Framework.Organization.MenuManager();
After upgrading or moving the site to a new server, pages may be missing missing menus or content. If this is the case, it is likely the custom keys are missing from the config.
If using these types of configurations, it is important to back up the web.config and take note of configuration keys because they may get overwritten or left behind when moving to a new server.