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:
touchpoint
andsiteConfiguration
– Item descriptors that define the site configuration properties. Thetouchpoint
item type implements a core set of properties that are common to all commerce channels, and thesiteConfiguration
subtype adds properties that are specific to Web sites. Versionedtouchpoint
andsiteConfiguration
items are deployed from the publishing server to the production server.siteGroup
– An item descriptor that contains sharing group properties. VersionedsiteGroup
items 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 thesiteRepository
definition 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>