Next: , Up: Program   [Contents][Index]

7.1 Program UI

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).



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: , Up: Program   [Contents][Index]