The atg.userprofiling.ProfileForm class can perform its operations on any profile. The property ProfileForm.repositoryId defines the current profile that is being manipulated.

The ProfileFormHandler class is designed to perform its operations on the profile of a particular user navigating your Web site. It adds a profile property that should be set to the session-scoped atg.userprofiling.Profile object. The repositoryId property get and set methods are overridden to reference this Profile object.

The createProfileItem method is subclassed to add optional behavior for registration. Typically, when a visitor registers, you want to transform the current anonymous profile into a registered profile, taking along all of the visitor’s current profile attributes. ProfileFormHandler allows you to set the property createNewUser to true, with the result that all registrations start with a clean profile.

The ProfileFormHandler class uses the preprocessing and post-processing methods (such as postCreateUser and preLogoutUser) to extend the functionality in the ProfileForm class. When the user registers, logs in, or logs out, the ProfileFormHandler broadcasts HTTP cookies as needed and fires off Profile Events using the ProfileEventTrigger. You can configure actions that correspond to these events through the ACC. For more information, see the ATG Personalization Guide for Business Users.