Selection Field Configuration - Bloomreach Experience - Headless Digital Experience Platform

Selection Field Configuration

Configuration

Value Lists

By default, value lists for selection fields are managed through resource bundle documents in the Content application.

To create a resource bundle document:

  1. In brX, open the Content application.
  2. Browse to a folder, or create a new one, e.g. myproject/administration.
  3. Add a new document, choose document type "Resource Bundle".
  4. In the new Resource Bundle document enter a key and a label for each value.
  5. Save the document.
Resource Bundle documents have no workflow. They are not published and changes have immediate effect when saved.

Add a Selection Field to a Document Type

The following field types are available in the Document Type Editor:

Static Dropdown

A single value dropdown widget populated from a static value list specified as comma-separated values in the field properties.

The values are specified in the selectable.options property.

Each option can be a key/label pair, delimited by the first '='. 

ca=Canada,mx=Mexico,us=United States

If no key/label pair delimiter ('=') is found, the key value is used for the label as well.

Canada,Mexico,United States

Dynamic Dropdown

A single value dropdown widget populated from a value list service.

The location of the resource bundle document is specified as an absolute JCR path in the source property in the right column of the editor, e.g.

/content/documents/administration/countries

Other field properties available in the right column are optional. A full list is provided below.

valuelistProvider The optional name of a CMS service that provides the list of values to the selection widget. When missing, it defaults to service.valuelist.default, which refers to the DocumentValueListProvider.
source A String property to be used as input to the configured valuelist provider. For the default DocumentValueListProvider, it should point to the desired value list document by its absolute path (starting with '/') or the UUID of the value list document's handle.
sortComparator An optional fully qualified class name of an implementation of org.onehippo.forge.selection.frontend.plugin.sorting.IListItemComparator.
A standard implementation is org.onehippo.forge.selection.frontend.plugin.sorting.DefaultListItemComparator that sorts alphanumerically.
sortOrder Optional. Either 'ascending' or 'descending', defaults to 'ascending'.
sortBy Optional. Either 'key' or 'label', defaults to 'label'.
showDefault Used by org.onehippo.forge.selection.frontend.plugin.DynamicDropdownPlugin and defines whether the default value "Choose One" should be shown.
observableId A optional, user defined observable id. If this id is provided, the dropdown creates a service in the background, containing an observable model of it's value.
The id should be unique per document editor instance by prefixing it with ${cluster.id}.
observerId A optional, user defined observer id that should match another dropdown's observableId (including the ${cluster.id}). The observer dropdown will start listening for changes on the observable dropdown's model and will use that value to get a value list to redraw itself.
nameProvider Fully qualified class name of an implementation of org.onehippo.forge.selection.frontend.provider.IValueListNameProvider that will turn a given (observed) value into a value list name (i.e. path or uuid).
The resulting name will be used to get the value list from the configured value list provider service. When missing, the BasePathNameProvider is used.

Standard implementations are:
org.onehippo.forge.selection.frontend.provider.BasePathNameProvider (the default): 
concatenates sourceBasePath plus the observed value. This requires that the value list item keys of the observable dropdown's value list match the node names of the chained value lists.
org.onehippo.forge.selection.frontend.provider.ConfiguredNameProvider: 
looks up value list names in the configuration, using as key: 'source.' + (observed value).
org.onehippo.forge.selection.frontend.provider.NOOPNameProvider: no look up: just returns the observed value as value list name, useful in combination with a custom value list provider.
sourceBasePath Used by org.onehippo.forge.selection.frontend.provider.BasePathNameProvider and defines the abolute base path where dependent value list documents are located.  

Radio Group

A radio button group widget populated from a value list service.

The location of the resource bundle document is specified as an absolute JCR path in the source property, for example:

/content/documents/administration/value-lists/countries

Other field properties are optional. A full list is provided below.

valuelistProvider The optional name of a CMS service that provides the list of values to the selection widget. When missing, it defaults to service.valuelist.default, which refers to the DocumentValueListProvider. NOTE: if a custom valuelistProvider is used, this field will not be shown in the Visual Editor.
source A String property to be used as input to the configured valuelist provider. For the default DocumentValueListProvider, it should point to the desired value list document by its absolute path (starting with '/') or the UUID of the value list document's handle.
sortComparator An optional, fully qualified class name of an implementation of org.onehippo.forge.selection.frontend.plugin.sorting.IListItemComparator.
A standard implementation is org.onehippo.forge.selection.frontend.plugin.sorting.DefaultListItemComparator that sorts alphanumerically.
sortOrder Optional. Either 'ascending' or 'descending', defaults to 'ascending'.
sortBy Optional. Either 'key' or 'label', defaults to 'label'.
orientation Optional. Either 'vertical' or 'horizontal', defaults to 'vertical'.

Boolean Radio Group

A boolean value radio button group widget. The labels for true and false can be populated from a resource bundle document.

The location of the resource bundle document is specified as an absolute JCR path in the source property, for example:

/content/documents/administration/value-lists/choicelabels

All field properties are optional. A full list is provided below.

source

A String property pointing to the a value list document by its absolute path (starting with '/') or the UUID of the value list document's handle. From the value list, two keys are read, "true" and "false". Other and duplicate entries are ignored. If not found, the default labels "true" and "false" are used.

orientation

Optional. Either 'vertical' or 'horizontal', defaults to 'vertical'.

trueLabel
This property is deprecated. Use a resource bundle document specified in the source property instead.

String property to override the default 'true' label.

falseLabel
This property is deprecated. Use a resource bundle document specified in the source property instead.

String property to override the default 'false' label.

 

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?