What Is the Process for Creating Profile Definitions?
To create a new profile definition, you must follow these steps:
Determine how to represent the profiles within Commerce Server.
Create tables in a database or objects corresponding to a Lightweight Directory Access Protocol (LDAP) version 3 schema to hold the profile data.
Expose the databases or the LDAP schema to Commerce Server by creating data sources.
Expose the tables or the LDAP objects to Commerce Server by creating data objects.
Expose the columns in the tables or properties of the LDAP objects to Commerce Server by creating data members.
Create a profile definition.
Add properties to the profile definition.
If you already have a table in a database or an object in an LDAP schema that contains data that you want to expose to Commerce Server (for example, existing customer accounts), you can model this data as a Commerce Server profile. To expose existing data to Commerce Server, create a profile definition to represent the existing data.
A profile is an object that you use to represent information in Commerce Server. Some of the profile definitions that are built into Commerce Server represent real entities, such as users. Some of the profile definitions that are built into Commerce Server represent abstract information, such as addresses. Your new profile can represent any kind of information, but it should represent information that logically belongs together.
Consider each piece of information that is associated with the object. These are the properties of the profile. Properties can have simple types, such as an integer or a string, or properties can themselves be profiles.
Each property of a profile is represented by a column in a database table, or by the property of an LDAP version 3 compliant object. Because each property corresponds to a column or an LDAP property, you can store some properties in one table or object, and other properties in a different table or object. You can even store some properties of a profile in one data source and other properties of the same profile in a different data source.
If the user account resides in Active Directory directory service, consider storing properties that frequently change in SQL Server.
If you use a database to store profile data, design the databases and tables that will contain data for the new profile, and create the databases. If you use Active Directory to store profile data, design the schemas and objects that will contain data for the new profile, and create the schemas and objects.
A data source defines a database or LDAP schema to Commerce Server. Create a data source for each database or LDAP schema that contains Commerce Server profile data. For more information about adding a data source, see Managing Data Sources.
A data object defines a table in a database or an LDAP version 3 compliant object to Commerce Server. Create a data object for each table or object that contains Commerce Server profile data. You must define a data source to represent the database or the LDAP schema before you define a data object to represent a table in the database or the LDAP object. For more information about adding a data object, see How to Add a Data Object to a Data Source.
A data member defines a column in a table or a property of an LDAP object to Commerce Server. Create a data member for each property that is associated with the profile. You must define a data source and a data object before you define a data member. For more information about adding a data member, see How to Add a Data Member to a Data Object.
After you create the data sources, data objects, and data members for all the information that is associated with a profile, you create the profile definition itself. For more information about creating a profile definition, see Managing Profile Definitions.
After you create a profile definition, you add properties to the profile. When you add a property, you can specify the data source, data object, and data member that Commerce Server will use to obtain the value of the property if you want the value of the property to persist in storage. For more information about adding a profile definition property, see Managing Profile Properties.