The atg.endeca.assembler.navigation.filter.SiteFilterBuilder class constructs a filter that restricts the set of records returned to only those associated with specified sites. For example, if a there are three sites, siteA, siteB, and siteC, the filter might specify that only records associated with siteA or siteC should be returned. (Note that a record associated with siteB may still be returned if it is also associated with siteA or siteC.) SiteFilterBuilder has a number of properties that it uses to determine which sites to include when it constructs the filter:
siteIds
An array of the site IDs of the sites to include. Typically the value of this property is set through a form handler in a JSP, based on user interface elements, such as a set of checkboxes that the customer selects to indicate the sites to search.
siteScope
If siteIds is null, the siteScope property is used to determine the set of sites to include. It can be any of the following values:
If
siteScopeis null or is set tocurrent, only records associated with the current site are returned.If
siteScopeis set toany, all records that are associated with any site are returned.If
siteScopeis set toall, all records are returned, including ones not associated with any site.If
siteScopeis set tonone, only records that are not associated with any site are returned.If
siteScopeis set to a shareable type ID, records are returned for any sites that are in a sharing group that shares the shareable type with the current site.
includeInactiveSites
If true, any inactive sites specified in the siteIds property or determined via the siteScope property are included. If false (the default), inactive sites are omitted.
includeDisabledSites
If true, any disabled sites specified in the siteIds property or determined via the siteScope property are included. If false (the default), disabled sites are omitted.
sitePropertyName
The name of the site ID property in Endeca records to use for filtering. This is typically set to:
sitePropertyName=product.siteId
siteManager
The component of class atg.multisite.SiteManager used to determine which sites are enabled and active. This is typically set to /atg/multisite/SiteManager.
siteGroupManager
The component of class atg.multisite.SiteGroupManager used to determine which sites share with the current site the shareable type specified in the siteScope property. This is typically set to /atg/multisite/SiteGroupManager.

