Each repository can be defined with one or more XML repository definition files. The repository definition files used by a repository are specified by the definitionFiles property of the Repository component. The value of the definitionFiles property is the absolute name of an XMLFile in your CONFIGPATH. If more than one XML file is defined with the same path in different CONFIGPATH directories, they are combined using the XML combination rules described in the XML File Combination section of the Nucleus: Organizing JavaBean Components chapter of the ATG Programming Guide. This allows you to modify one XML file by adding or removing item descriptors, properties, and tables in a different configuration layer in your CONFIGPATH, just as you can do with Nucleus components.
XML file combination always matches the item-descriptor, table, and property tags by name only. It operates from the outside tag inward. Make sure that any changes you make match exactly the item descriptor, table, and property that you want to modify. Here is an example file that modifies the repository definition for the Profile Repository, located in the CONFIGPATH at /atg/userprofiling/userProfile.xml:
<gsa-template> <item-descriptor name="user" cache-mode="locked" item-cache-size="500"> <table name="dps_user"> <property name="userType" data-type="enumerated"> <option value="investor" code="1"> <option value="broker" code="2"> <option value="guest" code="3"> </property> </table> </item-descriptor> </gsa-template>
This example modifies the standard repository definition as follows:
changes the data-type of the
userTypeproperty frominttoenumerated,adds a few options for the enumerated value of the
userTypeproperty,sets the cache-mode of the
useritem-descriptor to locked mode, anddecreases the default
item-cache-sizefrom 1000 (the default) to 500.

