There are four services that facilitate the updating of the catalog in batch mode. All batch services can be run on demand or in scheduled mode. They are:
Each service performs functions that can be selectively executed using the function names.
Each service keeps in memory a history of all information, warning and error level messages. They are exposed through a set of API, getWarningMessages
, getErrorMessages
, getInfoMessages
and getCurrentMessage
. They can be viewed using the View Status option on the Commerce Administration Page. For more information see Running the Batch Services from the Commerce Admin Page.
Each service creates a global lock at the start of execution, using the global lock management, and releases it upon completion. This prevents services that use the same lock name from executing simultaneously on the same server, or other servers in the cluster.
Each service has the following configurable property values
Property | Description |
---|---|
| Schedule on which the service will execute. If this property is valued, the service will schedule itself accordingly when it is first instantiated. |
| A list of function names that the service can perform. Function names are used to identify specific processes that can be performed by the service such as, AGS_GENCATALOGS to generate ancestor catalogs. AGS_GENANCESTORS to generate ancestor categories. |
| This property is used to configure a default set of function names that are executed when none are provided, such as in schedule mode, or through the Java API. It can be any of the functions exposed by the |
| Can be set to true or false. If true, the info, error, and warning messages from the last execution of the service are retained in memory. These messages are used for the maintenance log display on the Commerce Administration pages. Default is true. |
| The number of repository items that are updated before restarting the transaction. This can be used in the case of very large catalogs to spread updates across several transactions. |
| The scheduler job name used when the service is scheduled. |
| The scheduled job description. |
| Time in milliseconds before a timeout when acquiring the global lock. |
| The name used for the global lock. |
AncestorGeneratorService
Component: /atg/commerce/catalog/custom/AncestorGeneratorService
(for custom catalogs) or /atg/commerce/catalog/AncestorGeneratorService
(for standard catalogs)
The AncestorGeneratorService
updates the following property values for each of the catalog item types. This service must be executed after making catalog updates in order for catalog navigation and search to work correctly.
Item Type | Property Names |
---|---|
Categories: |
|
Products: |
|
SKUs: |
|
Available Functions
AGS_GENCATALOGS: generates the catalog and catalogs properties
AGS_GENPARENTCATS: generates the parentCategoriesForCatalog
property
AGS_GENANCESTORS: generates the ancestorCategories
property
CatalogVerificationService
Component: /atg/commerce/catalog/custom/CatalogVerificationService
The CatalogVerificationService
verifies/validates various relationships between catalog items. It validates the following property values for each catalog item type.
Item Type | Property Names |
---|---|
Catalogs |
|
Categories |
|
Products |
|
SKUs |
|
Available Functions
CVS_VERIFYCATALOGS: verifies catalog item properties
CVS_VERIFYCATEGORIES: verifies category item properties
CVS_VERIFYPRODUCTS: verifies product item properties
CVS_VERIFYSKUS: verifies SKU item properties
CatalogUpdateService
Component: /atg/commerce/catalog/custom/CatalogUpdateService
The CatalogUpdateService
updates the same catalog properties that are updated by the dynamic service CatalogCompletionService, but in batch mode. Because the CatalogCompletionService
can be disabled and may not be actively updating the catalog property values in real time, this service can be used to batch update them on an as-needed basis.
This service can be run in a versioned ATG instance. If you use startSQLRepository
to import catalog data, you can run this service immediately after the import to compute all properties, which can afterwards be maintained by CatalogCompletionService
.
This service updates the following property values for each of the catalog item types.
Item Type | Property Names |
---|---|
Catalog |
|
Categories |
|
Available Functions
CUS_UPDATECATALOGS: Updates all item properties in the catalog
CatalogMaintenanceService
Component: /atg/commerce/catalog/CatalogMaintenanceService
This component is an extension of a standard batch service. It is a container of other batch maintenance services. It provides a single point of access to other batch services and a consolidated view of their processing results.
The CatalogMaintenanceService
exposes the history log for each of its registered services, which can be viewed from the Commerce Administration pages. Note that the viewable history log is maintained only in memory and is discarded after a recycle of the ATG server. The ATG logs can be used as a historical reference to the service logs.
Functions from any of the contained services can be selectively executed using the CatalogMaintenanceService
. Therefore, this service can be scheduled to sequentially execute other services it contains, as opposed to scheduling each service individually.
The CatalogMaintenanceService
has a related /atg/epub/CatalogMaintenanceHelper
component. This component is used by installations that use ATG Content Administration to manage their catalogs; it listens for ATG Content Administration deployments and runs catalog maintenance services automatically. For ATG Commerce purposes, the component’s important property is extraTriggeringAffectedItemDescriptors
. By default, the CatalogMaintenanceHelper
listens for changes to standard catalog items (catalog
, category
, categoryInfo
, product
, productInfo
, sku
, and skuInfo
), such as categories and products. If you have created custom subtypes based on these item types, you can add them to this property, so that changes to these item types can also trigger catalog maintenance services. For example:
extraTriggeringAffectedItemDescriptors+=myCustomDesc1,myCustomDesc2
For general information on ATG Content Administration, see the ATG Content Administration Programming Guide.
Additional property information:
Property | Description |
---|---|
| An array of Nucleus paths to each contained service component. Each component is resolved by path and added to the |
| A list of catalog keys that will be updated. If null, the standard catalog repository is updated. |
| A consolidated list of all the |
| This property is used to configure a default set of function names that are executed when none are provided, such as in schedule mode, or through the Java API. It can be any of the function names exposed by the |
Available Functions
All functions available to the contained services.
Running the Batch Services from the Commerce Admin Page
Catalog Maintenance batch services should be run the in the staging environment. They should be run after any structural changes are made to the catalog. For example, it should be run after adding new categories, products, or SKUs.
The catalog batch maintenance services are available from the Commerce Administration page. For more information on accessing the Dynamo Administration UI, see the ATG Installation and Configuration Guide.
Important note: If you are using custom catalogs and are running ATG Content Administration, you must configure one agent server on your target site cluster to run the Catalog Maintenance Service. For more information, see the Getting Started chapter of the ATG Merchandising User Guide.
There are four options available on the menu; Catalog Update, Catalog Verification, Basic Catalog Maintenance and View Status.
Catalog Update
This CatalogUpdateService
will batch update the catalog property values that are normally updated incrementally by the CatalogCompletionService
. When this service is enabled all updates to the catalog that are made using the ACC or the Repository API will trigger these properties to be computed and updated dynamically.
However, if the DCS catalog is updated outside of these processes or if the CatalogCompletionService
is disabled, this process should be used to batch update the appropriate property values. The default is to run all the functions of the CatalogUpdateService
.
To run CatalogUpdateService
from the Commerce Administration Page, click on the Catalog Update link. Click on the Start Process button at the bottom of the Catalog Update page.
Catalog Verification
This process verifies catalog component relationships for accuracy. The default is to run all the functions of the CatalogVerficationService
.
To run CatalogVerficationService
from the Commerce Administration Page, click on the Verify Catalog link. Click on the Start Process button at the bottom of the Verify Catalog page.
Basic Catalog Maintenance
This process will execute the standard batch maintenance services against the DCS catalog. The default configuration runs all the functions of the AncestorGeneratorService
and CatalogVerificationService
.
To run Basic Catalog Maintenance from the Commerce Administration Page, click on the Basic Catalog Maintenance link. Click on the Start Process button at the bottom of the Basic Catalog Maintenance page.
View Status
The View status page let you view the information, errors and warnings from the last execution of maintenance on the server. To view the status log from the Commerce Administration Page, click on the View Status link. The status from the last execution displays. For example:
Running a Batch Service from the ACC
To use the ACC to execute a service
In the Components > by Path window, select the component by path; either
/atg/commerce/catalog/custom/CatalogMaintenanceService
(for custom catalogs) or/atg/commerce/catalog/CatalogMaintenanceService
(for standard catalogs).Choose File > Open Component.
The Component Editor opens.
If the component is not currently running, choose Component > Start Component.
Select the Methods tab.
Click the Invoke button next to the
performService
method.
Batch Maintenance Form Handler
Component: /atg/commerce/catalog/RunServiceFormHandler
There is one form handler that is used to execute the batch services from the Commerce Administration Pages. This form handler executes the CatalogMaintenanceService
, passing a configurable set of functions for each available option. The execution of the CatalogMaintenanceService
is started in a new thread, then the View Status page is shown. The View Status can be refreshed to monitor the progress of the batch maintenance run.
Property information:
Property | Description |
---|---|
| These are the function names passed to the |
| These are the function names passed to the |
| These are the function names passed to the |