Wednesday, 13 June 2018

Configuring SiteApplicationRoutingStrategy

Use the SiteApplicationRoutingStrategy if you have a separate EAC application for each site (with all languages in a given site being handled by that site’s EAC application), or if you have a separate EAC application for each combination of site and language. Make sure you are creating a separate app for the site.

Naviate to /atg/endeca/ApplicationConfiguration

set 
applicationRoutingStrategy=\
 /atg/endeca/configuration/SiteApplicationRoutingStrategy

 In addition, to ensure that separate records are created for each site, you need to add the UniqueSiteVariantProducer to the variantProducers property of each EndecaIndexingOutputConfig component. For example ProductCatalogOutputConfig,MediaOutputConfig,ArticleOutputConfig.

 variantProducers+=/atg/search/repository/UniqueSiteVariantProducer

 Also, mention the siteIDsToIndex property with all the sites required to index in output config. please consider this as an important step, if you are not doing this your indexing will always be a failure.

 Set the routingObjectAdapter property of the/atg/endeca/index/IndexingApplicationConfiguration component to specify the ContextRoutingObjectAdapter component to use:

routingObjectAdapter=\
 /atg/endeca/index/configuration/SiteContextRoutingObjectAdapter

Set the routingObjectAdapter property of the /atg/endeca/assembler/AssemblerApplicationConfiguration component to specify the RequestRoutingObjectAdapter component to use:

routingObjectAdapter=\
 /atg/endeca/index/configuration/SiteRequestRoutingObjectAdapter

eg: ApplicationConfiguration

workbenchHostName=localhost

# Our Workbench Port
workbenchPort=8006

applicationRoutingStrategy=\
 /atg/endeca/configuration/SiteApplicationRoutingStrategy

defaultLanguageForApplications=

keyToApplicationName=\
 ClothSite=ClothSiteAPP,\
 ApprealSite=ApprealSiteApp

applicationKeyToMdexHostAndPort=\
ClothSite=localhost:15000,\
ApprealSite=localhost:16000

where ClothSite & ApprealSite are sitesIds of the application

eg: SiteApplicationRoutingStrategy

eg:filterByLocale=true
applicationNameFormatString={0}{1}

eg:IndexingApplicationConfiguration

CASHostName=localhost
CASPort=8500
EACHostName=localhost
EACPort=8888
routingObjectAdapter=\
 /atg/endeca/index/configuration/SiteContextRoutingObjectAdapter
cxfLogLevelOverride^=/Constants.null


eg: AssemblerApplicationConfiguration

routingObjectAdapter=\
 /atg/endeca/index/configuration/SiteRequestRoutingObjectAdapter

useFileStoreFactory=true

applicationKeyToStoreFactory=\
ClothSite=/atg/endeca/assembler/cartridge/manager/ClothSiteFileStoreFactory,\
ApprealSite=/atg/endeca/assembler/cartridge/manager/ApprealSiteFileStoreFactory


Here you cannot use the defaultFileStore Factory, you have to use the filestore factory for separate instances.

Create a component 

eg: ClothSiteFileStoreFactory with the below data

$class=atg.endeca.assembler.content.ExtendedFileStoreFactory
configurationPath=\
C:\\Endeca\\Apps\\ClothSite
appName=ClothSiteApp


Last you mention about the 

eg:EndecaAdministrationService

/atg/endeca/assembler/admin/EndecaAdministrationService

$class=atg.endeca.assembler.MultiAppAdministrationService
storeFactory^=/Constants.NULL

Set this property to handle the multiple Applications.

Happy Learning !!!! 

No comments:
Write comments