If a cartridge provides links to another Endeca navigation or record state, the URL path for each link is provided as an action string in the response ContentItem
. Two components, BasicUrlFormatter
and DefaultActionPathProvider
, assist the cartridges in forming action strings. This section provides some details on both.
BasicUrlFormatter
The /atg/endeca/url/basic/BasicUrlFormatter
component is of class com.endeca.soleng.urlformatter.basic.BasicUrlFormatter
. This class is responsible for serializing action strings from a navigation state, for example, ?N=4294967263
. It includes properties such as defaultEncoding
and prependQuestionMarks
that control how the strings are generated. Out of the box these properties are set to UTF-8
and true
, respectively.
For more information on the BasicUrlFormatter
class, refer to the Assembler Application Developer’s Guide in the Oracle Endeca Commerce documentation.
DefaultActionPathProvider
The /atg/endeca/assembler/cartridge/manager/DefaultActionPathProvider
component, of class atg.endeca.assembler.navigation.DefaultActionPathProvider
, creates the first portion of the action strings that are stored in ContentItems
. For example, in the link below:
/browse?N=4294967263
The /browse
portion of the link is generated by DefaultActionPathProvider
.
The atg.endeca.assembler.navigation.DefaultActionPathProvider
class implements the com.endeca.infront.navigation.url.ActionPathProvider
interface and its four methods:
getDefaultNavigationActionSiteRootPath()
getDefaultNavigationActionContentPath()
getDefaultRecordActionSiteRootPath()
getDefaultRecordActionContentPath()
The DefaultActionPathProvider
class also has the following properties:
defaultExperienceManagerNavigationActionPath
(defaults to/browse
)defaultExperienceManagerRecordActionPath
(defaults to/product
)defaultGuidedSearchNavigationActionPath
(defaults to/guidedsearch
)defaultGuidedSearchRecordActionPath
(defaults to/recorddetails
)
When getDefaultNavigationActionSiteRootPath()
or getDefaultRecordActionSiteRootPath()
is called as part of the assembly process, the AssemblerTools.assemblerSettings()
method is invoked to retrieve and return the default prefix. This prefix is dependent on whether or not Experience Manager or Guided Search is installed and defaults to /pages
and /service
, respectively.
When getDefaultNavigationActionContentPath()
is called as part of the assembly process, AssemblerTools.isExperienceManager()
method is invoked to determine if Experience Manager is in use. If so, the DefaultActionPathProvider
component returns the value of the defaultExperienceManagerNavigationActionPath
property, which defaults to /browse
. If not, the component returns the value of the defaultGuidedSearchNavigationActionPath
property, which defaults to /guidedsearch
.
Similarly, when getDefaultRecordActionContentPath()
is called, AssemblerTools.isExperienceManager()
method is invoked to determine if Experience Manager is in use. If so, the DefaultActionPathProvider
component returns the value of the defaultExperienceManagerRecordActionPath
property, which defaults to /product
. If not, the component returns the value of the defaultGuidedSearchRecordActionPath
property, which defaults to /recorddetails
.