This section describes extensions to existing item descriptors in the catalog repository.
Extensions to the Catalog Item Descriptor
Commerce Reference Store extends the catalog item descriptor with one property called rootNavigationCategory. The rootNavigationCategory is of type category and functions as the root of the navigable category/product tree. The rootNavigationCategory is a sibling of the NonNavigableProducts category, which provides a location for organizing products, such as gift wrapping, that are non-navigable (that is, not part of the category tree). Neither the rootNavigationCategory nor the NonNavigableProducts category is visible to a website visitor.
Extensions to the Category Item Descriptor
This section describes additions and modifications to the category item descriptor.
feature and myFeature
ThefeatureandmyFeatureproperties work together to ensure that a splash image for a category is always returned.myFeaturecontains the splash image for a category, in the form of apromotionalContentitem.featureis a derived property that looks at themyFeatureproperty of the current category to find a splash image. If the current category’smyFeatureproperty is null,featurelooks at thefeatureproperty of the category’s parent, effectively repeating the process with the parent. That is, it looks at the parent’smyFeatureproperty and, if the property is null, it proceeds to thefeatureproperty for the parent’s parent. Using this methodology, a call for a category’s splash image will move up the category tree until it finds a splash image. Note that it is thefeatureproperty that is used in the Commerce Reference Store JSP code.
A category’s splash image is displayed on the category and subcategory pages, via the
/browse/gadgets/categoryPromotions.jspgadget:

Note:
promotionalContentis a CRS-specific item type. For detailed information, see Custom Item Descriptors in the Catalog Repository.
relatedProducts
relatedProductsstores a list of items of typeproductthat represent a set of products in a category. The/browse/gadgets/featuredProducts.jspgadget uses therelatedProductsproperty to populate the list of featured products on the category page:

The
/navigation/gadgets/catalog.jspgadget usesrelatedProductsto populate the list of featured products that appear in the menu bar:

titleImage
titleImagestores a title image for the category in the form of amediaitem. This property is implemented on the/browse/gadgets/newItemList.jspgadget, which populates the What’s New page with a set of new products, organized by category. Commerce Reference Store sample data, however, does not include title images for categories, so thenewItemList.jsppage defaults to using header text (Gift Ideas and Women’s Apparel in the illustrations below) instead of images when rendering the categories:

Extensions to the media-internal-text Item Descriptor
Commerce Reference Store extends the media-internal-text item descriptor with changes that allow these items to be edited in the ATG Control Center. These changes don’t affect how items of this type function in ATG Store.
Extensions to the Product Item Descriptor
This section describes additions and modifications to the product item descriptor.
asSeenIn
asSeenInstores information about the locations where a customer might see a product, such as a magazine article or television show. TheasSeenInproperty is of typeasSeenIn. The/browse/gadgets/asSeenInElement.jspgadget uses this property to populate the As Seen In page in ATG Store:

The
/browse/gadgets/productAsSeenIn.jspgadget also uses this property to populate As Seen In information that appears above the color/size picker on the product detail page for certain products:

Note:
asSeenInis a CRS-specific item type. For detailed information, see Custom Item Descriptors in the Catalog Repository.
briefDescription
briefDescriptionprovides a brief description of the product. The/promo/gadgets/promotionalItemRenderer.jspgadget uses this property when rendering product information. Several other page fragments, such as/promo/gadgets/homeFeaturedProducts.jsp, includepromotionalItemRendered.jspto display product information in various locations. The following example is from the ATG Store home page:

contents
contentsis a string property that contains information about product contents. The/browse/gadgets/moreDetailsDisplay.jspgadget uses this property to display product contents on the product detail page.

emailAFriendEnabled
emailAFriendEnabledis a Boolean property that controls whether an Email a Friend link appears in the product detail page, under the More Actions menu:

The
/browse/gadgets/productAction.jspgadget uses theemailAFriendEnabledproperty to determine if the Email To A Friend option should appear.
features
featuresis a list property of items of typefeature. It stores product characteristics (for example, material, color, and so on). Thefeatures.displayNameproperty is used as a local faceting property. See Faceted Search in the ATG Search Integration chapter for more details.
Note:
featureis a CRS-specific item type. For detailed information, see Custom Item Descriptors in the Catalog Repository.
new
newis a Boolean property that indicates whether an item is new or not. This property is manually defined for each product in the Commerce Reference Store sample data. The/browse/gadgets/newItemList.jspgadget usesnewto determine which products to render on the What’s New page:

The best practice approach to identifying new products is to calculate which products are new based on date. Because demonstration data gets stale quickly, Commerce Reference Store can’t use this methodology, so
newItemList.jspuses the manually definednewproperty instead. Commerce Reference Store also ships with the/browse/gadgets/newProductsList.jspgadget, which demonstrates the use of the/atg/store/droplet/NewProductsRQLservlet bean component. This component is an instance ofatg.projects.store.droplet.RqlDropletand it calculates which products are new based on date.
preorderable, preorderEndDate, and useInventoryForPreorder
Commerce Reference Store includes three properties for managing preorderable products:
The
/browse/gadgets/pickerItemId.jspgadget uses the/global/gadgets/SkuAvailabilityLookupcomponent to determine whether a product is preorderable.SkuAvailabilityLookup, which is an instance ofatg.projects.store.droplet.SkuAvailabilityLookup, returns an item’s availability status—available, unavailable, backorderable, or preorderable—based on a product’s properties and the inventory levels reported by the/atg/commerce/inventory/InventoryManagercomponent.SkuAvailabilityLookupwill identify a product as preorderable if the following conditions are met:
Items that are preorderable appear like this on the product detail page:

promoImage
promoImagestores the product image displayed by the/browse/gadgets/productPromoImg.jspgadget on the product comparisons page, in the form of amediaitem:

shippableCountries and nonShippableCountries
shippableCountriesstores a list of countries to which a product may be shipped, whilenonShippableCountriesstores a list of countries to which a product may not be shipped. Use theshippableCountriesproperty in those instances where it is more efficient to list a small number of countries to which a product may be shipped. By contrast, usenonShippableCountrieswhen it is more efficient to list a small number of countries to which a product may not be shipped.
The
/atg/store/droplet/ShippingRestrictionsDropletservlet component, which is used by a number of Commerce Reference Store gadgets, considers both properties when determining if a shipping address is valid for a particular item:
titleImage
titleImagestores a title image for the product in the form of amediaitem. The/browse/gadgets/productHeader.jspgadget uses this property to populate the product detail page with a title image. Commerce Reference Store sample data, however, does not include title images for products, so theproductHeader.jspgadget defaults to using header text (“Boy cut jeans for her” in the illustration below) instead of an image when rendering the product detail page:

Extensions to the SKU Item Descriptor
This section describes additions and modifications to the SKU item descriptor.
colorSwatch
colorSwatchholds an image representing one of the color swatches that appears in the color/size picker, in the form of amediaitem.
giftWrapEligible
ThegiftWrapEligibleproperty is a Boolean that indicates whether an item is eligible for gift wrapping. The/cart/gadgets/giftWrap.jspgadget invokes the/atg/store/droplet/ShowGiftWrapservlet bean component to determine if the gift wrap options should be shown on the shopping cart page. All of the hardgood items in an order (that is, any item that isn’t a gift certificate) must have agiftWrapEligiblevalue of true for the gift wrap options to be rendered:

taxStatus
ThetaxStatusproperty tags items with different product codes that indicate whether a product should be taxed. See Designating Tax Status of Products in the ATG Commerce Programming Guide for details.

