The main class used to specify how to transform repository items into records is atg.endeca.index.EndecaIndexingOutputConfig. The ATG-Endeca integration includes two components of this class:

Each EndecaIndexingOutputConfig component has a number of properties, as well as an XML definition file, for configuring how repository data should be transformed to create Endeca records. The configuration of these components is discussed in detail in EndecaIndexingOutputConfig Components.

ProductCatalogOutputConfig Component

The ProductCatalogOutputConfig component specifies how to create Endeca data records that represent items in the ATG product catalog. Each record represents either one product or one SKU (depending on whether you use product-based or SKU-based indexing), and contains the values of the ATG properties to be included in the index.

In addition, each record includes properties of parent and child items. For example, a record that represents a product includes information about its parent category’s properties, as well as information about the properties of its child SKUs. This makes it possible to search category and SKU properties as well as product properties when searching for products in the catalog.

The names of the output properties include information about the item types they are associated with. For example, a record generated from a product might have a product.description property that holds the value of the description property of the product item, and a sku.color property that holds the value of the color properties of the product’s child SKUs.

Multi-value properties are given names without array subscripts. For example, a product repository item might have multiple child sku items, each with a different value for the color property. In the output record there will be multiple entries for sku.color.

The following is an XML representation of a record for a product with a single child SKU. Note that this record contains only a small subset of the properties that are typically output. Also, the actual records submitted to the CAS data record store are in a binary object format, not XML.

<RECORD>
  <PROP NAME="product.repositoryId">
    <PVAL>xprod1003</PVAL>
  </PROP>
  <PROP NAME="product.description">
    <PVAL>Genuine English leather wallet</PVAL>
  </PROP>
  <PROP NAME="product.displayName">
    <PVAL>Organized Wallet</PVAL>
  </PROP>
  <PROP NAME="record.spec">
    <PVAL>product-xprod1003..masterCatalog.en__US</PVAL>
  </PROP>
  <PROP NAME="product.type">
    <PVAL>product</PVAL>
  </PROP>
  <PROP NAME="product.baseUrl">
    <PVAL>atgrep:/ProductCatalog/product/xprod1003</PVAL>
  </PROP>
  <PROP NAME="product.siteId">
    <PVAL>storeSiteUS</PVAL>
  </PROP>
  <PROP NAME="product.language">
    <PVAL>English</PVAL>
  </PROP>
  <PROP NAME="product.repositoryName">
    <PVAL>ProductCatalog</PVAL>
  </PROP>
  </PROP>
  <PROP NAME="sku.repositoryId">
    <PVAL>xsku1013</PVAL>
  </PROP>
  <PROP NAME="sku.displayName">
    <PVAL>Organized Wallet</PVAL>
  </PROP>
  <PROP NAME="sku.type">
    <PVAL>clothing-sku</PVAL>
  </PROP>
  <PROP NAME="clothing-sku.color">
    <PVAL>Brown</PVAL>
  </PROP>
  <PROP NAME="clothing-sku.size">
    <PVAL>One Size</PVAL>
  </PROP>
  <PROP NAME="product.parentCategory.id">
    <PVAL>rootCategory.cat50056.cat50067</PVAL>
  </PROP>
  <PROP NAME="product.catalogs.repositoryId">
    <PVAL>masterCatalog</PVAL>
  </PROP>
  <PROP NAME="allAncestors.displayName">
    <PVAL>Gift Shop</PVAL>
  </PROP>
  <PROP NAME="allAncestors.repositoryId">
    <PVAL>cat50056</PVAL>
  </PROP>
</RECORD>
CategoryToDimensionOutputConfig Component

The CategoryToDimensionOutputConfig component specifies how to create Endeca dimension value records that represent categories from the ATG product catalog. This category dimension makes it possible to use Oracle Endeca Commerce to navigate the categories of a catalog.

CategoryToDimensionOutputConfig creates dimension values using a special representation of the category hierarchy that is generated by the/atg/endeca/index/commerce/CategoryTreeService component, as described in the CategoryTreeService Class section.

The following example shows an XML representation of a category dimension value record generated by CategoryToDimensionOutputConfig:

<RECORD>
  <PROP NAME="dimval.spec">
    <PVAL>rootCategory.cat10016.cat10014.catDeskLamps</PVAL>
  </PROP>
  <PROP NAME="dimval.qualified_spec">
    <PVAL>product.category:rootCategory.cat10016.cat10014.catDeskLamps</PVAL>
  </PROP>
  <PROP NAME="dimval.prop.category.rootCatalogId">
    <PVAL>masterCatalog</PVAL>
  </PROP>
  <PROP NAME="dimval.prop.category.ancestorCatalogIds">
    <PVAL>masterCatalog</PVAL>
  </PROP>
  <PROP NAME="dimval.dimension_spec">
    <PVAL>product.category</PVAL>
  </PROP>
  <PROP NAME="dimval.parent_spec">
    <PVAL>rootCategory.cat10016.cat10014</PVAL>
  </PROP>
  <PROP NAME="dimval.display_order">
    <PVAL>2</PVAL>
  </PROP>
  <PROP NAME="dimval.prop.category.repositoryId">
    <PVAL>catDeskLamps</PVAL>
  </PROP>
  <PROP NAME="dimval.prop.category.catalogs.repositoryId">
    <PVAL>masterCatalog</PVAL>
  </PROP>
  <PROP NAME="dimval.prop.category.catalogs.repositoryId">
    <PVAL>homeStoreCatalog</PVAL>
  </PROP>
  <PROP NAME="dimval.display_name">
    <PVAL>Desk Lamps</PVAL>
  </PROP>
</RECORD>

Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Legal Notices