project: Moodle
summary: Collection of issues left from myoverview improvements epic
description: Report followups from the myoverview project here...

1.summary: Allow searching / filtering of courses in myoverview
description: We ve been evaluating the new course overview block on qa.moodle.net and think that users would significantly benefit from being able to search, order and hide courses displayed within the block. A good use case for this can be found when logging in as the default student account on qa.moodle.net and looking through the Courses view. At our institution, we have previously had user feedback that the original course overview block was hard to navigate and difficult for a user to quickly find a specific course. We have made several customisations over time to enable quicker access to courses including: Categorising the courses by year they are taught; Ability to reorder lists and hide courses from view in the block; Ability to favourite a course to make this display first and foremost for easy access !Screen Shot 2017-04-12 at 3.44.56 pm.png|thumbnail! Looking at the new course overview block (which offers some great new features the timeline concept is great) we foresee the experience of a user trying to find a particular course as being more challenging in the new design, especially for users who are enrolled in many courses. As mentioned above, the student account on qa.moodle.net provides a great example of this as the student is enrolled in 50 In progress courses and this is displayed as 9 pages of courses ordered alphabetically, making it very difficult to know where a course is located. As there is no way for a student to order their courses, any new enrolments may alter the page a course used to reside within meaning a student cannot remember which page number to find a course on. Our institution believe that the usability of this block would be greatly improved by allowing students to: Search / filter all enrolled courses within the Courses and Timeline view Hide / mute courses from displaying in the course overview block To provide some data around our institution, we run some stats and found: 12,487 users are enrolled in over 20 courses and 46 users are enrolled in over 100 courses 2 users are enrolled in over 900 courses (this is something we need to look at!) Our average user is enrolled in 12 courses We assume that we are relatively normal here and searching and filtering would be of use for many Moodle users !Screen Shot 2017-04-12 at 3.44.56 pm.png!
2.summary: Modify the calendar events table to allow any component to create action events
description: There are many components that should create events for the students dashboard that are not modules. We need to use the magic 4 columns instead of just modulename and instance. context, component, itemid and area. -- Comments about the implementation: - Added column "component" - The existing column "eventtype" can be used as "area" - The existing column "instanceid" can be used as "itemid" - The existing columns "courseid" and "categoryid" should be used as context, courseid=SITEID means system context, courseid= means course context, categoryid= means course category context. If neither courseid nor categoryid is specified, the event is considered to be user event and has a user context. Important! In this case if userid is not passed when creating event, the id of the current user is taken and event is considered to be his personal event. This is the current implementation/limitation of the calendar API and it is very difficult to change it.
3.summary: Build a better "My Courses" block - let student organise and hide courses
description: The current my courses block is not very clever. Students with a long list of courses can struggle to spot their course if some have similar names. It would be great to have some advanced features for example: the user can change the order the user can hide courses in the list the user can highlight courses in the list
4.summary: Teacher overview page of assignments that need attention
description: I would like to see a teacher overview page of assignments that need attention. Right now it looks like the My Moodle page handles this, but on the My Moodle page you only see assignments with an expiry date. I would like to see a page that shows ALL assignments that need to be reviewed by the teacher.
5.summary: Course in "Weeks" format can suggest the course end date automatically
description: Follow up for "course end date". Some course formats, for example format_weeks can automatically predict the course end_date = start_date + number_of_sections 7days. There are many ways how teacher can change number of sections (edit settings, delete sections, call course/changenumsections.php, restore, import, etc) Option 1: do not allow to modify course end date manually and automatically set it after each modification of number of sections. Option 2: add a warning (visible only to users with capability to edit course settings) when they view the course page. Something like "Course end date is set to X but it should be Y based on the start date Z and duration of N weeks. Adjust" And a quick action link to fix the end date without filling the form. There could be situations when the teacher decides to set end date different on purpose. But do we need to care about them? Should we add a setting that switches auto-adjust on and off or just always do it?
6.summary: Add block_course_overview to plugins DB
description: This needs to be done.
7.summary: Remove docs for calendar event hook
description: Its garbage. Also make sure any references on that page to the hook are removed as well.
8.summary: Remove any unnecessary require_once uses
description: There are a bunch of requires_once uses for the file calendar/lib.php in Moodle that may no longer be necessary due to moving the calendar_event class and functions from calendar/lib.php. We should remove these if possible.
9.summary: Make sure calendar does the correct thing with action events
description: For example - Display the action details in the event description (see prototype).
10.summary: Test accessibility of the myoverview block
description: Need to use a screen reader to test the accessibility of the myoverview block and fix up any issues.
11.summary: Review internal event API
description: If we have time it would be nice to have another look over the internal event API; Ive spotted a few things that could be improved but are not exactly critical. Example: We have an event vault factory when it is unnecessary (the vault is only ever instantiated in the core_container, nothing depends on it afaik).
12.summary: Allow a per user ordering of the courses in the myoverview dashboard
description: A user should be able to change the ordering of the courses in the "sort-by-courses" view of the myoverview block by dragging them into a different order. The ordering should be stored on a per user basis. edit: suggestion from linked issue that sort order should be matched in the "My courses" listing
13.summary: Show course image on the "timeline -> sort by courses" and "courses" tab
description: It would be nice to display the course image in the course elements of the timeline -> sort by courses and courses tab. Im not sure how we should display them yet. Needs more discussion.
14.summary: Create a user tour for the myoverview block
description: Add a user tour for the myoverview block.
15.summary: Refine action names and urls for assign and quiz for students
description: Dicussed this with Alberto and we need to refine the action names and urls for students for quiz and assignment. In these modules there is a summary page the student goes to from which they have a choice of actions to take. We could either duplicate all the possible choices in the dashboard or instead make the call to action text "view X summary" and take them to the summary page from which they can make a choice of how to proceed. An important state that demonstrate the problem is when an assignment attempt is re-opened. The student normally gets a choice to start a new blank attempt, or start an attempt based on their previous submission - this choice is denied if they go straight to the edit submission page. The decision was to change the call to action text to "View assignment summary" and show them the summary page for the assignment (instead of the edit submission page). Quiz is similar in that you do not want to start an attempt when following the call to action link. Instead the link should be "View quiz summary" which goes to the summary of the quiz from which you have an action button to start an attempt.
16.summary: Review all activities after new completion action events
description: will introduce action events in the completion API. We need to review all callbacks (and add any missing ones) for the activities to ensure that these events are shown appropriately on the My overview block.
17.summary: Investigate creating teacher events for lesson module
description: From a comment on : "The assignment module now puts up an event for teachers who have assignments needing grading and there is a discussion here: ( about how to handle that for quiz. Since the lesson module also has manually graded questions, are there any plans to introduce an event for teachers to notify them about items needing grading?"
18.summary: Review strings in prototype
description: Some of the strings could be changed (eg. No in progress courses).
19.summary: Performance test the myoverview block on the dashboard
description: Create a huge site with tens of thousands of users, courses, activities, and events to see how the dashboard code holds up.
20.summary: Paginate the sort-by-courses page in the timeline view
description: The sort-by-courses page in the timeline view currently shows all of the in-progress courses that the user is enrolled in which results in a big request to the server to get all of the events for each of those courses. Instead we should only show the first 6 courses (consistent with the courses tab) and then show a "More courses" button at the bottom of the list to load the next 6 courses. When that button is clicked it should send a single request to the server to get the events for the next 6 courses and then render the result at the bottom of the list.
21.summary: Improve UI to better indicate what sort by dates and sort by courses means for events
description: The "sort by dates" view will show events from courses which have passed and/or future courses, whereas the "sort by courses" view does not. The problem can be replicated using the script from - after running it youll see events from all courses in the sort by dates view, but in the sort by courses view you will not see all the courses. Im unsure if this is wrong or not. To me both sets should be identical to the user, they are simply different views of the same data as far as a user is concerned. But it requires discussion.
22.summary: Add unit test for calendar exporters
description: We need unit tests for calendar exporters, would be good to add those on calendar/externallib_test.php to prevent future regressions.
23.summary: Move courses to "past" tab on the dashboard when they are completed (course completion)
description: Update the display grouping logic (past, in-progress, and future) in the courses view to match the following logic: . Past Course completed OR Current date is after end date . In-progress Course NOT completed AND Current date is after start date AND (Current date is before end date OR no end date) . Future Start date > Current date AND Course NOT completed -At the moment courses that have a start date (in the past) and no end date are considered to be "in-progress" on the my overview block indefinitely (or until an end date is added and then passed).- -While this is semantically correct, it has been raised on that it may not represent a good user experience (which is the most important thing).- -We need to decide is were happy with how this is currently working or if there is a better alternative.- -Note that the course end date doesnt currently affect the visibility of events in the my overview block. The events will only display if they have an end date set specifically for that event (e.g. a due date for an assignment), they do not use the course end date. If there is no due date for the event then the event will not appear in the dashboard.-
24.summary: Add more details for third party developers
description: We should add some details to mod/upgrade.txt about the new callbacks as well as updating the PHPDocs for these functions so they are more descriptive. Eg. Handles creating actions for events. is very vague. It should also be listed in the docs at
25.summary: It is not clear what the percentage shown for the course represents
description: We are using the completion API to determine what percentage of items the user has completed that have completion criteria but this is not clear. The user does not realise that this is only for activities that have completion criteria set.
26.summary: Add issue number to functions that were deprecated
description: The _print_overview functions were deprecated and was created to deal with the final deprecation. We should include this issue number in the PHPDocs. Some of the calendar/lib.php functions were deprecated and put in lib/deprecatedlib.php and is going to deal with the final deprecation. We should include this issue number in the PHPDocs.
27.summary: Write user docs for how new overview block works
description: In addition to the general documentation for the block we need to make sure we specifically cover off: What is the criteria used to determine if a course should appear in past, in-progress, or future. What is the criteria for events to show on the sort by dates view What is the criteria for events to show on the sort by courses view How is the progress percentage being calculated for courses Make sure is up to date Detail the criteria for how action events show on the course overview dashboard each core activity (e.g. Does it use activity completion or not? Does it use availability dates? When does it get removed from the block?)
28.summary: Write dev docs for how to use the overview block
description: Add dev documentation to explain how to use the new overview block. Explain: Need to create action events (not just regular events) Implement the appropriate call backs Explain that the "And I follow course" behat step wont work from the dashboard anymore but weve added a new step in its place
29.summary: Add work around for courses in weekly format with no end date to calculate from number of weeks
description: It was raised in that in cases where the course format is set to weekly and no course end date is set that we could calculate the end date by the start date + number of weeks and use that to categorise into "in-progress" or "past" within the block. has already been raised to address this in core however it not as trivial of a problem as it may seem. This issue is specifically to add a work around in the overview block while the actual problem is addressed in core.
30.summary: Use activity completion when determining if an event has an action in activities with availability dates
description: For activities that have a specific availability section (to and from dates) we dont take into account completion settings at all however Ankit raised a good point that we should check for activity completion when determining if there is an action for the event. E.g. database, scorm etc. If the activity is considered complete (according to the completion rules) then there is nothing for the user to do so we should remove it from their overview dashboard. We should modify the component callbacks for these modules to check for activity completion when determining if they should return an action.
31.summary: Improve labels on overview block to indicate what the dates refer to
description: The date that is displayed on the overview block for the action events isnt always the same for all activities of the same type. For example, in activities that have an available from and available to date we will use the available to date, if its set, otherwise well use the from date. This means that sometimes the date refers to when the activity opens and other times it refers to when the activity closes. It would be good to indicate visually which of the two the date is representing for that event so that users dont accidentally think a closing date is an opening date. See scorm for an example of the availability dates.
32.summary: Remove start and end dates from courses in overview block
description: Martin has said that hed like the start and end dates removed from the courses in the overview block. Martin, Al and I had a quick discussion about it and we agreed that it is reasonable to remove them as they dont offer that much value (and seem to be confusing people). The course start and end dates appear on the course elements in both the "Courses" tab and "sort by courses" view in the timeline tab. We only need to remove them from the templates, its fine to still have them returned by the web services.
33.summary: "Future courses" is confusing in course overview block
description: If a course has its start date in the future and the student is not enrolled until that start date then the course will not appear in the Future courses tab of the overview block. If the course has it start date in the future and the student is enrolled prior to that date, then the course appears in the Future courses tab. However... ... the student can access this course and do any activities in it. It seems pointless having it in the Future tab if they can access it now. I would expect a Future course to be visible but greyed out,until the date the student gets acces to it.
34.summary: Improve the action text for events that are actionable in the future
description: At the moment when we have an event that is not yet actionable but will be at some point in the future we display it in the overview block with grey text using the same string as the action link when the event is actionable. For example, the choice activity shows "View choices" in grey when the event is not yet actionable and that text changes to a link when the event is actionable. There has been some feedback that this is confusing (and I agree) because it doesnt really give any indication to the user why the text is not a link nor does it indicate to the user when the event will become actionable. I think that in the cases where an event will become actionable some time in the future we should set the action text to something that indicates that, for example in the choice activity example it could read "Available from 1st of Jan" (the correct date here obviously) rather than "View choices" to give the user some more information. This is not limited to the choices activity, it affects all of the activities that use the "availability" settings for creating the events.
35.summary: Future Addon? - Add final grade to course overview page
description: This would keep all relevant course information on one page and eliminate the need for the grades overview page.
36.summary: Add infinite scrolling to courses view
description: Rather than have pagination on the courses view we should change it to infinite scrolling with a "view more" button, similar to the timeline view.
37.summary: My-overview - Implement the recommendations from integrators
description: As part of the integration review for the my-overview block, David and Dan identified a number of potential simplifications of the design. These have been echoed by most of the senior devs as soon as they reviewed the code in depth and it is worth investigating these recommendations further to save ourselves bugs/maintenance costs in the future.
38.summary: Display new forum posts on the new overview block or dashboard
description: New forum posts is something that was present in the 3.2 course overview block but disappeared in the 3.3 block. If forum does not have activity completion it is not displayed on the timeline
39.summary: No way to navigate to the activitys course from the dashboard timeline
description: Use case I just ran into: There is a course with a URL resource with manually-marked completion set. The URL resource takes the user to an external page (such as a Google docs spreadsheet) Expected bahaviour: There should be a way to navigate to the course containing the activity so that I can mark it as completed. Current behaviour: Clicking either the activity name or the View link takes me to the external page, no easy way to get into the course. barbararamiro explained that the course names used to be links in early mockups but were found to clutter the UI too much. Maybe the "View" link could have the ?redirect=0 added in this particular case so that the users always end on the activity page, whereas clicking the activity name would take them to the external page.
40.summary: Allow courses to be shown as a simple list in Course overview
description: The current overview block shows courses as large blocks. Students with lots of courses have to navigate through many pages. If one doesnt care about the progress feature (we dont) it would be good to be able to change the view to a simple list. Preferably a user option.
41.summary: Course overview: hidden courses are not styled differently to visible ones
description: As above. A teacher viewing the Course overview cannot differentiate hidden courses from visible ones. Its really useful to have some sort of visual cue that a course is hidden as its often a source of confusion - "students cant find the course"
42.summary: My overview: provide option to remove past/current/future courses tabs
description: This has proved to be a source of confusion without providing any clear benefit. It would be useful to have an option to simply display all courses and remove the tabs. Preferably on a user-by-user basis.
43.summary: "More.." under My Courses in navigation should link to the Dashboard
description: When the user has a number of courses exceeding the number set in _navcourselimit_, there is the option "More..." under My Courses in the navigation menu. This leads to the all courses page instead of showing only all the user ones. Instead, the "More..." option in the navigation menu should go to the dashboard (instead of the all courses page), but showing only all the user courses, also hidden ones, as when clicking "Show all courses" on the dashboard.
44.summary: Course overview unusable for users with large numbers of courses. Allow different view
description: For users with a number of courses that amounts to more than two or three pages, the course overview is, in reality, completely useless. Especially as the courses cannot be ordered in any meaningful way. I encountered a user this morning who has sufficient (genuine) enrolments to amount to 25 pages in the course overview. In effect, they cannot find their courses. This is not unique. As I have pointed out elsewhere, this block seems to have been created with no thought to such users and there has been no option to search, order or otherwise filter courses. Some suggestions... Allow a file browser set of options such that the a standard list of courses can be shown (we dont care about progress - especially in this context) Allow a search () Allow user-specified ordering. () See attached screen-shot of actual user dashboard I appreciate that this repeats some similar tickets but I wanted to make this regression absolutely clear along with just how bad its going to be on large sites.
45.summary: Add "counts" of courses to Course overview tabs
description: We have a lot of feedback that past and future courses have effectively become invisible to users. They dont see and dont understand the tabs. Would it be possible to add some annotation to the tabs to give a visual clue that "something is there"? What about a brightly coloured dot with a count of the courses in it (Facebook style). See attached image for a badly-drawn example.
46.summary: Choose criteria for course classification of "Past", "In Progress", or "Future"
description: (Exact dates in steps to reproduce are irrelevant and just used as an example) Create a course with a start date in the past (1/1/2017) and end date some time in the future (12/31/2018). Enroll a user with an enrollment start date after the course start (3/1/2017) and an end date before the courses end date +and+ before today (9/1/2017). Login as user and review the Course Overview (myoverview) block. Current behavior: Course does not show up in any classification because user is not technically enrolled. Desired behavior: Course listed in "Past" courses. Most of our organizations courses are eternal in that the start date is some time ago and there is no end date. A user is granted access for a specific amount of time, 6 months commonly. In this scenario, the new myoverview blocks classifications of "Past", "In Progress", and "Future" courses is irrelevant and confusing. If I took Course A last month, I expect Course A to show up in "Past" courses. Is it useful to the community in this case to allow administrators to select one of two desired behaviors for the myoverview block? Current behavior based on course start and end dates New behavior based on users enrollment timestart and timeend values in the DB. I know as far as Moodle is concerned, technically the user is no longer enrolled so the course doesnt get included at all, but as this currently works, it is going to be more confusing than helpful to a lot of our users.

