A user profile is a set of attributes that represent the data you want to store for a site user, for example login name, password, e-mail address, registration date, and so on. ATG applications use profile repositories to manage user profiles. A standard profile repository is a SQL repository component of class atg.adapter.gsa.GSARepository. Each user profile is represented by an item in the profile repository, and the attributes that make up the profile are stored as properties of the repository item. When you design your sites, you need to determine which profile attributes you want to track for your users and then set up a database to store the profiles.

As a SQL profile repository is an instance of the generic SQL repository, the process of setting up a SQL profile repository is similar to the process described in the SQL Repositories chapter of the ATG Repository Guide. It requires you to perform the following basic steps:

  1. Design your profile repository definition, determining the properties you want to have available in your user profiles. Most profile repositories will use a single profile item type (typically called user) for all users within that repository. See the Defining the Profile Repository section in this chapter.

  2. Create the SQL database schema on the SQL database server that corresponds to the profile repository definition you designed.

  3. Make any needed configuration changes to the appropriate profile repository component. See the Configuring a Profile Repository Component section in this chapter.

Although most profile repositories are SQL repositories, it is also possible to store profile information in an LDAP directory or a composite SQL/LDAP repository. This chapter focuses on using a SQL repository as the data store. For information on using an LDAP directory as the data store, see the Setting Up an LDAP Profile Repository chapter. For information on using a composite SQL/LDAP profile repository, see Setting Up a Composite Profile Repository.