Virtual Catalogs in the catalog system

Introduced in CS2002, virtual catalogs replace the custom catalogs feature in CS2000. While custom catalogs allowed you to create another instance of the base catalog with different pricing rules virtual catalogs allow you to aggregate content from one or more base catalogs, define inclusion and exclusion rules, define pricing rules on the included items and also change the categorization of the included items by creating new categories.

 

The following are the key concepts in a virtual catalog

Categories are primarily used to categorize products and categories included in the virtual catalog. This allows you to provide a different view of the items in the virtual catalog.

 

Inclusion/Exclusion rules: Virtual catalogs allow you to aggregate content from one or more base catalogs using inclusion and exclusion rules. These rules allow you to include/exclude an entire base catalog, a category and its descendants, and individual products and variants. For ex if you have two books catalogs from two different vendors then you can create a virtual catalog named books which aggregates the two books catalogs. When an inclusion rule is defined on a base catalog item then all the descendants of that item will be included in the virtual catalog. For eg if you include the Autobiographies category from a books (base) catalog then all the descendants of that category will be included in the virtual catalog. You can use an exclusion rule to exclude items from the virtual catalog which were inherited by a prior inclusion rule. For eg if you want all the categories except the Autobiographies category from the books catalog to be included in your virtual catalog then you can add an include rule on the books catalog and an exclude rule on the Autobiographies category. When you define an exclusion rule on an item then all the descendants of that item will be excluded from that virtual catalog even if they were included by virtue of an inclusion rules.For eg if consider a book "My story" that belongs to Autobiographies and Stories categories  in books catalog. If you create a virtual catalog and define an inclusion rule on the Stories category and an exclusion rule on the  Autobiographies category then the book "My story" will be excluded from the virtual catalog. In short exclusion rules take precedence over inclusion rules.

 

Pricing rules, provide the ability to define pricing rules in a virtual catalog. For eg if you have a books catalog and you want to offer the books in this catalog to preferred customers for a 10% discount then you can create a virtual catalog and define a price rule on the virtual catalog.

 

Parent child associations You can add new categories in a virtual catalog. When you add items from a base catalog in a virtual catalog the virtual catalog will inherit the parent child relationships from the base catalog. While you cannot delete these relationships in the virtual catalog you can define new parent child relationships in the virtual catalog.

 

Relationships When you add items from a base catalog in a virtual catalog the virtual catalog will inherit the relationships from the base catalog. While you cannot delete these relationships in the virtual catalog you can define new relationships in the virtual catalog.

 

Rebuild, Since a virtual catalog contains items from one or more base catalogs it is possible that changes made to the base catalog can affect the contents of the virtual catalog. For eg consider the Autobiographies category in the books catalog included in a virtual catalog. If a user now adds products to the Autobiographies category in the original books catalog these additions will not be immediately reflected in the virtual catalog. In order for such changes to be reflected in the virtual catalog you have to rebuild the virtual catalog.

 

Materializing:  Since a virtual catalog aggregates content from one or more base catalogs by default the virtual catalog is internally represented as a sql server view which combines the content from the base catalogs. If you have defined a number of base catalogs in a virtual catalog then it is possible for the view definition to be complex enough to affect performance of the virtual catalog. In order to improve virtual catalog performance, we provide for materializing of the virtual catalog which stores the snapshot of the contents of the virtual catalog in a table. Since all the  queries are made on a single table the virtual catalog performance is improved. See this article for more information on materializing virtual catalogs.

 

Import/Export: CS2002 or the Feature Pack currently does not support the ability to export and import virtual catalogs in terms of the rules defined on the virtual catalog. When you export a virtual catalog the virtual catalog is exported as base catalog containing the aggregated content of the virtual catalog.