Note: You are currently viewing documentation for Moodle 2.6. Up-to-date documentation for the latest stable version of Moodle may be available here: Big Select List.

Development:Big Select List

From MoodleDocs
Revision as of 12:24, 13 July 2009 by Olli Savolainen (talk | contribs) (Undo revision 59635 by Pilpi (talk))

Moodle User Interface Guidelines > Big Select List

Note: This article is a work in progress. Please use the page comments or an appropriate moodle.org forum for any recommendations/suggestions for improvement.

This is a guideline for the Moodle User Interface Guidelines. Comments: developer forum thread


Problem

User needs to select one or more items from a potentially very large master list.

Context

You are designing a user interface for Moodle. (TODO: What else? Or remove section?)

Forces: factors that affect selection

  • If there are too many items in a list from which a user has to find items to select, finding what they need becomes difficult
    • The largest Moodle sites have hundreds of thousands of users, tens of thousands of courses, and some courses contain over a thousand students.
  • If there is a list with radio buttons it can be searched with the browser's find functionality, if the user knows it
  • The SELECT element in HTML can have multiple items in it selected by pushing an additional key on the keyboard while clicking with the mouse
    • requires quite intricate hand coordination which is probably too much for some of our users
    • the selection is easily lost by accident
    • users might not know about the additional key
  • A list with too many elements on it is very slow to load
  • A complete list of all options becomes awkward to work with before it reaches 100 entries, even if it is sorted alphabetically.
  • If interaction with the list (adding selection, searching) requires a new page load, it easily becomes very slow and it becomes less apparent what the application did in reaction to the user's action
  • Some users may not have javascript support on, so it cannot be depended on

Solution

Image 1: Big Select List (Moodle 2.0)
  • Put two select boxes side by side and buttons for adding and removing elements between them.
  • Under each select box, add a text field and a 'Search' button next to it. (In Moodle 1.9, only under the select box on the right)

Users can select one or more elements in one of the select lists, and press [◀ Add] or [Remove ▶] to move them to the other list.

Users can write a search term (which fields of the user's profile does this search?) and trigger the [Search] to have the list only show those users with data matching the search terms. This is the only way to use the UI in case there are too many users in the list and they can not be listed all at once.

Examples and implementation

TODO: Further explain the example below.

Assign course roles UI

Image 1: Big Select List (Moodle 2.0)
Image 2: Moodle 1.9 version of Big Select List with lots of selectable users

TODO: Create Development:Big Select List Implementation

Further information / Sources

TODO: Anyone, if you know of any, please add references if you know any other place this kind of an UI is discussed or described. Was it created originally for Moodle?