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:
siteConfiguration
– An item descriptor that contains the site configuration properties. VersionedsiteConfigurations
are deployed from the publishing server to the production server.siteGroup
– An item descriptor that contains sharing group properties. VersionedsiteGroups
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, siteRepository
is used by siteContext
to look up sites and identify site properties. The siteManager
class provides additional methods for the siteRepository
.
For additional information on siteManager
and siteContext
, refer to the ATG 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>
For a list of tables used in the Site Repository refer to Tables Used in the Site Repository.