Each ConfigurableAction component has the following properties that define the action:




The name of the property to modify. The value of this property should specify both the component and the property to modify. The only properties that can be modified are those of the event that was fired. For example, to modify the member property of a Profile component, use modifiedPropertyName=Profile.member.


How to modify the property. The following operators are available:

APPEND edits the property value by appending a string to the existing value
appends a value to an array only if the value doesn’t exist already in the array
changes numerical property values
changes numerical property values
replaces the old property value with a new one


The modifier property (i.e. what to add, subtract, append, etc. to the modified property). Use this for a dynamic modifier that is a property of a bean. The property can be any of the properties of any of the beans that are properties of the event. For instance, a page event has profile, request, and path properties. You can use any of the properties of the profile, request or path objects as modifiers. The data type of the modifier property should match that of the modified property.


The modifier value, i.e. what to add, subtract, append, etc to the modified property. Use this for a static value. The Personalization module accepts a string value for this property and converts it to the appropriate data type of the modifiedPropertyName.

For example, suppose you have a gardening news page and a profile attribute named likesGardens. You can set an event trigger on your gardening news page to send a page view event. Then, create an Action Handler that refers to a ConfigurableAction component with the following properties:


This ConfigurableAction sets the likesGardens property to true when a page view event is fired by the gardening news page. In the alternative, if the likesGardens property were an integer type, rather than a Boolean, you could use these properties:


to increment the likesGardens property in response to the event.

For another example, suppose you want to keep track of the last page a visitor saw, so that you can return him to the same page on his next visit. You might have a lastPageView attribute in your profile template. You can have a ConfigurableAction that uses page event to set this attribute:


If you want a profile property that tracks each page a visitor sees, you might use the APPEND ONCE operator to keep a list of pages viewed:

operator=APPEND ONCE