The Personalization module provides form handler classes that you can use to create and manage user profiles. A profile form handler connects a registration or login page to a profile in a profile repository. You can use a profile form handler to add new profiles, edit the current profile, and handle user login and logout.

The main profile form handler class is atg.userprofiling.ProfileFormHandler. This class provides all of the form handling functionality that many sites will need. The Using Profiles and Profile Forms chapter of the ATG Page Developer's Guide explains how to use this form handler class in content pages.

Most of the functionality in the ProfileFormHandler class is inherited from atg.userprofiling.ProfileForm, which it extends. The source code for both ProfileFormHandler.java and ProfileForm.java can be found in the <ATG10dir>/DPS/src/Java/atg/userprofiling directory.

This section discusses how the ProfileForm class and the ProfileFormHandler class work internally. You can create your own form handler classes by extending either of these classes. The class to subclass depends on what you want to use the new profile form handler for. The ProfileForm class is designed to be more generic and can perform operations on any profile, whereas the ProfileFormHandler class operates on the user’s current session-scoped Profile object.

Note that when you use an instance of a profile form handler, you must make sure that certain components are correctly configured:

  • All profile form handlers have a profileTools property that must reference the globally scoped service /atg/userprofiling/ProfileTools.

  • If the profile form handler is of class atg.userprofile.ProfileFormHandler (or a subclass of this class), it has a profile property that must reference the session-scoped Profile object, located at /atg/userprofiling/Profile.