Assortments
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 1.1).

Clicking an existing assortment opens a product list of all the products which have been added to the assortment.
To create a new assortment:
- Right-click the Assortments node
- Click New assortment to open the edit assortment interface (Figure 2.1)

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.
Assortment contents
An assortment is meant to contain a particular subset of the product portfolio on a solution.
To add content to an assortment:
- In the ribbon bar, click on the attached shops, attached groups or attached products button (Figure 3.1) – whichever is appropriate

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

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 3.3).

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 indexing
If you use Lucene indexing (repository), you need ensure a rebuild of the index followingly. The index will hold information about the assortment per user, but changes will not be reflected in the frontend until after rebuild of the index.
Below an example of a query setup that will show all products that are NOT in an assortment + all products that are in one or more assortments related to the currently logged-in frontend user.

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

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).
EcomAssortments
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 |
EcomAssortmentItems
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 | bigint | 8 |
EcomAssortmentShopRelations
Link shops (AssortmentShopRelationShopID) to assortments (AssortmentShopRelationAssortmentID).
Field name | Data type | Length | |
---|---|---|---|
AssortmentShopRelationAssortmentID | nvarchar | 50 | |
AssortmentShopRelationShopID | nvarchar | 255 | |
AssortmentShopRelationAutoID | int | 4 |
EcomAssortmentGroupRelations
Links Product Groups (AssortmentGroupRelationGroupID) to Assortments (AssortmentGroupRelationAssortmentID).
Field name | Data type | Length | |
---|---|---|---|
AssortmentGroupRelationAssortmentID | nvarchar | 50 | |
AssortmentGroupRelationGroupID | nvarchar | 255 | |
AssortmentGroupRelationAutoID | int | 4 |
EcomAssortmentProductRelations
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 |
EcomAssortmentPermissions
Controls user (AssortmentPermissionAccessUserID) access to assortments (AssortmentPermissionAssortmentID).
Field name | Data type | Length | |
---|---|---|---|
AssortmentPermissionAssortmentID | nvarchar | 50 | |
AssortmentPermissionAccessUserID | int | 4 | |
AssortmentPermissionAutoID | int | 4 |