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
commerceRefineConfig
item representing the corresponding facet set is created in the refinement repository. ItsgeneratedRefineElements
property is set to a list ofrefineElement
items, and itsrefineConfigName
property 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-info
item’srefineConfig
property is set to the associatedcommerceRefineConfig
item.
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.