Profile Property Attributes

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 specify that the data can be exported. For example, data can be exported into the Data Warehouse.

There are two special types of attributes:

  • Custom profile attributes.
  • Advanced profile attributes.

Custom Profile 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. For information about adding custom profile attributes to a property, see Adding Custom Attributes to a Profile Property.

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 will not be enabled, and you will not be able to search for instances of those profiles.

Custom attributes control where the data collected with a profile property is stored in the Data Warehouse. You add the DWMemberName custom attribute to a property to specify the column in the Data Warehouse where the data collected with that profile property will be stored.

The following table lists the custom attributes for profile properties and describes how they are used.

Custom attribute Description Values
DWMemberName Specifies the name of the data member (in this case a column in a table) in the Data Warehouse where the profile property will be stored. If the member name (column) does not exist in the specified Data Warehouse class (table), the Profile data import DTS task will create it. The name of the column in the Data Warehouse.

Ee811633.note(en-US,CS.20).gifNote

  • Your system administrator must add the DWClassName custom attribute to the profile definition to specify in which table the profile data is stored in the Data Warehouse.
IsTransactioned Specifies support of write transactions across multiple transactional data stores. True = Enabled
False = Disabled
sAnonymousAccess Specifies anonymous user access to the property in the Customer Service page in the Web site. 0 = Hide from anonymous users
1 = Read only
2 = Editable
sDelegatedAdminAccess Specifies delegated administrator access to the property in the Customer Service page of the Web site. 0 = Hide from administrators
1 = Read only
2 = Editable
sDisplayColumn Specifies the profile data that is displayed and is used to identify profiles on the Find screen of the Profile Editor module for a particular generic profile definition. 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. The value determines the relative width of the column for the property.

Ee811633.note(en-US,CS.20).gifNotes

  • This attribute is case-sensitive and has a maximum width of 100.
  • Properties with this attribute cannot be defined as a join or dual key.
  • Properties with this attribute cannot be a site term or profile type reference, and they must be mapped to a data member.
SFeatureID Specifies the site scenarios for which the property is displayed in the Customer Service and the Partner Service page of the Web site. 0 = Always display
1 = Display only when the site supports the delegated administrator options
3 = Display only when the site uses Active Directory directory service
SFriendlyName Specifies the profile data that is displayed and is used to identify the profile being edited in the title bar of the Edit Profile screen of the Profile Editor module. The value of the sFriendlyName attribute is not used.

Ee811633.note(en-US,CS.20).gifNotes

  • This attribute is case-sensitive.
  • Properties with this attribute cannot be defined as a join or dual key.
  • Properties with this attribute cannot be a site term or profile type reference, and they must be mapped to a data member.
sSearchOptions Specifies that a particular property is available for the user in the site search options. None = Property is not available for any search operations

All = Property is available for both simple and advanced search operations

Advanced = Property is available for advanced search operations only

SShownInList Specifies that a particular property is displayed on the list sheet page. 0 = Property is not displayed on the list sheet page

1 = Property is displayed on the list sheet page

sSiteAdminAccess Specifies site administrator access to the property in the Customer Service page in the Web site. 0 = Hide from site administrator
1 = Read only
2 = Editable
SUserAccess Specifies registered user access to the property in the Customer Service page in the Web site. 0 = Hide from registered users
1 = Read only
2 = Editable
Password Specifies that the password is of the property type.

If the value of this custom attribute is 1, special user interface features can be implemented to maintain the security of the password. For example, you can have asterisks displayed in the browser window instead of the actual characters, and use multiple fields to verify password change operations.

0 = Regular property type
1 = Password property type

For more information about securing user profile data, see "Securing Your Site" in Commerce Server 2002 Help.

EncryptionType Specifies that the property is encrypted. Use this attribute to indicate properties that must be encrypted in the store.

Also note that this is a reserved custom property value. When you mark a property as encrypted, it is automatically created for you, and it is hidden in the custom attributes dynamic table.

1 = Encrypted with a public/private key

2 = Encrypted with a one-way hash key

Ee811633.note(en-US,CS.20).gifNote

  • You can access the metadata of the predefined custom attributes as described in the preceding table. However, you cannot access metadata for profile custom attributes that you create for yourself.

For information about adding custom attributes to a profile property, see Adding Custom Attributes to a Profile Property. For information about adding custom attributes to profile definitions, see "Adding a Custom Attribute to a Profile Definition" in Commerce Server 2002 Help.

Advanced Profile Attributes

You use advanced profile attributes to change how your applications use a profile property. For example, the Exported attribute determines whether the property is exported to 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.

Ee811633.note(en-US,CS.20).gifNote

  • A property can only be active 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 definition has at least one mapped property.
Key type There are four key types you can assign:
  • 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.

    Unique Key is displayed to the right of a property that is assigned a unique key.

  • 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 a LDAP source. The primary key is used to relate profiles created with embedded profile definitions.

    Primary Key is displayed to the left of a property that is assigned a primary key.

  • 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.

    Join Key is displayed to the left of a property that is assigned a join key.

  • 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.

    Dual Key is displayed to the left of a property that is assigned a dual key.

Required Indicates that the property is required.

Ee811633.note(en-US,CS.20).gifNote

  • If a property is required, it must also be active.
Exported Specifies that the property is imported into the Data Warehouse. For more information, see “Running the Profile Data Import DTS Task” in the Commerce Server 2002 Help.
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. Each deferred cache property will be retrieved individually from the OLEDB Provider for Commerce Server when it is accessed.
Multi-valued Enables the capturing of a collection of values that are associated with the property.

Ee811633.note(en-US,CS.20).gifNote

  • 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 using the Find By function. You map a searchable attribute to an indexed field in the SQL Server database or LDAP source.

Ee811633.note(en-US,CS.20).gifNote

  • If a property is searchable, it cannot be multi-valued.
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 Lightweight Directory Access Protocol (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.

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. For information about defining a hashing key, see Adding Properties to a Profile Definition.

See Also

Adding Properties to a Profile Definition

Adding Custom Attributes to a Profile Property

Running the Profile Data Import DTS Task

Specifying Data to be Imported into the Data Warehouse

Copyright © 2005 Microsoft Corporation.
All rights reserved.