4

I am looking for an Tridion API call to get the XML containing all the structure groups and the pages beneath it with some sort of hierarchical relation. As of now I could not find such API call in the SDL Tridion documentation. Currently we are using below API call to get the list of structure groups RAW XML:

 Filter filter = new Filter();
 filter.Conditions["ItemType"] = 4;       // Only structure groups
 filter.Conditions["Recursive"] = true;
 XmlElement structureGroupList = page.ContextRepository.GetListOrganizationalItems(filter);

Then we are iterating through each structure group to get the XML containing the Pages node beneath the repective structuregroup.

OrganizationalItemItemsFilter pageItemFilter = null;
pageItemFilter = new OrganizationalItemItemsFilter(this.session);
pageItemFilter.ItemTypes = new[] { ItemType.Page };
pageItemFilter.Recursive = false;
XmlElement pageElements = structureGroup.GetListItems(pageItemFilter);

As the number of structure groups grows, the number of Tridion API calls are growing to fetch respective pages in it. This is causing performance issues at DB server end where the CPU is spiking to 50%.

Is there a single API call that can get the structure group and Pages with some sort of relation so that we can easily arrange them hierarchically with a single API call.

Thanks in Advance.

4

1 に答える 1

3

IncludeRelativeWebDavUrlColumnフィルタのプロパティをtrueに設定して、追加情報を取得できます

于 2013-03-09T21:36:22.437 に答える