Issue with upgrade to Epi 11 aroud Page Refernces

 

We're working to upgrade Epi 10 CMS to 11. We have alot of code like below.

When we run the site, landingPageConfig.GetLandingPageReference("AccessRequestForm"); now comes back NULL without any other changes to the site code, for the most part.

Where there big changes in Content Loading that we should know about?

        public Guid AccessRequestFormGuid
        {
            get
            {
                var landingPageConfig = ServiceLocator.Current.GetInstance<Business.ContentConfiguration.ILandingPageConfiguration>();
                var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
                var accessRequestFormReference = landingPageConfig.GetLandingPageReference("AccessRequestForm");
                var requestPageData = contentLoader.Get<StandardPage>(accessRequestFormReference);
                var formBlock = contentLoader.GetItems(requestPageData.MainContentArea.Items.Select(i => i.ContentLink), new LoaderOptions { LanguageLoaderOption.FallbackWithMaster() }).OfType<FormContainerBlock>().FirstOrDefault();

                return formBlock.Content.ContentGuid;
            }
        }

#199615
Dec 03, 2018 21:48
David Knipe
Member since: 2008
 

Hi Paul

You can review any breaking changes for CMS 11 here: https://world.episerver.com/documentation/upgrading/Episerver-CMS/cms-11/breaking-changes-cms-11/

Its probably worth looking at the implementation of Business.ContentConfiguration.ILandingPageConfiguration as this is not an Episerver component so see what this is doing and see why its returning null. The IContentLoader implementation doesn't appear to be being used as part of landingPageConfig in the code you have pasted in.

David

#199617
Dec 03, 2018 23:02
 

Hey David, thanks for the answer.

We think it stems from a change in behavior of StructureMap. Once we constructed this class directly, the problem was gone!

#199700
Dec 06, 2018 16:19