Profile Property Attributes

Each profile property has attributes. Attributes provide information about the property such as the data type of the property (for example, number, string, decimal, and site term), whether the property is single-valued (for example, only one First Name is allowed) or multi-valued, and whether the profile property is indexed.

A site term is a data type that you create. It is a list of specific values that are pertinent to your site. You use a site term to assign this list of values to a property as an attribute. For example, you could create a site term named Gender, and define the following possible values: Female, Male, and Unknown. When you create a profile property named Gender and assign it the data type "site term," only one of the possible values can be assigned to the profile. You create site terms by using the Site Terms Editor module in Business Desk, and then you assign them to the profile definition by using the Profile Definition Designer module.

You apply site terms to profile properties, establishing common words that you can use throughout Commerce Server, for example, to match the user preferences to content. For more information about how profiles are used to deliver content, see Targeting and Personalization Concepts.

Custom Attributes and Advanced Attributes

There are two special types of profile attributes: custom attributes and advanced attributes.

Custom profile attributes are application-specific attributes. You can define custom attributes for properties. For example, you can create a custom attribute that controls how a property is displayed on a Web site page.

Custom attributes control how the Profile Editor module displays a generic profile in the Find screen and in the Edit Profile screen.

For newly created generic profiles, you must set the sDisplayColumn and sFriendlyName custom attributes. If these attributes are not defined, the Find now button is not enabled, and you will not be able to search for instances of those profiles.

  • sDisplayColumn. The display name of the property is displayed as a column name in the Find screen.

    Properties with the sDisplayColumn custom attribute are displayed on the Find screen from left to right in the order they appear in the Properties List in the Profile screen. The value of the sDisplayColumn custom attribute determines the relative width of the column for that property. For example, if the value of the column width for the first property is two and the value of the column width for the second property is four, the second column will be twice as wide as the first.

    This attribute is case-sensitive and has a maximum width of 100. When a profile contains only one property that has an sDisplayColumn custom attribute defined, then by default the profile display column is sorted in ascending order on that property. Properties with this attribute cannot be defined as a join or dual key, they cannot be a site term or profile type reference, and they must be mapped to a data member.

  • sFriendlyName. The display name of the property is displayed in the title bar of the Edit Profile <profile friendly name> screen. The display name is also used as the first column on the left side of the Find screen.

    This attribute is case-sensitive. Properties with this attribute cannot be defined as a join or dual key, they cannot be a site term or profile type reference, and they must be mapped to a data member.

You use the advanced attributes to change how your applications use a profile property. For example, the Exported attribute determines whether the property will be imported into the Data Warehouse.

The following table lists the advanced attributes and the purpose of each one.

Attribute Purpose
Active Indicates whether this property is available through the Profiling system. Inactive properties are not displayed in Business Desk.

A property can be active only if it is mapped to data.

Map to data The data member the property maps to. You can add, delete, or edit profiles based on a given profile definition only if that profile defintion has at least one mapped property.
Key type There are four key types you can assign. These are described earlier, in "Profile Definition Keys."
  • Unique key. Indicates that the value of this property is unique for all members. You map an attribute that is specified as a unique key to a unique field in a SQL Server database or to a unique attribute in a Lightweight Directory Access Protocol (LDAP) source.
  • Primary key. Indicates that the value of this property is unique for all members. You map an attribute that is specified as a primary key to a primary field in a SQL Server database or to a unique attribute in an LDAP source. The primary key is used to relate profiles created with embedded profile definitions.
  • Join key. Relates multiple data stores through a common property in the Profile Service. To edit a property that is defined as a join key that has been used to collect data, you must delete the database columns containing the join key data. After you delete the database columns, you must migrate the old data into the new database columns. Commerce Server 2002 does not support modifying the join key property when you have persisted data.
  • Dual (primary and join) key. Indicates that the value of this property is unique, and relates this property to a property in another data store.
Required Indicates that the property is required. If a property is required, it must also be active.
Exported Specifies that the property is imported into the Data Warehouse.
Defer cache load Indicates that this property is not 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. If a property is multi-valued, it is not searchable.
Searchable Indicates that this property is indexed in the underlying data store and is available for searching by using the Find By function. You map a searchable attribute to an indexed field in the SQL Server database or LDAP source. If a property is searchable, it cannot be multi-valued.
RDN 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 an LDAP class in the underlying store. This does not apply to OLE DB Provider for Microsoft Commerce Server (OLE DB) sources, or to 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.

Using Hashing Keys to Store Profile Definition Data in Multiple Databases

A hashing key is a unique key that is used to keep data from a single source (in this case, a profile definition) together, even though physically it is stored in multiple databases. Data sources use a hashing key to partition data across multiple databases. You use the Profiles resource (or the Profile Definition Designer module in Commerce Server Business Desk) to select a profile property to be the hashing key for a profile definition.

If you do not define a profile property as the hashing key, all data collected with a profile definition is stored in the database assigned to the default partition. After you have defined a hashing key, you cannot redefine it.

See Also

Running the Profiles Resource

Using Profiles in Web Site Management

Profile Structure

Profile Definitions

Profile Properties

Collecting and Storing Profiles

Sample Profile Definitions

Copyright © 2005 Microsoft Corporation.
All rights reserved.