If you saw my last post about installing EPiSever 7.5 using the new Visual Studio Project template, I thought I’d share my experiences so far. After I installed the site, I went in search for the epi.config and after some head scratching became puzzled that I couldn’t find it. After a lot of ‘research’ I found out that in EPiServer 7.5 the EPiServer section has been moved from the configuration to the database. What this means is that some of the site settings are only changeable via the admin.
All was cool with the world so I created my first PageType, complied my site, went in to the administrator and created a new website for my project. I added my URL and set the start page, clicked saved and did a quick IISRESET. When I tried to reload the page I was confronted with this error
2014-07-07 17:10:16,265  ERROR EPiServer.Framework.Initialization.InitializationEngine: Initialize action failed for Initialize on class EPiServer.Common.InitializationModule, EPiServer.Common.Framework.Impl, Version=7.5.446.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7
System.NullReferenceException: Object reference not set to an instance of an object.
at EPiServer.Common.Configuration.ConfigurationSectionBase`1.GetInstance(String sectionName)
I wasn’t too concerned until I realized that the only way I could now update this setting was via the admin, however, the site and all of the editor and admin threw the error. In order to fix the issue, the only option I had was open up my version of SQL and navigate to the tblSystemBigTable in my EPi database and manually alter the values. For me deleting the row made the site come back to life.
I can definitely see why you would want to include settings in the administrator but the big issue for me is that the tool to control the site’s settings are within the site. If the site breaks, the tool to access it is unavailable. For creating dummy sites this is OK but what happens on production, someone tries to add a new website or change something… everything dies and you’re stuck in limbo?
It was this reason I told my client to hold using the new Visual Studio template and use the standard deployment center which still creates the config files. Least this way I can ad transforms and have everything in source control so our CI process could roll the site back if needed quickly.