Concepts of the Catalog System
The Catalog System lets you create, manage, import, and export online catalogs by using the Catalog API. This section describes the concepts of the Catalog System. You should understand the concepts in this topic before you set up your catalogs.
Before you can use the Catalog API, you must understand Commerce Server development tasks and concepts. To learn more about these tasks and concepts, see Developing with Commerce Server.
You should also read and understand the topics in Getting Started with Commerce Server. This section describes the features of Commerce Server 2007 and the skills required to work with it.
Your catalog is based on definitions that you create. The catalog schema contains three types of definitions: property definitions, category definitions, and product definitions. When you create a catalog, you must first create these definitions.
You first create the property definitions. A property describes a characteristic of a product or category, such as Name, Title, Color, and so on. A property can be used by multiple product definitions and category definitions and can be shared across catalogs. For example, if you have a catalog of clothing, you might create property definitions for Description, Display Name, Color, Size, and Image File Name. When you create a property, the property is added to the Commerce Server database schema.
After you create the properties, you create the category and product definitions. A category definition describes the categories in your catalog. The definition is a collection of properties that specifies the information that is stored for the category. When you create a category definition, you add the property definitions to it. For example, your category definition might contain the properties Name, Description, and Image File Name.
A product definition describes the products in your catalog. The definition is a collection of properties that specifies the information that is stored for the product. When you create a product definition, you add the property definitions to it. For example, your product definition might contain the properties Display Name, Description, Color, and Size.
After you create product and category definitions, you can add new properties or edit existing ones. Typically, you create all definitions before you deploy your Web site.
For more information about how to create definitions, see Managing Catalog Definitions and Schema by Using the Catalog API.
After you create product and category definitions, you can create products and add them to your catalog. Products are the sellable items in your catalog. When you create a product, you base it on a product definition.
You may have products that differ by only one or two properties. For example, suppose you have a clothing catalog with a category for shirts. A group of shirts may have the same description (soccer shirts) and manufacturer (Adventure Works), but have different sizes and colors. These products are product variants. In this example, you would create a product definition that has Normal properties "Description" and "Manufacturer" and Variant properties "Color" and "Size". A product that has variants is called a product family.
You can create relationships between products and categories in one or more catalogs. You can relate a product or a category in one catalog to a product or category in the same catalog or in a different catalog. For example, in a "Books" catalog, you can relate a book in a "Fiction" category to another by the same author in the "Biography" category. You can then display the related products to a customer.
For more information about how to create and use these catalog items, see Managing Products and Categories by Using the Catalog API.
You can share information with business partners by importing and exporting catalog data. You might want to import a catalog if, for example, it was created on another computer system and you want to import it to your system. You might want to export a catalog if you are selling products wholesale and you want to export your catalogs to retailers. Catalog data is imported and exported as XML files. For more information about how to import catalog data see Importing Catalog Data by Using the Catalog API. For information about how to export catalog data see Exporting Catalog Data by Using the Catalog API.
You can determine which catalog a user sees on your site by creating catalog sets. A catalog set consists of one or more catalogs that you make available to different users or organizations. You can create and display different lists of catalogs for different users, based on each user's profile. For more information about how to create and use catalog sets see Managing Catalog Sets by Using the Catalog API.
Base catalogs contain categories, products, and product variants. Typically, you would have only one or two base catalogs, although you can create many. For more information about how to create and use base catalogs, see Managing Base Catalogs by Using the Catalog API.
After you create a base catalog, you can build virtual catalogs that reference the product data in your base catalogs. Virtual catalogs let you override the list price, display name, and rank properties of the base catalog. You can also override all custom properties.
Virtual catalogs let you aggregate content from one or more base catalogs. You can also build a virtual catalog by using another virtual catalog. Products in a virtual catalog are represented only one time in the database, regardless of how many virtual catalogs they appear in.
The primary uses for virtual catalogs are as follows:
To aggregate multiple catalogs so that they appear as one catalog to users.
To price products in multiple currencies.
To provide special pricing, or subsets of products, for specified groups of users.
Virtual catalogs have inclusion and exclusion rules that define how you include or exclude items from base catalogs or another virtual catalog. You can include or exclude a complete catalog, a category and all its descendants, or individual products and variants. When you define an inclusion rule on an item, all descendants of that item are included in the virtual catalog.
In a virtual catalog you can define pricing rules that apply to a category, product, or product variant. That is, you can specify whether the price for the category or product is the same or different as the price in the base catalog. You use the pricing rules to set a specific price, add an additional amount to the current price, add a percentage to the current price, or subtract a discount.
For more information about the concepts of virtual catalogs and how to create and use them, see Managing Virtual Catalogs by Using the Catalog API.