This article covers a Bloomreach Experience Manager version 11. There's an updated version available that covers our most recent release.

23-11-2016

Configure a Required Taxonomy Field

Introduction

Goal

Configure a required taxonomy field in a document type so that when saving a document of that type without any categories selected, the taxonomy field is visually marked as invalid using red coloring.

Background

A taxonomy field in a document type can be marked as required (meaning that at least one category must be selected) by adding the 'required' validator through configuration in the Console. When applying this to a default taxonomy field added using the Essentials setup application, attempting to save a document with no categories selected will cause a feedback message to be displayed only. The taxonomy field will not be highlighted in red as is usual for invalid fields in the document type editor. This page describes the additional configuration required to also highlight an invalid taxonomy field using red coloring.

Set a taxonomy field to be required 

This feature is supported since Taxonomy Plugin version 1.11.03 for Hippo 7.9.

In order to mark a taxonomy field as required, the following steps have to be taken:

  1. Configure the  org.onehippo.taxonomy.plugin.TaxonomyPickerPlugin frontend plugin.
  2. Set required validator on classifiable mixin or document type field.

1. Configure the TaxonomyPickerPlugin as frontend plugin

Although the standard way to configure a taxonomy field is to have a classifiable node with a  org.hippoecm.frontend.editor.plugins.mixin.MixinLoaderPlugin below the editor:templates part of your document type, using this setup will only give a feedback message and will not show an invalidated field using red coloring.

To produce the correct validation highlighting, configure the TaxonomyPickerPlugin directly like in the example below:

/hippo:namespaces/myhippoproject/mydocumenttype/editor/templates/_default_
  + classifiable [frontend:plugin]
    - field = keys
    - plugin.class = org.onehippo.taxonomy.plugin.TaxonomyPickerPlugin
    - taxonomy.classification.dao = service.taxonomy.dao
    - taxonomy.id = service.taxonomy
    - taxonomy.name = exampletaxonomy
    - wicket.id = ${cluster.id}.field   (or applicable layout part e.g. ${cluster.id}.right.item)

2. Set 'required' validator on classifiable mixin or document type field 

Now, we need to set a required validator on the taxonomy field. We can do this on the mixin level or on the document type level.

2a. Set classifiable mixin as 'required' 

Setting the mixin hippotaxonomy:classifiable as required will make the taxonomy fields in every document type required. To do that, add a validator required here:

/hippo:namespaces/hippotaxonomy/classifiable/hipposysedit:nodetype/hipposysedit:nodetype
  + keys [hipposysedit:field]
    - hipposysedit:validators = required (String, multiple)

2b. Add a field with validator 'required' to the document type 

For setting the taxonomy field as required on document type level, add a field node below the hipposysedit:nodetype part of the type, also with a validator required.

+ /hippo:namespaces/myhippoproject/mydocumenttype/hipposysedit:nodetype/hipposysedit:nodetype
  + keys [hipposysedit:field]
    - hipposysedit:multiple = true  (Boolean)
    - hipposysedit:path = hippotaxonomy:keys  (String)
    - hipposysedit:type = String  (String)
    - hipposysedit:validators = required  (String, multiple)

The result 

The screenshot below, taken using the demo project, shows what a required taxonomy field will look in the CMS:

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?

    We rely on cookies

    to optimize our communication and to enhance your customer experience. By clicking on the Accept and Close button, you agree to the collection of cookies. You can also adjust your preferences by clicking on Manage Preferences. For more information please see our Privacy policy.

    Manage cookies
    Accept & close

    Cookies preferences

    Accept & close
    Back