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
persistentAnonymousProfilesproperty of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServletcomponent totrue. With this setting, a new profile is created in the database for each anonymous visitor.Set the
persistAfterLogoutproperty of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServletcomponent 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
profileRequestToolsproperty of the/atg/dynamo/servlet/dafpipeline/ProfileRequestServletcomponent to/atg/userprofiling/ProfileRequestTools.Enable auto-login by setting the
autoLoginproperty to true in theuserprofile.xmlfile. (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
requiredattribute 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
requiredattribute 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/ProfileRequestToolscomponent and use thesetTemporaryRequiredPropertyValuemethod 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.

