Next: Program XML, Up: Program [Contents][Index]
This system has maintenance concerns. 16
The Program UI renders a Program as a form.
At the highest level, steps are rendered in a tab-like manner, above the main form content. A step contains groups, which in turn contain elements such as questions. Groups are delimited in some manner defined by their style (see Group Styles).
Questions are rendered as form fields. Any time the respective Bucket field is changed, the form field is updated to reflect those changes, after having first been formatted with the appropriate validator (see Formatting Values). When a question is changed by the user, the value is expected to be propagated to the Bucket (see Bucket Assignment).
Navigation between steps can be done via the Navigation Bar above the step content, or using “Go Back” and “Continue” buttons at the foot of the step content.
A Sidebar is rendered adjacent to the step content. It displays the name of the Program, as well as configurable metadata (usually through the ‘sidebar’ node of the Program XML). It also displays question help text (also configured through the XML) and any error messages (see Error Handling).
• Group Styles: | Different ways of displaying groups of questions to the user. | |
• DOM Abstraction : | Representing and efficiently manipulating the DOM. |
The Ui
class,
in addition to Client (see Client),
represent the two monoliths of the system.
This mediates all UI-related tasks,
and still has far too many concerns with far too many
dependencies.
Code is to be extracted out of this class as it is touched.
Next: Program XML, Up: Program [Contents][Index]