Product Catalog

The Product Catalog in Dynamicweb Ecommerce consists of two things:

  • A backend administration area, in which you create, organize and maintain all your shops, product groups and products
  • A frontend module, which you use to publish and display your eCommerce content on the frontend.

This section is about the backend area, which is accessed by opening the Ecommerce area, and folding out the Product Catalog nodes in the Ecommerce tree (Figure 1.1).

In this article will learn more about the All products list and Assortments - Shops, Product Groups and Products and Variants are described in separate articles.

Figure 1.1 The Product Catalog is accessible from the Ecommerce area

Product lists function as the layer between product groups and products - it is from the product lists that most of your daily work with products takes place. 

It is from that you create and delete products, search products, and in general get an overview of your Ecommerce solution.

Clicking a product group will take you to the product list view (Figure 3.1).

Figure 2.1 A product list

The product list view allows you to:

  • View a list of the products which are part of the product group
  • Search for products, by entering a search term in the search box
  • Delete, delocalize or localize selected products – read about languages and localization
  • Create single or multiple new products – read about creating products
  • Edit and sort products
  • Edit the current product group
  • Switch between languages

Just like pages and paragraphs, a product may have an adornment if it's been personalized or has a publication period applied to it.

From the product list view, you have access to a number of actions by selecting one or more products and right-clicking them to open a context menu (Figure 2.2).


Figure 2.2 A product list context menu

