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. You can configure this as follows:

defaultValue^=\
  /atg/commerce/endeca/index/CategoryRootNodeSynchronization.dimensionName
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 RepositoryTypeHierarchyExportercomponents (including RepositoryTypeDimensionExporter, ArticleDimensionExporter, and MediaContentDimensionExporter) is set by default to:

createRootNode=false

In a Forge-based application, set the createRootNode property of all RepositoryTypeHierarchyExportercomponents to true.

For the category hierarchy, creating 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. If this property includes the /atg/commerce/endeca/index/CategoryRootNodeSynchronization component, the root node record is generated. By default, this component is not included in the array. In a Forge-based application, you should add the component as follows:

indexingSynchronizations+=\
  /atg/commerce/endeca/index/CategoryRootNodeSynchronization

Copyright © 1997, 2015 Oracle and/or its affiliates. All rights reserved. Legal Notices