Welcome to the navigation

Ex aliquip duis consequat, nulla deserunt laborum, mollit incididunt proident, id tempor laboris fugiat ipsum in anim adipisicing eiusmod ea lorem veniam, ut velit cupidatat. Nostrud nisi culpa in dolor ipsum elit, exercitation occaecat qui excepteur non consectetur laborum, aute tempor ea proident, esse fugiat voluptate sit dolore lorem dolor

Yeah, this will be replaced... But please enjoy the search!

GetChildren not returning children but GetDescendents do

I got a strange behaviour from Epi when I was building an image picker for ImageData objects. The GetChildren didn't return any children but GetDescendents did. It all worked in the development and test environments but not in production.

The thing is there may be several causes to this and in this case it was fairly simple.

The code

var folderToLoad = SiteDefinition.Current.GlobalAssetsRoot;

// worked
var loader = ServiceLocator.Current.GetInstance<IContentLoader>();
var linkImages =
    loader.GetDescendents(folderToLoad)
        .Select(x => loader.Get<ImageFile>(x))
        .Where(x => x.ParentLink.ID.Equals(folderToLoad.ID));

// didn't work
var linkImages = loader.GetChildren<ImageFile>(folderToLoad);

The difference between the environments was that in the production environment ImageFiles wasn’t automatically published. Publishing the files made the GetChildren to work again.

But then in the production environment it was only the listings in the edit gui that worked, was ever released to the anonymous context.