Try our conversational search powered by Generative AI!

Tabs defined in code is not working when API used too early in initialization

Fixed in

EPiServer.CMS.Core 10.1.0

(Or a related package)

Created

Sep 06, 2016

Updated

Nov 14, 2016

Area

CMS Core

State

Closed, Fixed and tested


Description

If ITabDefinitionRepository.List (or any other API such as IContentTypeRepository.Load/List/Save that is dependent on ITabDefinitionRepository) is called before Episerver has scanned typed models, typed information is no longer being applied.

Could for example be caused by an initialization module without correct dependency:

  [InitializableModule, ModuleDependency(typeof(ServiceContainerInitialization))]
    public class Example : IInitializableModule
    {
        public void Initialize(InitializationEngine context) => ServiceLocator.Current.GetInstance<ITabDefinitionRepository>().List();
 
        public void Uninitialize(InitializationEngine context) { }
    }

Workaround: Change module dependency to EPiServer.Web.InitializationModule. It is not recommended to call any Episerver API without a dependency on the CMS initialization module.