In a CAS-style application, the name of the root node in a dimension hierarchy is the forward slash (/
). So, for example, the forward slash is the name of the root node of the category dimension.
The following example is part of a record created by the CategoryToDimensionOutputConfig
component that represents a top-level category. The value of this category’s dimval.parent_spec
property is the root node:
<PROP NAME="dimval.parent_spec">
<PVAL>/</PVAL>
</PROP>
In a Forge-based application, the name of the root node of a hierarchical dimension is the name of the dimension. For example, the root node of the category dimension hierarchy is product.category
. So a record representing a top-level category includes this instead:
<PROP NAME="dimval.parent_spec">
<PVAL>product.category</PVAL>
</PROP>
The value for the name of the root node is configured separately for the category hierarchy and the repository item type hierarchy. For the repository item type hierarchy, the rootParentSpecifier
property of components of class atg.endeca.index.dimension.RepositoryTypeHierarchyExporter
(including the RepositoryTypeDimensionExporter
, ArticleDimensionExporter
, and MediaContentDimensionExporter
components) is set by default to:
rootParentSpecifier=/
For a Forge-based application, set the rootParentSpecifier
property of each RepositoryTypeHierarchyExporter
component to null so it uses its default value, which is the dimension name:
rootParentSpecifier^=/Constants.null
For the category hierarchy, the name of the root node is configured through the defaultValue
property of the /atg/commerce/endeca/index/accessor/ParentSpecPropertyAccessor
component. (See Category Dimension Value Accessors for information about this component.) This property is set by default to:
defaultValue=/
In a Forge-based application, change the value of this property to the name of the dimension:
defaultValue=product.category
Root Node Export
For a CAS-based application, the Oracle Commerce Platform does not create a record representing the root node of a dimension hierarchy. Instead, Oracle Commerce Guided Search automatically creates the root node and names it “/
”. For a Forge-based application, however, the Oracle Commerce Platform does create a record representing the root node, and gives the node the name of the dimension.
This behavior is configured separately for the category hierarchy and the repository item type hierarchy. For the repository item type hierarchy, the createRootNode
property of RepositoryTypeHierarchyExporter
components (including RepositoryTypeDimensionExporter
, ArticleDimensionExporter
, and MediaContentDimensionExporter
) is set by default to:
createRootNode=false
In a Forge-based application, set the createRootNode
property of all RepositoryTypeHierarchyExporter
components to true
.
For the category hierarchy, creation of a record for the root node is controlled through the indexingSynchronizations
property of the CategoryToDimensionOutputConfig
component. This property accepts an array of components of classes that implement the atg.repository.search.indexing.IndexingSynchronization
interface. The default configuration of this property includes the /atg/commerce/endeca/index/CategoryRootNodeSynchronization
component, which is responsible for creating the root node for Forge-based applications.
Configuring for Preview
To support previewing your sites in Experience Manager preview and Business Control Center preview, the CategoryRootNodeSynchronization
component includes the following properties:
rootNodeParentSpec
-- specifies the value of thedimval.parent_spec
property of the root node of the category hierarchydummyNodeParentSpec
-- specifies the value of thedimval.parent_spec
property of the dummy node used for previewing unindexed categories
These properties are configured by default to support a CAS-based application:
dummyNodeParentSpec=/
rootNodeParentSpec=/
For a Forge-based application, set these properties to the name of the dimension:
dummyNodeParentSpec=product.category
rootNodeParentSpec=product.category