From the context menu you can:

  • Copy, move and edit products (also in bul
  • Add products to a group, or detach them from the current one
  • Delete products
  • Activate or deactivate products

Deleting a product removes all language versions of the product, regardless of the working language. If you want to only delete one language version, use the delocalize button on the language version you want to remove. You cannot delocalize a product from the default language – but you can deactivate it for the language in the product details. 

You can customize which columns you want to see in a product list.

To do so:

  • Right-click an existing column in the product list (Figure 3.1)
  • Click the column you want to activate or deactivate
  • Click More… to access the detailed view, and control the order in which columns are displayed 
Figure 3.1 Right-click an existing column to customize your product list columns

Note: the columns shown in the product list are also the columns available when creating products in bulk.

Clicking the sort button takes you to the sort view (Figure 4.1).

Figure 4.1 The sort view

From here, you can:

  • Drag and drop individual products to its new location in the sort order
  • Select multiple products and move them to the top or to the button by clicking the appropriate button on the toolbar.

To use the sort order in frontend, add the parameter 'SortBy=UserDefined' to the product catalog URL.

From your eCommerce tree, you have access to the All products list (Figure 5.1), which will display all available products on your eCommerce solution regardless of shops or groups.

You can use this list to perform searches amongst all products or to add imported, ungrouped products to a group on your solution.

Figure 5.1 The All Products list lets you filter through all your products

Click the node to open the All Products list (Figure 5.2).

Figure 5.2 The All Products list

With the all products list, you can:

  • In the breadcrumb, see the total number of products and the total number of active products in the breadcrumb
  • In the toolbar above the list you can see (and change) the current working language.
  • Search all the products on your solution using the search field above the list
  • Change the number of products shown on the list with the products paging dropdown

Of course, you can also browse through your products and see different kinds of information about them, such as number, name, price, active-status, etc.

The following indicators are used in the list:

  • Greyed out products do not exist in the current working language
  • Red products are inactive – activate them by right-clicking them and selecting activate or by clicking the little red inactive-icon on the list.
  • Products with a red background do not belong to a group – right click the product and select add to group to add them to a group.

Assortments are flexible ways of showing certain shops, product groups or products to selected users or user groups only, e.g. in white label scenarios.

Assortments are managed and created from the Assortments node in the Ecommerce tree (Figure 6.1).

Figure 6.1 Assortments are located in the eCommerce > Product Catalog tree

Clicking an existing assortment opens a product list of all the products which have been added to the assortment.

Note: Using assortments increases the SQL load on your solution, so be sensible.

To create a new assortment:

  • Right-click the Assortments node
  • Click New assortment to open the edit assortment interface (Figure 7.1)
Figure 7.1 Creating a new assortment

Here you must:

  • Provide a name for the assortment (you can create localized names with the flag-button in the ribbon bar)
  • Check the active checkbox (or leave it unchecked, if you want to disable the assortment)
  • Decide if you want to include (product) subgroups in the assortment selection.

In the Frontend group(s) and user(s) section, you can add the users and user groups which should be given access to the products in this assortment.

If you create a particular assortment targeted at anonymous users, remember to check the Anonymous users checkbox.

An assortment without Ecommerce content in is pretty useless.

To add content to you assortment:

  • In the ribbon bar, click on the attached shops, attached groups or attached products button (Figure 8.1) – whichever is appropriate
Figure 8.1 Add Ecommerce content to an assortment using these buttons

This opens an overview of he  currently attached shops/product groups/products (Figure 8.2).

Figure 8.2 Content added to an assortment

From the assortment content view you can:

  • Delete a shop/group/product from the assortment by clicking the red delete-icon (X)
  • Add a new shop/group/product to the assortment by clicking the green plus-sign

Once content has been added to an assortment, it must be (re)built.

To do so, right click the assortment in the eCommerce tree and click rebuild assortment (Figure 8.3).

Figure 8.3 Rebuilding (populating) an assortment

The rebuild-task is set to run automatically every five minutes, so if you’re not in a hurry just have a cup of coffee or tea. Maybe a biscuit.

Go on.

You deserve it.

Assortments and New Indexing

The Lucene Index performs a partial update after the assortment index has been rebuild.

If you use new indexing, you need to rebuild the index manually after the assortment index has been rebuild

In order to use assortments in the frontend, you must enable them in Settings > Ecommerce > Advanced configuration > Assortments (Figure 10.1).

Figure 10.1 Activate assortment by checking this box

When assortments are enabled, the selected Ecommerce content is only available to the logged-in users specified on the assortment, and the standard Ecommerce navigation provider is replaced with an assortment navigation provider – which only renders groups containing valid products or subgroups with valid products.

When logged in, a user can see the products in an assortment they have access to alongside regular products in the Product Catalog (if any exist, of course).

If you integrate with an ERP system such as NAV or AX, it may be useful to limit the actions available from the Dynamicweb backend and give the ERP system full control over your product catalog.

To do so, you can use the settings in advanced configuration (read more here).


These are the database tables relevant for Product Groups and related features in the Dynamicweb database:

These are the database tables associated with assortments:


Defines assortments.

Field name Data type Length
AssortmentID nvarchar 50
AssortmentLanguageID nvarchar 50
AssortmentName nvarchar 255
AssortmentNumber nvarchar 255
AssortmentPeriodID nvarchar 50
AssortmentLastBuildDate datetime 8
AssortmentRebuildRequired bit 1
AssortmentAutoID int 4
AssortmentActive bit 1
AssortmentIncludeSubgroups bit 1
AssortmentAllowAnonymousUsers bit 1


Contains an index of products which are members of an assortment – the index needs to be built when products or assortment is changed.

Field name Data type Length
AssortmentItemAssortmentID nvarchar 50
AssortmentItemRelationAutoID int 4
AssortmentItemRelationType nvarchar 50
AssortmentItemLanguageID nvarchar 50
AssortmentItemProductID nvarchar 30
AssortmentItemProductVariantID nvarchar 255
AssortmentItemAutoID int 4


Link shops (AssortmentShopRelationShopID) to assortments (AssortmentShopRelationAssortmentID).

Field name Data type Length
AssortmentShopRelationAssortmentID nvarchar 50
AssortmentShopRelationShopID nvarchar 255
AssortmentShopRelationAutoID int 4


Links Product Groups (AssortmentGroupRelationGroupID) to Assortments (AssortmentGroupRelationAssortmentID).

Field name Data type Length
AssortmentGroupRelationAssortmentID nvarchar 50
AssortmentGroupRelationGroupID nvarchar 255
AssortmentGroupRelationAutoID int 4


Links products (AssortmentProductRelationProductID) to Assortments (AssortmentProductRelationAssortmentID).

Field name Data type Length
AssortmentProductRelationAssortmentID nvarchar 50
AssortmentProductRelationProductID nvarchar 30
AssortmentProductRelationProductVariantID nvarchar 255
AssortmentProductRelationAutoID int 4
AssortmentProductRelationProductNumber nvarchar 255


Controls user (AssortmentPermissionAccessUserID) access to assortments (AssortmentPermissionAssortmentID).

Field name Data type Length
AssortmentPermissionAssortmentID nvarchar 50
AssortmentPermissionAccessUserID int 4
AssortmentPermissionAutoID int 4

These are the database tables associated with calculated fields:


Defines calculated fields for use in smart searches and statistics.

Field name Data type Length
CalculatedFieldId int 4
CalculatedFieldName nvarchar 255
CalculatedFieldType nvarchar 255
CalculatedFieldTypeConfiguration nvarchar Max
CalculatedFieldUpdateInterval int 4
CalculatedFieldUpdateStartTime datetime 8
CalculatedFieldLastUpdateTime datetime 8


Stores current values of calculated fields (CalculatedProductFieldValueFieldID) for individual products (CalculatedProductFieldValueProductID) / variants (CalculatedProductFieldValueProductVariantID) by language (CalculatedProductFieldValueProductLanguageID).

Field name Data type Length
CalculatedProductFieldValueFieldId int 4
CalculatedProductFieldValueProductId nvarchar 30
CalculatedProductFieldValueProductVariantId nvarchar 255
CalculatedProductFieldValueProductLanguageId nvarchar 50
CalculatedProductFieldValueValue float 8
CalculatedProductFieldValueAutoId int 4