The base SKU definition does not include any configuration properties such as size, color, etc. Depending on the requirements of your site, you may be able to differentiate the SKUs for a product through the description properties of the SKUs. For example, if the SKUs are differentiated only by color, the description of each SKU could mention the color. However, this approach can become awkward if there are several different configuration variables.

You may want to add properties to the SKU item type, or create sub-types of the SKU item type that include additional properties. If you create a sub-type, you must add it to the SKUItemTypes property of the /atg/commerce/catalog/CatalogTools component in order for it to be available to the PMDL rules used in promotions.. See Extending the Category and Product Item Types for information about extending catalog item types.

An alternate approach, which does not require modifying the SKU item definition, is to store configuration information in the dynamicAttributes property. The property is a Map that stores a key/value pair for each attribute you define. For example, you could specify the dynamicAttributes property of a SKU as {color=red,size=small}. This mechanism is very flexible, because it allows each SKU to have its own set of configuration attributes.

One disadvantage of this approach is that data is stored less efficiently than if you explicitly add configuration properties to the definition of the SKU item. If you add properties, each property corresponds to a column in a table, so each SKU can be represented by a single row in the table. If you use dynamicAttributes, each SKU is represented by one row per attribute. So if dynamicAttributes specifies three attributes (e.g., size, color, and length), the SKU will be represented by three rows in a table. The additional rows can have a negative effect on performance. Therefore, if you need to define a large number of attributes, explicitly adding properties to the SKU item definition is a better approach.

loading table of contents...