Mari Jørgensen
Sep 27, 2010
visibility 5272
star star star star star
(3 votes)

Did you know of the GetSettingsFromPage() method?

Info-ShieldFinding the start page in an EPiServer solution is usually easy as pie – it is accessible using a static property on the PageReference class.

But if you have several sites sharing database in an Enterprise solution, and you are trying to get hold of the start page from inside a scheduled task, you will soon notice that it’s a bit more tricky.

When the scheduled task is executed you will have no control over which of the sites the PageReference.StartPage will point to.
(In my tests, PageReference.StartPage seem to run in the context of the first site configured in the site section in episerver.config).

This is where the GetSettingsFromPage method becomes handy – if you have a reference to a page on your site, you can find the site settings for that page. When you have the settings, it’s pretty straight forward to find the start page:

   1: Settings settingsFromPage = 
   2:       DataFactory.Instance.GetSettingsFromPage(page.PageLink);
   3: PageReference myStartPage = 
   4:       new PageReference(settingsFromPage.PageStartId);

The ironic part is that I found the solution while searching and finding an old blog post written by myself… (!).

Sep 27, 2010

Comments

Vladimir Terziyski
Vladimir Terziyski Sep 27, 2010 01:46 PM

Thank you for sharing this. Previously I've used my own function which recursively searches for the start page and then uses the Id of the found page to get the right settings.

Jeff Wallace
Jeff Wallace Sep 27, 2010 07:40 PM

Nice. :)

Sep 28, 2010 08:28 AM

Interesting! Thanks for sharing this.

Muhammad Kashif
Muhammad Kashif Sep 29, 2010 12:58 AM

Very nice .I am developing an enterprise sites and was thinking i will have to write some custom code to achieve this .

error Please login to comment.
Latest blogs
Finding Thomas Part 3 - The Moment of Recognition

Remember Thomas? In digital landscape, Thomas is the returning visitor who reads everything, opens every email, converts on nothing. In standard...

Ritu Madan | Jun 26, 2026

Add more scheduled job settings from the Optimizely CMS 12 admin UI -- with OptiScheduledJob.ExtraParameters

  Optimizely (EPiServer) CMS 12 ships a great scheduled-jobs framework, but it has one frustrating gap: a job has nowhere to store its own...

Binh Nguyen Thi | Jun 25, 2026

Automated Search & Navigation to Graph Migration with Claude Code

A Claude Code plugin that scans your S&N codebase, applies Graph SDK transformations, and validates the result. Install once, run one command. CMS ...

Connor Fortin | Jun 24, 2026

Migrating from Find to Graph: Lessons Learned from a Real CMS 13 Project

While migrating a search solution from Optimizely Search & Navigation (Find) to Optimizely Graph in CMS 13, I encountered several issues that were...

Binh Nguyen Thi | Jun 24, 2026