#9 [preferences] Enhance preferences to enable preference tree

Insight UI (18)
Bindul Bhowmik

[This item was moved over from OpenMind. Feature RQ# 257]

This a suggested enhancement to the Preferences model and the UI for preferences. Currently the tree of user modifiable preferences in the 'Edit Preferences' dialog is displayed based on the hierarchy of preferences in their actual storage (currently '${INSIGHT_HOME}/config/insight-preferences.xml').

The enhancement proposes the inclusion of an attribute to all 'Preference' elements to let the developers decide the location of the displayed preference in the preference tree. Further, it is proposed that we maintain support for the current hierarchy selection as a fallback option for all (user-modifiable) preferences which do not include that attribute.

The name of the attribute could be 'preferenceDisplayHierarchy' and would be optional of type 'xs:string' added to the 'Preference' complex type in the preference schema. The Preference model in Insight would further be enhanced, and a method to retrieve the attribute be added to the Preference object. The method can be further enhanced to return the actual 'xpath' of the preference, should the attribute value not be specified. This would let us get away with minimal
changes to the Preference UI.