This section describes property additions and extensions for the user
item descriptor.
age
The age
property is a Commerce Reference Store-specific derived property calculated using the dateOfBirth
property that is included in Commerce. This property is used by the ThirtySomethings
and Young
user segments to identify customers of a particular age. See User Segments for more details.
autoLogin
Commerce Reference Store sets the autoLogin
property default to true
. This enables the Commerce auto-login by profile feature, which allows registered customers to choose a “log me in automatically” option on your Web site. For more auto-login by profile information, see Tracking Registered Users in the ATG Personalization Programming Guide.
billingAddress
The billingAddress
property stores a customer’s default billing address in an item of type contactInfo
. Commerce Reference Store extends the Commerce definition of billingAddress
with a modification to the cascade
attribute. This attribute indicates that when changes are made to a user
item, appropriate changes should also automatically be made to the corresponding contactInfo
item that stores the customer’s billing address. The cascade
attribute is set to cascade="update,delete"
. The update
setting updates the contactInfo
item as needed, while delete
deletes the contactInfo
item if the parent user
item is deleted.
Note: For more information on the cascade
attribute, see Cascading Data Relationships in the ATG Repository Guide.
categoryLastBrowsed
categoryLastBrowsed
is a Commerce Reference Store-specific property that stores the last category a customer looked at. For more information on how the categoryLastBrowsed
is calculated, see Tracking a Customer’s Catalog Navigation in the Using Cartridges chapter.
Commerce Reference Store uses the email
property to identify a customer during login. For this reason, Commerce Reference Store extends the email
property by marking it as required.
externalID
externalID
is a Commerce Reference Store-specific property that provides a location to store old customer IDs. The externalID
property allows you to import customers from an existing site, and maintain and track their original IDs.
firstName
Commerce Reference Store extends the firstName
property by marking it as required.
gender
Commerce Reference Store extends the gender
property by adding an unknown
value for customers who have registered but have not provided a gender selection. Gender is not a required property in Commerce Reference Store.
itemsBought
itemsBought
is a Commerce Reference Store-specific property in the form of a list that stores all the products a customer has purchased. itemsBought
data is stored in a separate table, called crs_items_bought
, with fields for user ID and SKU ID. Each time a customer submits an order in the store.war/checkout/gadgets/confirmControls.jsp
gadget, the Nucleus component /atg/commerce/order/purchase/CommitOrderFormHandler
updates the crs_items_bought
table through a series of calls to two additional Commerce Reference Store-specific classes:
atg.projects.store.order.purchase.StoreCommitOrderHandler
is a subclass ofatg.commerce.order.purchase.CommitOrderFormHandler
that facilitates custom pre- and post-order commit functionality.StoreCommitOrderHandler
callsatg.projects.store.order.purchase.StoreCommitOrderProcessHelper
.StoreCommitOrderProcessHelper
is a descendent ofatg.commerce.order.purchase.PurchaseProcessHelper
and it makes the updates to theitemsBought
property.
lastName
Commerce Reference Store extends the lastName
property by marking it as required.
lastPurchaseDate
lastPurchaseDate
is a Commerce Reference Store-specific property that stores the date of a customer’s last committed order. Each time a customer submits an order in the store.war/checkout/gadgets/confirmControls.jsp
gadget, the Nucleus component /atg/commerce/order/purchase/CommitOrderFormHandler
populates this property through a series of calls to two additional Commerce Reference Store-specific classes:
atg.projects.store.order.purchase.StoreCommitOrderHandler
is a subclass ofatg.commerce.order.purchase.CommitOrderFormHandler
that facilitates custom pre- and post-order commit functionality.StoreCommitOrderHandler
callsatg.projects.store.order.purchase.StoreCommitOrderProcessHelper
.StoreCommitOrderProcessHelper
is a descendent ofatg.commerce.order.purchase.PurchaseProcessHelper
. It makes the update to thelastPurchaseDate
property.
numberOfOrders
numberOfOrders
is a Commerce Reference Store-specific property that tracks the number of orders a customer has placed. Each time a customer submits an order in the store.war/checkout/gadgets/confirmControls.jsp
gadget, the Nucleus component /atg/commerce/order/purchase/CommitOrderFormHandler
increments this property through a series of calls to two additional Commerce Reference Store-specific classes:
atg.projects.store.order.purchase.StoreCommitOrderHandler
is a subclass ofatg.commerce.order.purchase.CommitOrderFormHandler
that facilitates custom pre- and post-order commit functionality.StoreCommitOrderHandler
callsatg.projects.store.order.purchase.StoreCommitOrderProcessHelper
.StoreCommitOrderProcessHelper
is a descendent ofatg.commerce.order.purchase.PurchaseProcessHelper
and it makes the update to thenumberOfOrders
property.
receivePromoEmail
receivePromoEmail
is a Commerce Reference Store-specific property that allows the customer to opt in or out of marketing e-mails. New customers can specify whether to opt in or out of emails while they are registering. These options are presented to new users by the store.war/myaccount/gadgets/registrationForm.jsp
gadget, which is included by store.war/myaccount/registration.jsp
. Existing customers can change their opt-in setting using the store.war/myaccount/accountProfileEdit.jsp
page. Both pages call the /atg/store/profile/RegistrationFormHandler
component, which is an instance of atg.projects.store.profile.StoreProfileFormHandler
, and set the RegistrationFormHandler
component’s emailOptIn
property to either true or false. The StoreProfileFormHandler.updateReceiveEmailProperty()
method then sets the receivePromoEmail
property for the customer based on the value of the emailOptIn
property.
The giveAbandonedOrderPromotion
scenario uses the receivePromoEmail
property to determine whether or not it should send an e-mail to the customer, notifying her that she has been granted the 10% Off Order promotion that is intended to encourage order completion. See Scenarios That Grant Promotions for more information on this promotion.
recentlyViewedProducts
recentlyViewedProducts
is a Commerce Reference Store-specific property that stores a list of recentlyViewedProduct
items that correspond to the products a customer has most recently viewed. For registered customers, the recentlyViewedProducts
list is stored with the customer’s profile. For anonymous users, the recentlyViewedProducts
list is persisted in a transient profile for the length of the customer’s session only. If the customer subsequently logs in, the data is persisted in the customer’s profile as described in Additional Support for Recently Viewed Products.
referralSource
referralSource
is a Commerce Reference Store-specific property that stores the selection a customer made from a list of referral sources while filling out the registration form in the store.war/myaccount/gadgets/registrationForm.jsp
gadget.
Commerce Reference Store referral choices are enumerated in userProfile.xml
and include the following (the display string that appears in ATG Store is provided in parentheses):
unknown
(Unknown)tv
(TV)radio
(Radio)pressArticle
(Press Article)onlineAdLink
(Online Ad or Link)friend
(Friend)justTypedURL
(Just typed in your URL)
The display strings that the storefronts use when rendering the referral sources are contained in the /atg/projects/store/web/WebAppResources.properties
file in <ATG10dir>/CommerceReferenceStore/Store/EStore/lib/classes.jar
.
Note: The display name for referralSource
in the Business Control Center is “Where did you hear about us.”
secondaryAddresses
The secondaryAddress
property is a map of all of the items of type contactInfo
that are associated with the customer (including the default shipping and billing addresses also referenced by the billingAddress
and shippingAddress
properties). Each contactInfo
item contains a single address associated with the customer.
shippingAddress
The shippingAddress
property stores a customer’s default shipping address in an item of type contactInfo
. Commerce Reference Store extends the Commerce definition of shippingAddress
with a modification to the cascade
attribute. In Commerce, the cascade
attribute is set to cascade="insert,update"
. This setting causes a new, empty shipping address to be created for each newly registered user. Such empty addresses can cause issues when the customer selects a shipping address during checkout, however, so Commerce Reference Store changes the cascade
attribute to cascade=""
.
Note: For more information on the cascade
attribute, see Cascading Data Relationships in the ATG Repository Guide.