Configure a Guided Drill Path
Introduction
Goal
Configure a guided drill path in a faceted tree.
Background
By default, the way in which the facets in a faceted tree are traversed is completely free. Facets can be combined in any order and it is even possible to select the same facet multiple times to combine different values of the that facet.
For use cases which require a more restricted navigation, it is possible to configure guided drill paths.
Configuration
To restrict the order in which facets become available for selection, add the after parameter to a facet name in hippofacnav:facetnodenames to configure after which selected facet it should become available.
Month${after:'Year'}
To hide a facet when a facet is selected, add the hide parameter to hippofacnav:facetnodenames:
Month${hide:'Year'}
The hide parameter accepts multiple values:
Month${hide:['Month', 'Year']}
Example
Suppose you have a standard implementation project created from the Maven archetype with the News feature added.
You have configured a faceted tree with three human-readable date facets: Year, Month, and Day (of the Month).
You only want Month to become available after Year has been selected, and Day to become available after Month has been selected. You also want to leave out redundant facets.
This can be achieved by adding the after and hide configuration parameters to the relevant values of hippofacnav:facetnodenames:
/content/documents/myproject: /faceted-news: jcr:primaryType: hippofacnav:facetnavigation hippo:docbase: d2b1775c-fb97-4080-bd66-ede4ac874b5a hippofacnav:facets: [ myproject:date$year,\ \ myproject:date$month, \ myproject:date$day ] hippofacnav:facetnodenames: [ "Year${hide:'Year'}",\ \ "Month${after:'Year', hide:['Month','Year']}",\ \ "Day${after:'Month', hide:['Day','Month','Year']}" ]
The result is a faceted tree as in the example below:
/content/documents/myproject: /faceted-news [30]: /Year [27]: /2016 [18]: /Month [18]: /8 [9]: /Day [9]: /12 [3]: /17 [3]: /23 [3]: /hippo:resultset [9]: /hippo:resultset [9]: /9 [6]: /6 [3]: /hippo:resultset [18]: /hippo:resultset [18]: /2017 [6]: /hippo:resultset [27]: /hippo:resultset [30]:
hippofacnav:facetnodenames: [ "Year${hide:'Year', sortby:'facetvalue', sortorder:'descending'}",\ \ "Month${after:'Year', hide:['Month','Year'], sortby:'facetvalue', sortorder:'descending'}",\ \ "Day${after:'Month', hide:['Day','Month','Year'], sortby:'facetvalue', sortorder:'descending'}" ]