ContentManager.GetList with Fallback Language Performance Issue

  • Updated

A noticeable performance issue was observed when working with the ContentManager.GetList framework API.  The API would look similar to the example here. 

int folderid = 0;
Ektron.Cms.Framework.Content.ContentManager cMan = new Ektron.Cms.Framework.Content.ContentManager();
Ektron.Cms.Content.ContentCriteria crite = new Ektron.Cms.Content.ContentCriteria();
crite.AddFilter(ContentProperty.FolderId, CriteriaFilterOperator.EqualTo, folderid);
List cList = cMan.GetList(crite);

The response times were compared against Legacy Content APIs and the ListSummary Server Control.

This issue was introduced when fallback languages were added to the product. For information on fallback languages, review the document here.

The issue was first fixed in 9.0SP2 Cumulative Update 08 as part of Ticket Issue #72746 and merged into later versions. Upgrading to that update or a later release resolves the issue.

For earlier versions, a workaround is to specify all languages and filter results.

var cm = new ContentManager();
cm.ContentLanguage = Ektron.Cms.Common.EkConstants.ALL_CONTENT_LANGUAGES;