You use the Profile Designer module to edit and manage profile definitions. A profile definition is a set of characteristics that define any business-related item, such as a user, a company, or a business process. A profile is a single instance of a profile definition containing the data that the profile definition collects. For example, you can design a profile definition to collect user data. You can then use the Users module to edit a user profile for a particular user who entered their data on your Web site.
A Commerce Server profile consists of the following parts:
The following table shows a sample User profile definition, and then a single instance of the sample User profile definition with data for Sean Chai.
Profile definition: User | Profile: Sean Chai |
First name | Sean |
Last name | Chai |
City | Seattle |
Gender | M |
Age | 52 |
E-mail address | seanchai@microsoft.com |
Work with your system administrator to create profile definitions for your site. The system administrator determines where the profile data will be stored in the Commerce Server database. This process is known as mapping the profile definition to the database. For example, assume you request a new profile definition named "Music," and you want to store the following profile properties: First Concert, Last Concert, Favorite CD, and two more properties that are not yet determined.
The system administrator creates the new profile definition, Music, including the three known properties and two placeholders for the properties you will add in the future, and then maps it to the Commerce Server database where it will be stored. After the system administrator creates the profile definition and the new properties, you can then use the Profile Designer module to add all three properties to the definition. (The system administrator can also do this for you using Commerce Server Manager.) At a later date, when you determine other information you want to collect using the Music profile definition, you can use Profile Designer to create two new properties and map them to the placeholders created by your system administrator.
The Commerce Server Solution Sites include the following sample profile definitions: Addresses, BlanketPOs (purchase orders), Organization, User Object, and Targeting Context. In the User Object, five unnamed properties are included so you can add properties to the User profile definition without contacting your system administrator to extend your database. For a list of properties included with each profile definition, see Sample Profile Definitions.
After the system administrator creates the profile definition, you can add profile properties to it by using the Business Desk Profile Designer module. Profile properties determine what information is collected in a profile. For example, the User profile definition could contain the following properties: first name, last name, city, gender, age, and e-mail address. You can organize related profile properties into groups.
The following figure shows the parts of a sample User profile definition.
You can create profile properties as the following types:
Property Type | Description |
String | A property of type string stores up to a maximum of 4,000 characters. String properties map to string data members. |
Long String | A property of type long string stores up to a maximum of 2 to the power of 17 (2^17) characters. Long string properties map to string data members. |
Number | A property of type number stores integers. The maximum length of a number property is determined by the data store. Number properties map to number data members. |
Decimal | A property of type decimal stores floating point numbers. The maximum length of a decimal property is determined by the data store. Decimal properties map to number data members. |
Boolean | A property of type Boolean stores one of two values (true/false, yes/no, or 1/0). Boolean properties map to Boolean data members. |
Binary | A property of type binary stores binary data with a maximum size of 4 KB. Binary properties map to binary data members. |
Long Binary | A property of type long binary stores content, such as spreadsheets, documents, graphics, and sound up to a maximum size of 128 KB. Long binary properties map to binary data members. |
Date/Time | A property of type date/time is a composite date and time value. The format used and the maximum length are determined by the data store. Date/time properties map to date/time data members. |
Date | A property of type date contains date values that are in the range of 1/1/1950 to 12/31/2049. The format used and the maximum length are determined by the data store. Date properties map to date/time data members. |
Time | A property of type time contains values for hour, minute, second, and millisecond. The format used and the maximum length are determined by the data store. Time properties map to date/time data members. |
Currency | A property of type currency accepts numbers in currency format. The currency format used and the maximum length are determined by data store. Currency properties map to currency data members. |
Password | A property of type password accepts text, and is treated like a string by the Profiles resource. Commerce Server Business Desk displays the value stored in a password property as asterisks (*). Password properties map to string data members and have a maximum length of 255 Unicode characters. |
Site Term | A property of type site term is associated with a site term. The value that is stored in this property should be a valid value from the list of term names associated with that site term. Site term properties map to string data members and have a maximum length of 255 Unicode characters. |
Profile | A property of type profile is associated with a profile definition. The value that is stored in this property should be a value that corresponds to the value of the primary key of a specific instance of that associated profile. Profile properties map to string data members and have a maximum length of 255 Unicode characters. |
Each profile property has attributes. Attributes provide information about the property. For example, the First Name property has the following attributes: Name, Display Name, Description, and Type.
Attributes include information such as the data type of the profile property (for example, number, text, decimal, or site term), and whether the property is single-valued (for example, only one First Name entry is allowed per user) or multi-valued. You can also designate that the data can be exported. For example, data can be exported into the Data Warehouse.
There are two special types of attributes: custom attributes and advanced attributes.
The following table lists the advance attributes and the purpose of each one.
Attribute | Purpose |
Active | Indicates whether this property is available through the Profile Service. Inactive properties are not displayed in Business Desk. |
Map to data | The data member the property maps to. |
Key type | There are four key types you can assign:
|
Required | Indicates that the property is required. |
Exported | Specifies that the property will be imported into the Data Warehouse. |
Defer cache load | Indicates that this property will not be loaded initially when the profile is retrieved, but will be loaded when this particular property is accessed. |
Multi-valued | Enables the capturing of a collection of values that are associated with the property. |
Searchable | Indicates that this property is indexed in the underlying |
RDN | Type the Relative Distinguished Name (RDN) for a directory store. If this attribute is set for a property, this member maps to the RDN attribute of a LDAP class in the underlying store. This does not apply to OLE DB Provider for Microsoft Commerce Server (OLE DB) sources, or any other data source type. |
Hashing key | Indicates that this property will be used to distribute profile instances across multiple partitions. To retrieve this profile you must query on this key. |
Commerce Server Solution Sites include sample profile definitions. If your site developer used a Solution Site to build your site, you should have the five profile definitions listed in the following table.
Profile Definition | Properties (data type) | Description |
Address | Address ID (string) | Address identifier |
ID (string) | Organization/User Identifier | |
Last Name (string) | User last name | |
First Name (string) | User first name | |
Address Name (string) | Name for this address | |
Address Type (number) | Address/Ship to address/Bill to address | |
Description (string) | Description for this address | |
Address Line 1 (string) | First line of address | |
Address Line 2 (string) | Second line of address | |
City (string) | City name | |
Region Code (string) | State, region, or province code | |
State Name (string) | State, region, or province name | |
Postal Code (string) | Postal code | |
Country Code (string) | Country International Standards Organization (ISO) code | |
Country Name (string) | Country name | |
Telephone Number (string) | Telephone number at this address | |
Telephone Extension (string) | Telephone number extension at this address | |
Locale ID (number) | Locale in which to render the address form | |
Changed by (string) | Name of person who last changed this profile | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
BlanketPOs | Purchase Order ID (string) | Globally unique identifier (GUID) referring to the Blanket Purchase Order |
Organization ID (string) | Organization ID | |
PO Number (string) | Blanket purchase order number | |
Description (string) | Description of purchase order | |
Changed by (string) | Name of person who last changed this profile | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
Organization | Organization ID (string) | Organization ID |
Name (string) | Name of the organization | |
Trading partner number (string) | Trading partner number | |
Administrative contact (string) | GUID for the administrative contact | |
Receiver (string) | User ID of the person to receive products shipped from the supplier | |
Organization catalog set (string) | Organization catalog set | |
Changed by (string) | Name of person who last changed this profile | |
Purchasing manager (string) | User ID of the purchasing manager of the buying organization | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
User Object | User ID (string) | User ID |
Logon name (string) | Logon name | |
User password (password) | User password | |
E-mail (string) | User e-mail address | |
User type (number) | User type | |
User title (string) | User title | |
Last name (string) | Last name of user | |
First name (string) | First name of user | |
Telephone number (string) | Telephone number for user | |
Telephone extension (string) | Telephone number extension for user | |
Fax number (string) | Fax number for user | |
Fax extension (string) | Fax number extension for user | |
Changed by (string) | Name of person who last changed this profile | |
Organization ID (string) | Organization ID | |
Account status (number) | Account status | |
User catalog set (string) | User catalog set | |
Date registered (date/time) | Date the user registered | |
Campaign History (string) | Campaign history | |
Partner service role flags (number) | Partner service role | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
Targeting Context | Page Group (string) | Name of the page group (for example, Sports pages) |
Adding Properties to a Profile Definition
Adding a Site Term to a Profile Definition