The profile repository definition file, userProfile.xml, defines item descriptors and properties that belong to organizations, both types of roles, and other aspects of the user directory. You can extend these template definitions as required, adding the properties that you want to be able to specify for organizations and roles in the Business Control Center and the ACC.

The userProfile.xml file is a combination of several userProfile.xml files, one defined for each ATG module you install. For more information about which userProfile.xml files make up your user directory repository definition, see XML File Combination and the User Profile Repository Definition in the Extending the Standard User Profile Repository Definition section of this guide.

The Personalization module’s base profile repository definition file defines the following item descriptors for the user directory:

Item Descriptor Name

Description

role

Defines global roles

organizationalRole

Defines organizational roles

organization

Represents a Personalization module organization

genericFolder

Defines the folders in which you can place organizations

roleFolder

Defines the folders in which you can place global roles

Some of these item descriptors use inheritance to define a hierarchical relationship with other user directory entities; for example, the item descriptor organizationalRole inherits attributes from the item descriptor role, as defined in these lines from the Personalization module’s default userProfile.xml file:

<item-descriptor name="organizationalRole" super-type="role"
sub-type-value="organizationalRole"

For more information on item descriptor inheritance, refer to the SQL Repositories chapter in the ATG Repository Guide.

Note that, in addition to setting up inheritance among item descriptors, or as an alternative to it, you can define derived properties, which allow one repository item to derive property values from another repository item or from another property in the same repository item. This feature is used extensively for the User item descriptor in the ATG demos; for example, in the Motorprise demo site for B2B Commerce, the User item descriptor includes properties that it derives from the user’s parent organization as shown in the following lines from the Motorprise version of the userProfile.xml file:

 <property name="defaultPaymentType" item-type="credit-card"
  display-name-resource="defaultPaymentType"
            category-resource="categoryBillingShipping">
    <derivation override-property="myDefaultPaymentType">
      <expression>parentOrganization.defaultPaymentType</expression>
    </derivation>
    <attribute name="resourceBundle"
     value="atg.b2bcommerce.UserProfileTemplateResources"/>
    <attribute name="propertySortPriority" value="30"/>
  </property>

For more examples and for detailed information on derived properties, refer to the SQL Repositories chapter in the ATG Repository Guide.