This article describes the performance impact on APIs when returning recursive properties such as content from child Folders and Taxonomy sub nodes.
Some Ektron APIs such as Content Manager and Taxonomy Manager offer recursive properties in order return data in child items such as sub folders and sub nodes. In some cases these items can be located three or more levels deep. So from a performance perspective, the relevant properties are set to false to reduce the database retrieval time. Take the ContentManager for instance:
In order to return content from child folders, the user must set the FolderRecursive property to true as these items are not returned by default. The property is found in the criteria itself. For example:
Ektron.Cms.Content.ContentCriteria _contentCriteria = new Ektron.Cms.Content.ContentCriteria();
_contentCriteria.FolderRecursive = true;
Ektron.Cms.Content.ContentTaxonomyCriteria _contentTaxonomyCriteria = new Ektron.Cms.Content.ContentTaxonomyCriteria();
_contentTaxonomyCriteria.FolderRecursive = true;
Ektron.Cms.Content.ContentMetadataCriteria _contentMetadataCriteria = new Ektron.Cms.Content.ContentMetadataCriteria();
_contentMetadataCriteria.FolderRecursive = true;
This impacts performance if the expectation is to return large lists of content from parent and child folders. In extreme cases, Ektron recommends breaking the list retrieval to smaller lists and using a caching implementation to further reduce the load on the database. For more information on caching, click here.