If you want to add properties to the profile definition file, you need to add a column in the appropriate database table for the item you want to add, and you also need to add a reference to that column in the profile repository definition file. For example, if you wanted to add the property “region” to the dps_contact_info table, add a column called region to the table, then add the following lines to the Personalization module’s userProfile.xml file:

<table name="dps_contact_info" type="primary">
  <property name="region" data-type="string" column-name="region"

If you are using the Personalization module, you don’t need to extend any objects to add a property to a database table. However, if you are using another ATG application, such as Commerce, you may need to extend an object if that object is used by the another repository item. For example, the Commerce order processing system needs to be aware of the region property so that it can correctly send an order.

For more information see Working with Purchase Process Objects in the ATG Commerce Programming Guide.