Each commerceRefineConfig item represents the set of facets associated with a specific catalog or category. The facets themselves are stored in the refinement repository as refineElement items. A commerceRefineConfig item has a generatedRefineElements property whose value is a list of the refineElement items that the commerceRefineConfig item represents.
When the product catalog and refinement repository are deployed, the facet definitions and inheritance settings are examined to determine the correct facet set for each catalog and category. For each catalog, category, or category-info item in the catalog repository:
A
commerceRefineConfigitem representing the corresponding facet set is created in the refinement repository. ItsgeneratedRefineElementsproperty is set to a list ofrefineElementitems, and itsrefineConfigNameproperty is set to an identifier that is used during the generation process to map it to the corresponding refinement configuration XML file.The value of the
catalog,category, orcategory-infoitem’srefineConfigproperty is set to the associatedcommerceRefineConfigitem.
The collection process is triggered by the /atg/commerce/search/refinement/RefinementGenerationDeploymentListener component. This component is registered as a deployment event listener with /atg/epub/DeploymentAgent, which notifies it when a deployment takes place. RefinementGenerationDeploymentListener then invokes the /atg/commerce/search/refinement/RefinementConfigurationGenerator component. This component, which is of class atg.commerce.search.refinement.admin.CustomRefinementConfigurationGenerator, is responsible for both the collection process and the generation process.
For the collection process, RefinementConfigurationGenerator invokes the /atg/commerce/search/refinement/RefinementConfigurationCollectorFactory component, which is of class atg.commerce.search.refinement.admin.CustomCollectorFactory. The RefinementConfigurationCollectorFactory component creates the CustomCatalogRefinementCollector objects that create the commerceRefineConfig items in the refinement repository.

