My course overview improvements
This page will detail the technical specification for the improvements to the My course overview block.
|Improvements to my course overview block.|
The new design for the UI for the course overview block requires the ability for Moodle to efficiently query plugins for a list of "date based" tasks for the current user.
The existing "mod print_overview" callbacks do not have sufficient functionality (no separation of fields, inefficient, incomplete, no relation to completion API, inconsistently implemented across modules) so we will have to build a new API (and deprecate mod_xx_print_overview).
A user viewing the "My course overview" block will need to be able to see:
A list of tasks from activities with the following attributes:
- The name of the thing this relates to (default to the activity full name)
- The course this thing relates to (required)
- An icon (default to activity icon)
- A start date and time (optional)
- An end date and time (optional) - current prototype shows this - maybe it's not needed
- A count of items (e.g. 4 unread posts)
- Name of the task ("Submit assignment")
This list needs to be able to be ordered and paginated by, course, date, original course order.
This list needs to be able to be filtered by the course and start / end date.
The items in this list must obey the rules for module visibility. If the user cannot see the module they cannot see the task.
We need a way to determine a users course progress.
Course completion: For courses using completion this will be the % completed activities.
No course completion: For courses without course completion - this will be the active section number / the total number of sections - or some calculation based on course start / end date.