I’m working on a pet project where I’m trying to show community entities as a tree structure in EPiServer. But then I tried to just show on structure bellow an other page using PageProviders.
To make a PageProvider you need both a unique number inside the page provider, and a guid that is unique across all elements. This is a perfect match with the DSS’s Identity that both have a long and a guid inside.
So what I did was that I made myself a mapping table using the DDS Id as the id and guid for my page provider.
The properties in my DDS table is this:
and my episerver.config have these elements defined. Where should we get the page structure from, and where should they be displayed
PageReferenceCollection result = newPageReferenceCollection();
var query = from item in Store.Items<SubStructurIDs>() where
item.ProviderKey == providerKey &&
item.ParentPageLink == parentPageLink
var hash = newDictionary<int, SubStructurIDs>();
foreach (var item in query)
foreach (var page in pages)
var newItem = newSubStructurIDs();
newItem.ContentPage = page.PageLink;
newItem.ParentPageLink = parentPageLink;
newItem.ProviderKey = providerKey;
if (hash.Count > 0)
//Need to delete, or in other lang
The I need to implement 2 functions, one where we have the page link and the find the guid, and one that have the guid and needs to find the page Link. These to are pretty much alike, and one looks like this