Description

The dialog is - as in the current Magnolia GUI - the main concept for requesting input from the user. They are fully configurable via dialog definitions that are stored in the config workspace.

Since this concept is so widely used we can't change it very much except the visual design. However, we will strengthen the concept and extend it at some points.

Suggested extensions/improvements to the current concept of dialogs (prioritized, descending):

  • validation
  • auto-save
  • wizard: a collection of dialog can be combined to a wizard (sequence of dialogs)
  • in-dialog-navigation for going to next/previous content in same collection
  • help: descriptive text and link to help page

Sample usages:

  • wizard: Bulk-Changes, "New Page...", "New Content...", Installer, Export, Import, ... 

Specification Draft

Note: this section will move to the specification page.

Dialog

A dialog is a container component for other controls (mostly forms) and have a certain set of buttons.  

Contains:

  • title, description
  • sub-components
  • (optional) help text and link to online help
  • mode: either modal (denies concurrent working) or non-modal (allows concurrent modifications)
  • maximize/normalize buttons
  • re-sizable

Improvements:

  • auto-save/save reminder: check-box "save on exit" vs. alert box "Do you want to save changes?" ?
  • back-button support: preserve input when hitting the back- and forward-button. (how to do that?)

Wizard Dialog

A special type of dialog is a wizard. The wizard component represents a sequence of dialogs.

Contains:

  • wizard title, wizard description (or the inherited one)
  • multiple sub-views: one sub-view (dialog) for each step
  • navigational buttons (displayed horizontally, in that order): cancel, back, next/finish, finish (optional)

Any normal (existing) dialog can be displayed as a wizard (or in "wizard mode") as well. The default transformation is to use the tabs as different step screens.

It should be possible to specify validation criteria that decides if moving to the next step/finishing the wizard is allowed or not.

Content Dialog 

Another sub-type of the basic dialog that is used for the editing content paragraphs.

Contains:

  • navigational buttons to navigate through all contents within a collection: next content, previous content
    • what about the changes? suggestion: prompt "Do you want to save the changes?" with a check-box "Always save changes when navigating between contents"
  • language selector

New Features:

  • levels of content: "normal" (default, shows limited set of controls needed by most users) and "advanced" (shows all controls for advanced users)
  • role aware dialogs: display controls depending on the users permissions

Implementation Notes

Ideas:

  • what about using Dialog classes to load dialog definitions with Content2Bean?
  • Dialogs and generally every control needs JavaScript class equivalent
  • a Wizard is a special, compound dialog extending the base dialog component
  • No labels