Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Usability issues - Category titles

From MoodleDocs

Adjust the number of course per page of the course listing

Of course this is totally possible; it is a setting listed under front page settings which does not seem to me to be the most intuitive place for it. However, it can not be under courses because you really only browse courses from the front page. Everywhere else you are in a particular course. So perhaps the problem would be solved by changing the name of the category "front page" for "home page" or "site home page" although there is not much difference between both of them.

AJAX applied to admin menu and to the front page

AJAX just uses javascript to communicate with the server in the form of XML. There's no difference between javascript and AJAX, AJAX is an implementation of javascript.

JAVAX it is great for making sites a bit more responsive. Common examples include filling in drop down sub menus based on the users choice. For example, "please select the module category of the admin menu" -> "and the activity". The non ajax-y way would be to either load all possible submenus of the module category (that could be large and slow), and swap between them with something like an onSelect. Using ajax you can wait for the user to select the activity submenu, and bounce back to the server to get another submenu list, and then swap it in. Should send less data to the user, and be a bit more responsive.

However, as there are not many submenus (only the users and module categories have submenus), AJAX could not save much time in the admin menu.

Nevertheless, it could be useful in the front page when there are many courses and only the metacourses are wanted to be shown. This could be added as an option (but not the default one)

How does Moodle handle long lists?

There are several ways used to handle long lists:

  • # of entries per page: depends of the configuration
  • ways of indexing: cronologically, alphabetically or both
  • ways of sorting: cronologically, alphabetically or both
  • ways of filtering: cronologically, alphabetically, by key word, by role, by duration, by group, by course and by participants

Comparison of the various long lists (courses, students, participants, questions, etc.)

Table

Comparison of the various long lists
ID Name of the long list # entries per page Indexing Sorting Filtering Are the differences justified?
1 Courses Unlimited None Hierarchy and chronologically (through metacourses) General search (it is possible to search courses by name) Indexing: it is not strictly necessary to index the courses alphabetically mostly because course hierarchy is possible (thanks to metacourses). However, it would be useful indexing by the name of the first level of the hierarchy. Sorting: in some cases could be useful to sort alphabetically (specially when the number of courses is really big or teachers don't know how to use metacourses functionality). So sorting aphabetically could be a desirable option. Filtering: the filtering of courses is really poor. Courses should be filtered by teacher, by group or by date of creation.
2 Students Unlimited None Alphabetically without limiting the number of entries (both students and courses) Role and general search Filtering: perhaps it would be useful to filter students alphabetically (a letter and the symbol *) and by group (specially when the number of courses is really big) Indexing would reduce usability as the enrolment would be more complicate, so it is better not offering this functionality.
3 Participants 20 Chronologically by number(by default) and alphabetically Chronologically by number (by default) and alphabetically (every page has a limited number of participants per page) By course, by group, by period, by role Filtering: perhaps it would be useful to have a general search so participants could be searched per name / surname.
4 Questions 100 Chronologically by number Chronologically by number (it must be considered that there are several possibility to visit the questions / answers: threaded view or nested view) General search (and the most advanced search is possible: content, author, date, forum) Filtering: it would be useful to search by group (several groups can be associated to a course)
5 Recent activity All in all recent activity (although they appear by default 5 to the main page) None By activity name (theme) and within the themes by date. Can be ordered by course or date. Participants, activity and date Indexing: it would be more usable if there would be some indexing. This would be indexing chronologically by name (1 day ago, 1 week ago, etc.) when sorting by date is selected; and indexing by the name of the first level of the hierarchy when it is sorted by name. Filtering: it would be useful to filter by group.

Screenshots

Courses

Courses.JPG

Students

Students.JPG

Participants

Participants.JPG

Questions

Questions.JPG

Recent activity

Recentactivity.JPG Recent.JPG

Tasks

These are the tasks that should be obtained from the table of comparison of various long lists:

  1. Courses - Indexing: it is not strictly necessary to index the courses alphabetically mostly because course hierarchy is possible (thanks to metacourses). However, it would be useful indexing by the name of the first level of the hierarchy.
  2. Courses - Sorting: in some cases could be useful to sort alphabetically (specially when the number of courses is really big or teachers don't know how to use metacourses functionality). So sorting aphabetically could be a desirable option.
  3. Courses - Filtering: the filtering of courses is really poor. Courses should be filtered by teacher, by group or by date of creation.
  4. Students - Filtering: perhaps it would be useful to filter students alphabetically and by group (specially when the number of courses is really big)
  5. Participants - Filtering: perhaps it would be useful to have a general search so participants could be searched per name / surname.
  6. Questions - Filtering: it would be useful to search by group (several groups can be associated to a course)
  7. Recent activity - Indexing: it would be more usable if there would be some indexing. This would be indexing chronologically by name (1 day ago, 1 week ago, etc.) when sorting by date is selected; and indexing by the name of the first level of the hierarchy when it is sorted by name.
  8. Recent activity - Filtering: it would be useful to filter by group.

Another task would be changing "front page" of the admin menu by "home page" or "site home page".