To enable specifying dynamic properties for indexing through attributes of the associated metadata items, you must first change the configuration of some of the indexing components. The Oracle Commerce Platform includes a subclass of the EndecaIndexingOutputConfig
class, atg.endeca.index.DynamicEndecaIndexingOutputConfig
, which adds a descriptorAttributeHandlerManager
property that points to a component of class atg.repository.dynamic.manager.handlers.DescriptorAttributeHandlerManager
. For repositories that support dynamic item types or properties, change the class of the corresponding EndecaIndexingOutputConfig
components to the DynamicEndecaIndexingOutputConfig
class, and set the descriptorAttributeHandlerManager
property as follows:
$class=atg.endeca.index.DynamicEndecaIndexingOutputConfig
descriptorAttributeHandlerManager=\
/atg/repository/dynamic/DescriptorAttributeHandlerManager
The DescriptorAttributeHandlerManager
component manages components that check the attributes in the descriptors of dynamic properties when creating records for indexing.
The Oracle Commerce Platform also includes a subclass of the SchemaExporter
class, atg.endeca.index.schema.DynamicSchemaExporter
. For each EndecaIndexingOutputConfig
component whose class is set to DynamicEndecaIndexingOutputConfig
, set the class of the corresponding SchemaExporter
component to DynamicSchemaExporter
:
$class=atg.endeca.index.schema.DynamicSchemaExporter
In addition, for repositories that support dynamic item types or properties, you should set the forceToBaselineOnChange
property to true
on associated components of the RepositoryTypeHierarchyExporter
and DynamicSchemaExporter
classes. These settings ensure that a baseline index is performed when you add or modify dynamic item types or properties. New dynamic item types and properties do not appear in the MDEX until a baseline index has been performed.