Performance issues when expanding a large Commerce catalog tree in the Content Editor

  • Description

    When you use the Content Editor to expand a Commerce catalog tree (/sitecore/Commerce/Catalog Management/Catalogs), you can experience slowness and high memory consumption issues if your catalog has a large number of items (categories, subcategories, and products).

  • By default, when you click the triangle icon (or the + icon in earlier versions) to expand the content tree, the Content Editor travels several levels down to the tree hierarchy and loads all of the child items into memory. If your catalog has many descendant items, the performance impact can be significant.

    Solution: 

    There is a setting inside the \App_Config\Sitecore.config file called ContentEditor.CheckHasChildrenOnTreeNodes that is set to true by default. To increase performance, change the value to false. Once it is set to false, all child items are rendered with a triangle icon regardless of whether they have child items or not.

  • There are some default Sitecore Commerce controls (Child Products List Control, Child Categories List Control, and Parent Categories List Control) that can cause excessive catalog items to be loaded into memory when they are being used to render catalog tree content in the Content Editor.

    Solution:

    Hotfixes are available to address this issue by replacing the default controls with new ones (Child Products List Control Ex, Child Categories List Control Ex, and Parent Categories List Control Ex).

    Once you have applied the hotfix, the corresponding templates (/sitecore/templates/Commerce/Catalog/Commerce Category and /sitecore/templates/Commerce/Catalog/Commerce Catalog Item) are changed to use the new controls. The new controls do not render the tree structure when a catalog item is selected, therefore avoiding any impact on performance.

    If you want to edit the values using these controls, you can click the Edit link or double-click the content area to bring up a popup window where you can select the items from the tree structure. The field value validation (for example, the throwing error when you are trying to save a product item for the ParentCategories node) is applied when the item is saved or the Validation button on the Review tab is clicked.

    Currently, hotfixes are available for the following versions:

Applies to:

Sitecore Commerce 7+

May 05, 2017
May 05, 2017

Reference number:

25997

Keywords: 

  • Commerce Server
  • ,
  • Performance