All registered sites have a site ID and are recorded in the siteRepository definition. The Site Repository, which runs on all server instances, stores site configurations, site categories and site groups that are created with Site Administration. The Site Repository stores the following item descriptors:
touchpointandsiteConfiguration– Item descriptors that define the site configuration properties. Thetouchpointitem type implements a core set of properties that are common to all commerce channels, and thesiteConfigurationsubtype adds properties that are specific to Web sites. VersionedtouchpointandsiteConfigurationitems are deployed from the publishing server to the production server.siteGroup– An item descriptor that contains sharing group properties. VersionedsiteGroupitems are deployed from the publishing server to the production server.siteTemplate– An item descriptor for a site category. Site categories are non-versioned instances that are stored in thesiteRepositorydefinition on the publishing server. Site categories do not get deployed.
The repository is also used by other applications to access site and property information. For example, the Site Repository is used by SiteContext to look up sites and identify site properties. The SiteManager class provides additional methods for retrieving information from the Site Repository.
For additional information about SiteManager and SiteContext, refer to the Platform Programming Guide.
The following is an excerpted example of the item descriptors within the siteRepository.xml file:
<item-descriptor name="siteConfiguration" default="true" last-modified- property="modificationTime" display-property="name" display-name- resource="itemDescriptorSiteConfiguration" item-cache-size="1000" query-cache-size="1000"> <attribute name="plural-display-name-resource" value="itemDescriptorSiteConfiguration.plural"/> <attribute name="resourceBundle" value="atg.multisite.SiteRepositoryTemplateResources"/> <attribute name="categoryBasicsPriority" value="110"/> <attribute name="categoryLifePriority" value="120"/> <attribute name="updateLastModified" value="true"/> <attribute name="iconSwf" value="iconSwf.siteConfiguration.small"/> <attribute name="largeIconSwf" value="iconSwf.siteConfiguration.large"/> <table name="site_configuration" type="primary" id-column-names="id"> <property name="id" column-names="id" data-type="string" /> <property name="name" column-names="name" data-type="string" category-resource="categoryBasics" display-name-resource="name" required="true"> <attribute name="propertySortPriority" value="0"/> </property> <item-descriptor name="siteGroup" display-property="displayName" display-name-resource="itemDescriptorSiteGroup" item-cache-size="1000" query-cache-size="1000"> <attribute name="plural-display-name-resource" value="itemDescriptorSiteGroup.plural"/> <attribute name="resourceBundle" value="atg.multisite.SiteRepositoryTemplateResources"/> <attribute name="iconSwf" value="iconSwf.siteGroup.small"/> <attribute name="largeIconSwf" value="iconSwf.siteGroup.large"/> <table name="site_group" type="primary" id-column-names="id"> <attribute name="resourceBundle" value="atg.multisite.SiteRepositoryTemplateResources"/> <property name="id" column-names="id" data-type="string"/> <property name="displayName" column-names="display_name" data-type="string" category-resource="categoryBasics" required="true" display-name-resource="siteGroupDisplayName"/> </table> <table name="site_group_sites" type="multi" id-column-name="site_group_id"> <property name="sites" column-names="site_id" data-type="set" component-item-type="siteConfiguration" category-resource="categoryBasics" display-name-resource="sites"> <attribute name="removeNullValues" value="true"/> </property> </table> <table name="site_group_shareable_types" type="multi" id-column-name="site_group_id"> <property name="shareableTypes" column-names="shareable_types" data-type="set" component-data-type="enumerated string" category-resource="categoryBasics" display-name-resource="shareableTypes"> <attribute name="stringEnumProvider" value="/atg/multisite/ShareableTypeStringEnumProvider"/> <attribute name="propertySortPriority" value="100"/> </property> </table> </item-descriptor> <item-descriptor name="siteTemplate" versionable="false" display-property="name" display-name-resource="itemDescriptorSiteTemplate" item-cache-size="1000" query-cache-size="1000"> <attribute name="plural-display-name-resource" value="itemDescriptorSiteTemplate.plural"/> <attribute name="resourceBundle" value="atg.multisite.SiteRepositoryTemplateResources"/> <attribute name="deployable" value="false"/> <attribute name="iconSwf" value="iconSwf.siteTemplate.small"/> <attribute name="largeIconSwf" value="iconSwf.siteTemplate.large"/> <table name="site_template" type="primary" id-column-names="id"> <property name="id" column-names="id" data-type="string"/> <property name="name" column-names="name" data-type="string" display-name-resource="template.name" required="true"> <attribute name="unique" value="true"/> <attribute name="propertySortPriority" value="0"/> </property> <property name="description" column-names="description" data-type="string" display-name-resource="template.description" required="true"> <attribute name="propertySortPriority" value="20"/> </property> <property name="itemMappingId" column-names="item_mapping_id" data-type="string" display-name-resource="template.itemMappingID" required="true"> <attribute name="propertySortPriority" value="40"/> </property> </table> </item-descriptor>

