Greenstone 3 Digital library has various classifiers.
One special classifier type is hierarchy classifier that allows large depth of document nesting.
To use it in the document metadata, you must specify the path in the hierarchy to which the document is supposed to be attributed. An example of such a path would be the string "3.7.2". The period is a separator, and the numbers indicate the subgroup number for this nesting level.
In practice it is inconvenient to set a numerical value of the hierarchy path for each document, since you have to constantly refer to the document in which the names of the hierarchy elements and their paths are correlated.
In order to facilitate the accomplishment of this task, I wrote a small selection menu in javascript, which loads a file from Greenstone 3 with the names of hierarchy elements and paths and, after creating a metadata field, opens a menu for setting a numerical value.
The value can be set both with the mouse, by selecting groups and subgroups by the names of the hierarchy elements, and from the keyboard, by setting the numerical values of the path. When specifying numerical values, the menu path will automatically jump to the currently selected hierarchy level and show current options.
Thus, the task of assigning a hierarchy level for this method of document classification has been simplified.
This code has been merged in Greenstone 3 trunk http://trac.greenstone.org/browser/main/trunk/greenstone3/web/interfaces/default/js/hierarchy.js