I vissa situationer kan det bli väldigt stökigt i sidträdet för redaktörerna, det kan bero på att man har olika sidträd för olika språk, kanske för att varje gren är en landsspecifik site. Detta är ett vanligt sätt att slippa skaffa sig en enterpriselicens. 

I fallet att varje språkträd är som ovan, en landssite, som har sina egna redaktörer, vill man att dessa redaktörer bara skall se sina egna sidor som de har rättigheter till eller bara se de sidorna som finns på valt språk. Det finns givetvis flera olika situationer som gör att man vill att redaktören bara kan se de sidor som är intressanta för henne/honom.

Lösningen hittade jag här, och med några små ändringar kan man skräddarsy funktionaliteten efter sina egna behov. Man kan använda samma HttpModul för att rensa upp i sidväljarfönstret också. Här kan ni se ett exempel hur en HttpModul kan se ut:

public class PageExcluder : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) {
  DataFactory.Instance.FinishedLoadingChildren += new EPiServer.ChildrenEventHandler(Instance_FinishedLoadingChildren); 
} 
void Instance_FinishedLoadingChildren(object sender, ChildrenEventArgs e) { 
  // make sure to only do this when we are rendering the edit tree if
  (HttpContext.Current != null && (HttpContext.Current.Request.Url.AbsolutePath.EndsWith("EditTree.aspx") || HttpContext.Current.Request.Url.AbsolutePath.Contains("edit/pagebrowser.aspx"))) { for (int i = 0; i < e.Children.Count; i++) { 
    // Hide pages that is not in the selected language 
    // hideEditTreePagesNotSelectedLanguage can be configured in web.config 
    if (hideEditTreePagesNotSelectedLanguage) { 
      string selectedEditLang; 
      if (HttpContext.Current.Request.Cookies["editlanguagebranch"] != null) 
        selectedEditLang = HttpContext.Current.Request.Cookies["editlanguagebranch"].Value; 
      else selectedEditLang = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName; 
      if (e.Children[i].LanguageID != selectedEditLang) { e.Children.RemoveAt(i); i--; continue; } 
    } 
  } 
  } 
} 
}