Guests are anonymous users who have not registered and have not logged in. There are several different strategies you can use to track anonymous guest users:
Maintain a session for each guest but do not attempt to gather any additional profile information.
Maintain a profile for each guest in memory, using implicit profile properties, but discard the profile when the guest’s session expires.
Maintain a profile for each guest in the database, using a persistent cookie to identify anonymous users on subsequent visits. Note, however, that most sites have large numbers of casual or infrequent users. If you maintain a profile for each person who visits a site even once, your database resource requirements may be very heavy.
To maintain persistent profiles for guest users, perform the following steps:
Set the
persistentAnonymousProfiles
property of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServlet
component totrue
. With this setting, a new profile is created in the database for each anonymous visitor.Set the
persistAfterLogout
property of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServlet
component totrue
. Setting this property ensures that a profile is created in the profile repository immediately after an anonymous user logs out of a Web site.Set the
profileRequestTools
property of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServlet
component to/atg/userprofiling/ProfileRequestTools
.Enable auto-login by setting the
autoLogin
property to true in theuserprofile.xml
file. (For more information, see Auto-Login with Cookies.)Configure your profile repository so that no properties are required (check the repository definition file to make sure that the
required
attribute is not set to true for any properties).Configure your profile repository so that properties not necessary for auto-login are not marked as required (check the repository definition file to make sure that the
required
attribute is not set to true for any such properties).Note that the login and password properties are required for auto-login to work correctly. The properties are set temporarily to the user ID. When the user registers, they are populated with data that the user supplies.
To change the value that is used for the temporary data, extend the
/atg/userprofiling/ProfileRequestTools
component and use thesetTemporaryRequiredPropertyValue
method to specify a different temporary value for your required properties.
By default, the Personalization module does not send a login event when it creates a persistent profile for an anonymous visitor. To have the system send a login event in these circumstances, set the sendLoginEventForNewPersistentAnonymousProfiles
property of the ProfileRequestServlet
to true
.
For information about controlling access for guests, see the Controlling Anonymous User Access section in this chapter.