Below is an instruction that describes a task, paired with an input that provides an epic with this format: 
"project": "Name of the project" 
"summary": "Summary of the epic user story" 
"description": "Description of the epic user story". Write a response that appropriately completes the request.### Instruction:
Break this epic user story into smaller tasks to help the developers understand the epic better, you can divide this epic into as much as you want depending on the complexity of the epic.
### Input:
project: Moodle
summary: Collection of issues left from myoverview improvements epic
description: Report followups from the myoverview project here...

### Response:
1.summary: Allow searching / filtering of courses in myoverview
description: We ve been evaluating the new course overview block on qa.moodle.net and think that users would significantly benefit from being able to search, order and hide courses displayed within the block. A good use case for this can be found when logging in as the default student account on qa.moodle.net and looking through the Courses view. At our institution, we have previously had user feedback that the original course overview block was hard to navigate and difficult for a user to quickly find a specific course. We have made several customisations over time to enable quicker access to courses including: Categorising the courses by year they are taught; Ability to reorder lists and hide courses from view in the block; Ability to favourite a course to make this display first and foremost for easy access !Screen Shot 2017-04-12 at 3.44.56 pm.png|thumbnail! Looking at the new course overview block (which offers some great new features the timeline concept is great) we foresee the experience of a user trying to find a particular course as being more challenging in the new design, especially for users who are enrolled in many courses. As mentioned above, the student account on qa.moodle.net provides a great example of this as the student is enrolled in 50 In progress courses and this is displayed as 9 pages of courses ordered alphabetically, making it very difficult to know where a course is located. As there is no way for a student to order their courses, any new enrolments may alter the page a course used to reside within meaning a student cannot remember which page number to find a course on. Our institution believe that the usability of this block would be greatly improved by allowing students to: Search / filter all enrolled courses within the Courses and Timeline view Hide / mute courses from displaying in the course overview block To provide some data around our institution, we run some stats and found: 12,487 users are enrolled in over 20 courses and 46 users are enrolled in over 100 courses 2 users are enrolled in over 900 courses (this is something we need to look at!) Our average user is enrolled in 12 courses We assume that we are relatively normal here and searching and filtering would be of use for many Moodle users !Screen Shot 2017-04-12 at 3.44.56 pm.png!
2.summary: Modify the calendar events table to allow any component to create action events
description: There are many components that should create events for the students dashboard that are not modules. We need to use the magic 4 columns instead of just modulename and instance. context, component, itemid and area. -- Comments about the implementation: - Added column "component" - The existing column "eventtype" can be used as "area" - The existing column "instanceid" can be used as "itemid" - The existing columns "courseid" and "categoryid" should be used as context, courseid=SITEID means system context, courseid= means course context, categoryid= means course category context. If neither courseid nor categoryid is specified, the event is considered to be user event and has a user context. Important! In this case if userid is not passed when creating event, the id of the current user is taken and event is considered to be his personal event. This is the current implementation/limitation of the calendar API and it is very difficult to change it.
3.summary: Build a better "My Courses" block - let student organise and hide courses
description: The current my courses block is not very clever. Students with a long list of courses can struggle to spot their course if some have similar names. It would be great to have some advanced features for example: the user can change the order the user can hide courses in the list the user can highlight courses in the list
4.summary: Teacher overview page of assignments that need attention
description: I would like to see a teacher overview page of assignments that need attention. Right now it looks like the My Moodle page handles this, but on the My Moodle page you only see assignments with an expiry date. I would like to see a page that shows ALL assignments that need to be reviewed by the teacher.
5.summary: Course in "Weeks" format can suggest the course end date automatically
description: Follow up for "course end date". Some course formats, for example format_weeks can automatically predict the course end_date = start_date + number_of_sections 7days. There are many ways how teacher can change number of sections (edit settings, delete sections, call course/changenumsections.php, restore, import, etc) Option 1: do not allow to modify course end date manually and automatically set it after each modification of number of sections. Option 2: add a warning (visible only to users with capability to edit course settings) when they view the course page. Something like "Course end date is set to X but it should be Y based on the start date Z and duration of N weeks. Adjust" And a quick action link to fix the end date without filling the form. There could be situations when the teacher decides to set end date different on purpose. But do we need to care about them? Should we add a setting that switches auto-adjust on and off or just always do it?
6.summary: Add block_course_overview to plugins DB
description: This needs to be done.
7.summary: Remove docs for calendar event hook
description: Its garbage. Also make sure any references on that page to the hook are removed as well.
8.summary: Remove any unnecessary require_once uses
description: There are a bunch of requires_once uses for the file calendar/lib.php in Moodle that may no longer be necessary due to moving the calendar_event class and functions from calendar/lib.php. We should remove these if possible.
9.summary: Make sure calendar does the correct thing with action events
description: For example - Display the action details in the event description (see prototype).
10.summary: Test accessibility of the myoverview block
description: Need to use a screen reader to test the accessibility of the myoverview block and fix up any issues.
11.summary: Review internal event API
description: If we have time it would be nice to have another look over the internal event API; Ive spotted a few things that could be improved but are not exactly critical. Example: We have an event vault factory when it is unnecessary (the vault is only ever instantiated in the core_container, nothing depends on it afaik).
12.summary: Allow a per user ordering of the courses in the myoverview dashboard
description: A user should be able to change the ordering of the courses in the "sort-by-courses" view of the myoverview block by dragging them into a different order. The ordering should be stored on a per user basis. edit: suggestion from linked issue that sort order should be matched in the "My courses" listing
13.summary: Show course image on the "timeline -> sort by courses" and "courses" tab
description: It would be nice to display the course image in the course elements of the timeline -> sort by courses and courses tab. Im not sure how we should display them yet. Needs more discussion.
14.summary: Create a user tour for the myoverview block
description: Add a user tour for the myoverview block.
15.summary: Refine action names and urls for assign and quiz for students
description: Dicussed this with Alberto and we need to refine the action names and urls for students for quiz and assignment. In these modules there is a summary page the student goes to from which they have a choice of actions to take. We could either duplicate all the possible choices in the dashboard or instead make the call to action text "view X summary" and take them to the summary page from which they can make a choice of how to proceed. An important state that demonstrate the problem is when an assignment attempt is re-opened. The student normally gets a choice to start a new blank attempt, or start an attempt based on their previous submission - this choice is denied if they go straight to the edit submission page. The decision was to change the call to action text to "View assignment summary" and show them the summary page for the assignment (instead of the edit submission page). Quiz is similar in that you do not want to start an attempt when following the call to action link. Instead the link should be "View quiz summary" which goes to the summary of the quiz from which you have an action button to start an attempt.
16.summary: Review all activities after new completion action events
description: will introduce action events in the completion API. We need to review all callbacks (and add any missing ones) for the activities to ensure that these events are shown appropriately on the My overview block.
17.summary: Investigate creating teacher events for lesson module
description: From a comment on : "The assignment module now puts up an event for teachers who have assignments needing grading and there is a discussion here: ( about how to handle that for quiz. Since the lesson module also has manually graded questions, are there any plans to introduce an event for teachers to notify them about items needing grading?"
18.summary: Review strings in prototype
description: Some of the strings could be changed (eg. No in progress courses).
19.summary: Performance test the myoverview block on the dashboard
description: Create a huge site with tens of thousands of users, courses, activities, and events to see how the dashboard code holds up.
20.summary: Paginate the sort-by-courses page in the timeline view
description: The sort-by-courses page in the timeline view currently shows all of the in-progress courses that the user is enrolled in which results in a big request to the server to get all of the events for each of those courses. Instead we should only show the first 6 courses (consistent with the courses tab) and then show a "More courses" button at the bottom of the list to load the next 6 courses. When that button is clicked it should send a single request to the server to get the events for the next 6 courses and then render the result at the bottom of the list.
21.summary: Improve UI to better indicate what sort by dates and sort by courses means for events
description: The "sort by dates" view will show events from courses which have passed and/or future courses, whereas the "sort by courses" view does not. The problem can be replicated using the script from - after running it youll see events from all courses in the sort by dates view, but in the sort by courses view you will not see all the courses. Im unsure if this is wrong or not. To me both sets should be identical to the user, they are simply different views of the same data as far as a user is concerned. But it requires discussion.
22.summary: Add unit test for calendar exporters
description: We need unit tests for calendar exporters, would be good to add those on calendar/externallib_test.php to prevent future regressions.
23.summary: Move courses to "past" tab on the dashboard when they are completed (course completion)
description: Update the display grouping logic (past, in-progress, and future) in the courses view to match the following logic: . Past Course completed OR Current date is after end date . In-progress Course NOT completed AND Current date is after start date AND (Current date is before end date OR no end date) . Future Start date > Current date AND Course NOT completed -At the moment courses that have a start date (in the past) and no end date are considered to be "in-progress" on the my overview block indefinitely (or until an end date is added and then passed).- -While this is semantically correct, it has been raised on that it may not represent a good user experience (which is the most important thing).- -We need to decide is were happy with how this is currently working or if there is a better alternative.- -Note that the course end date doesnt currently affect the visibility of events in the my overview block. The events will only display if they have an end date set specifically for that event (e.g. a due date for an assignment), they do not use the course end date. If there is no due date for the event then the event will not appear in the dashboard.-
24.summary: Add more details for third party developers
description: We should add some details to mod/upgrade.txt about the new callbacks as well as updating the PHPDocs for these functions so they are more descriptive. Eg. Handles creating actions for events. is very vague. It should also be listed in the docs at
25.summary: It is not clear what the percentage shown for the course represents
description: We are using the completion API to determine what percentage of items the user has completed that have completion criteria but this is not clear. The user does not realise that this is only for activities that have completion criteria set.
26.summary: Add issue number to functions that were deprecated
description: The _print_overview functions were deprecated and was created to deal with the final deprecation. We should include this issue number in the PHPDocs. Some of the calendar/lib.php functions were deprecated and put in lib/deprecatedlib.php and is going to deal with the final deprecation. We should include this issue number in the PHPDocs.
27.summary: Write user docs for how new overview block works
description: In addition to the general documentation for the block we need to make sure we specifically cover off: What is the criteria used to determine if a course should appear in past, in-progress, or future. What is the criteria for events to show on the sort by dates view What is the criteria for events to show on the sort by courses view How is the progress percentage being calculated for courses Make sure is up to date Detail the criteria for how action events show on the course overview dashboard each core activity (e.g. Does it use activity completion or not? Does it use availability dates? When does it get removed from the block?)
28.summary: Write dev docs for how to use the overview block
description: Add dev documentation to explain how to use the new overview block. Explain: Need to create action events (not just regular events) Implement the appropriate call backs Explain that the "And I follow course" behat step wont work from the dashboard anymore but weve added a new step in its place
29.summary: Add work around for courses in weekly format with no end date to calculate from number of weeks
description: It was raised in that in cases where the course format is set to weekly and no course end date is set that we could calculate the end date by the start date + number of weeks and use that to categorise into "in-progress" or "past" within the block. has already been raised to address this in core however it not as trivial of a problem as it may seem. This issue is specifically to add a work around in the overview block while the actual problem is addressed in core.
30.summary: Use activity completion when determining if an event has an action in activities with availability dates
description: For activities that have a specific availability section (to and from dates) we dont take into account completion settings at all however Ankit raised a good point that we should check for activity completion when determining if there is an action for the event. E.g. database, scorm etc. If the activity is considered complete (according to the completion rules) then there is nothing for the user to do so we should remove it from their overview dashboard. We should modify the component callbacks for these modules to check for activity completion when determining if they should return an action.
31.summary: Improve labels on overview block to indicate what the dates refer to
description: The date that is displayed on the overview block for the action events isnt always the same for all activities of the same type. For example, in activities that have an available from and available to date we will use the available to date, if its set, otherwise well use the from date. This means that sometimes the date refers to when the activity opens and other times it refers to when the activity closes. It would be good to indicate visually which of the two the date is representing for that event so that users dont accidentally think a closing date is an opening date. See scorm for an example of the availability dates.
32.summary: Remove start and end dates from courses in overview block
description: Martin has said that hed like the start and end dates removed from the courses in the overview block. Martin, Al and I had a quick discussion about it and we agreed that it is reasonable to remove them as they dont offer that much value (and seem to be confusing people). The course start and end dates appear on the course elements in both the "Courses" tab and "sort by courses" view in the timeline tab. We only need to remove them from the templates, its fine to still have them returned by the web services.
33.summary: "Future courses" is confusing in course overview block
description: If a course has its start date in the future and the student is not enrolled until that start date then the course will not appear in the Future courses tab of the overview block. If the course has it start date in the future and the student is enrolled prior to that date, then the course appears in the Future courses tab. However... ... the student can access this course and do any activities in it. It seems pointless having it in the Future tab if they can access it now. I would expect a Future course to be visible but greyed out,until the date the student gets acces to it.
34.summary: Improve the action text for events that are actionable in the future
description: At the moment when we have an event that is not yet actionable but will be at some point in the future we display it in the overview block with grey text using the same string as the action link when the event is actionable. For example, the choice activity shows "View choices" in grey when the event is not yet actionable and that text changes to a link when the event is actionable. There has been some feedback that this is confusing (and I agree) because it doesnt really give any indication to the user why the text is not a link nor does it indicate to the user when the event will become actionable. I think that in the cases where an event will become actionable some time in the future we should set the action text to something that indicates that, for example in the choice activity example it could read "Available from 1st of Jan" (the correct date here obviously) rather than "View choices" to give the user some more information. This is not limited to the choices activity, it affects all of the activities that use the "availability" settings for creating the events.
35.summary: Future Addon? - Add final grade to course overview page
description: This would keep all relevant course information on one page and eliminate the need for the grades overview page.
36.summary: Add infinite scrolling to courses view
description: Rather than have pagination on the courses view we should change it to infinite scrolling with a "view more" button, similar to the timeline view.
37.summary: My-overview - Implement the recommendations from integrators
description: As part of the integration review for the my-overview block, David and Dan identified a number of potential simplifications of the design. These have been echoed by most of the senior devs as soon as they reviewed the code in depth and it is worth investigating these recommendations further to save ourselves bugs/maintenance costs in the future.
38.summary: Display new forum posts on the new overview block or dashboard
description: New forum posts is something that was present in the 3.2 course overview block but disappeared in the 3.3 block. If forum does not have activity completion it is not displayed on the timeline
39.summary: No way to navigate to the activitys course from the dashboard timeline
description: Use case I just ran into: There is a course with a URL resource with manually-marked completion set. The URL resource takes the user to an external page (such as a Google docs spreadsheet) Expected bahaviour: There should be a way to navigate to the course containing the activity so that I can mark it as completed. Current behaviour: Clicking either the activity name or the View link takes me to the external page, no easy way to get into the course. barbararamiro explained that the course names used to be links in early mockups but were found to clutter the UI too much. Maybe the "View" link could have the ?redirect=0 added in this particular case so that the users always end on the activity page, whereas clicking the activity name would take them to the external page.
40.summary: Allow courses to be shown as a simple list in Course overview
description: The current overview block shows courses as large blocks. Students with lots of courses have to navigate through many pages. If one doesnt care about the progress feature (we dont) it would be good to be able to change the view to a simple list. Preferably a user option.
41.summary: Course overview: hidden courses are not styled differently to visible ones
description: As above. A teacher viewing the Course overview cannot differentiate hidden courses from visible ones. Its really useful to have some sort of visual cue that a course is hidden as its often a source of confusion - "students cant find the course"
42.summary: My overview: provide option to remove past/current/future courses tabs
description: This has proved to be a source of confusion without providing any clear benefit. It would be useful to have an option to simply display all courses and remove the tabs. Preferably on a user-by-user basis.
43.summary: "More.." under My Courses in navigation should link to the Dashboard
description: When the user has a number of courses exceeding the number set in _navcourselimit_, there is the option "More..." under My Courses in the navigation menu. This leads to the all courses page instead of showing only all the user ones. Instead, the "More..." option in the navigation menu should go to the dashboard (instead of the all courses page), but showing only all the user courses, also hidden ones, as when clicking "Show all courses" on the dashboard.
44.summary: Course overview unusable for users with large numbers of courses. Allow different view
description: For users with a number of courses that amounts to more than two or three pages, the course overview is, in reality, completely useless. Especially as the courses cannot be ordered in any meaningful way. I encountered a user this morning who has sufficient (genuine) enrolments to amount to 25 pages in the course overview. In effect, they cannot find their courses. This is not unique. As I have pointed out elsewhere, this block seems to have been created with no thought to such users and there has been no option to search, order or otherwise filter courses. Some suggestions... Allow a file browser set of options such that the a standard list of courses can be shown (we dont care about progress - especially in this context) Allow a search () Allow user-specified ordering. () See attached screen-shot of actual user dashboard I appreciate that this repeats some similar tickets but I wanted to make this regression absolutely clear along with just how bad its going to be on large sites.
45.summary: Add "counts" of courses to Course overview tabs
description: We have a lot of feedback that past and future courses have effectively become invisible to users. They dont see and dont understand the tabs. Would it be possible to add some annotation to the tabs to give a visual clue that "something is there"? What about a brightly coloured dot with a count of the courses in it (Facebook style). See attached image for a badly-drawn example.
46.summary: Choose criteria for course classification of "Past", "In Progress", or "Future"
description: (Exact dates in steps to reproduce are irrelevant and just used as an example) Create a course with a start date in the past (1/1/2017) and end date some time in the future (12/31/2018). Enroll a user with an enrollment start date after the course start (3/1/2017) and an end date before the courses end date +and+ before today (9/1/2017). Login as user and review the Course Overview (myoverview) block. Current behavior: Course does not show up in any classification because user is not technically enrolled. Desired behavior: Course listed in "Past" courses. Most of our organizations courses are eternal in that the start date is some time ago and there is no end date. A user is granted access for a specific amount of time, 6 months commonly. In this scenario, the new myoverview blocks classifications of "Past", "In Progress", and "Future" courses is irrelevant and confusing. If I took Course A last month, I expect Course A to show up in "Past" courses. Is it useful to the community in this case to allow administrators to select one of two desired behaviors for the myoverview block? Current behavior based on course start and end dates New behavior based on users enrollment timestart and timeend values in the DB. I know as far as Moodle is concerned, technically the user is no longer enrolled so the course doesnt get included at all, but as this currently works, it is going to be more confusing than helpful to a lot of our users.
