Wednesday, February 4, 2015

Customizing the agenda builder

       Customizing the agenda builder
Agenda builder in ibm wcs is If you want to change the default logic that selects potentially applicable promotions for evaluation, or to improve system performance by screening promotions prior to evaluation to reduce the number of promotions to be evaluated at runtime.A WebSphere Commerce instance has only one agenda builder. Customizations apply to all stores in the same instance.The agenda builder searches promotions directly related to shopping cart content rather than all available promotions in the system.This implementation requires data populated in the CATENCALCD, and CATGPCALCD table during the promotion authoring process that indicates the mapping between promotion and catlogEntry or category.If the store rarely has category-level promotions, then a flag can be set in the promotion engine configuration file for the agenda builder. The name of the flag is PerformCheckForCategoryLevelPromotions and it may have a value of true or false. If the flag is set to true, then a search is performed for any active category-level promotions in the store.

Customization steps:
1. Implement agenda builder. 
The only requirement is that your agenda builder must implement the com.ibm.commerce.marketing.promotion.runtime.PromotionExecutionAgendaBuilder interface. This interface is also a subclass of XMLizable interface. As a result, you must define the toXML and fromXML methods for your implementation, as well as a serialized XML form for your agenda builder.

2. Register the custom agenda builder in the promotion engine configuration.

1.         Edit the promotion engine configuration XML file in an editor. You can find this file in the following location:WC_eardir/xml/PromotionEngineConfiguration/WCSPromotionEngineConfig.xml
2.         Update the following code segment:
3.         <PromotionExecutionAgendaBuilder impl="
com.ibm.commerce.marketing.promotion.runtime.DefaultAgendaBuilder">
The segment in bold should be updated to reflect either the custom agenda builder, or one of the following agenda builders:
StorePathSupportedAgendaBuilder
This is the default agenda builder. It supports all of the WebSphere Commerce features and business models. To select this agenda builder, set the PromotionExecutionAgendaBuilder's impl parameter to:
com.ibm.commerce.marketing.promotion.runtime.StorePathSupportedAgendaBuilder
CodeDrivenAgendaBuilder
This agenda builder only builds a PromotionExecutionAgenda for promotions for which a promotion code is entered by a customer. To select this sequence builder, set the PromotionExecutionAgendaBuilder's impl parameter to:
com.ibm.commerce.marketing.promotion.runtime.CodeDrivenAgendaBuilder
DefaultAgendaBuilder
A former default agenda builder that does not support B2B business models. To select this sequence builder, set the PromotionExecutionAgendaBuilder's impl parameter to:
com.ibm.commerce.marketing.promotion.runtime.DefaultAgendaBuilder
ShopcartDrivenAgendaBuilder
This agenda builder searches for product-level promotions in the "ProductLevelPromotion" group that are directly related to the contents of the customers shopping cart, rather than searching all defined promotions. This agenda builder satisfies retail store check-out process requirements, which evaluate the promotions each time a product gets scanned. Therefore, it significantly decreases evaluation time. Other promotion groups, such as order-level promotions, still follow the default procedure.
This builder requires some predefined customer-based search algorithms for product-level promotions. The algorithm depends on the relationship between products and promotions in your store. This builder provides a WebSphere-Commerce-specific search algorithm, which uses a set of calculation-code-related tables, CATENCALCD and CATGPCALCD. To select this agenda builder, set the PromotionExecutionAgendaBuilder's impl parameter to:
com.ibm.commerce.marketing.promotion.runtime.ShopcartDrivenAgendaBuilder
You may also see the following agenda builder, which is not intended to be used directly:
PromotionExecutionAgendaBuilder
A dummy interface to facilitate customization. Any custom agenda builders must call this interface.
4.         Publish the updated configuration file to the production server
5.         Restart WebSphere Commerce. Since the agenda builder is initialized during WebSphere Commerce start up, a restart is required before the changes take effect.

No comments:

Post a Comment