Dynamic Services consists of components that enable the catalog properties to be dynamically updated as the catalog structure is modified by an ACC user, BCC user, or a program using the Repository API.

CatalogChangesListener

Component: /atg/commerce/catalog/custom/CatalogChangesListener (for custom catalogs) or /atg/commerce/catalog/CatalogChangesListener (for standard catalogs)

This component registers itself at deployment as a property changed listener for the product catalog. It is notified for each repository change made to a category or catalog item in the product catalog. As each change is made, it calls the CatalogCompletionService to make dynamic updates to the appropriate catalog item property values.

CatalogCompletionService

Component: /atg/commerce/catalog/custom/CatalogCompletionService (for custom catalogs) or /atg/commerce/catalog/CatalogCompletionService (for standard catalogs)

This component updates catalog item property values in real time based on changes made to the product catalog repository. It is called by the CatalogChangesListener when changes are made to the product catalog repository.

Refer to the CatalogUpdateService for a list of properties that are maintained by this service.

Additional property information:

Property

Description

computeSubCatalogs

If true, the catalog item’s subCatalogs property will be updated. The subCatalogs property is no longer used by custom catalogs, but remains available for backward compatibility.

The CatalogUpdateService also refers to this property to control updating of the subCatalogs property in real time.

Enabled

True/False

StandardCatalogCompletionService

Component: /atg/commerce/catalog/StandardCatalogCompletionService

This component updates catalog item property values in real time based on changes made to the product catalog repository. It is called by the CatalogChangesListener when changes are made to the product catalog repository.

The StandardCatalogCompletionService updates the parentCategory property for product and category items. When a product or category is made a child of another category, the parentCategory of the new child is automatically set to the new parent if the child’s parentCategory property is null.

When a product or category is removed as a child from a category, the service checks the former child’s parentCategory. If parentCategory is set to the category that is no longer the parent, the service checks the former child’s parentCategories property, and assigns the first category in the list as the new parentCategory. If the parentCategories list is empty, parentCategory is set to null.

Running the Dynamic Services

The dynamic service components are started automatically. You can disable the CatalogCompletionService or the StandardCatalogCompletionService by setting the service’s enabled property to false. If you set the enabled property to false, the components still start up with ATG Commerce, but they do not do anything if called.

 
loading table of contents...