Subtle changes in Moodle 3.5

Subtle changes in Moodle 3.5

by Joost Elshoff -
Number of replies: 4
Picture of Particularly helpful Moodlers Picture of Testers

Hi all,

Although this was not very clear in the release notes of Moodle 3.5, some of our clients have noticed a subtle change to the interface that has a lot of impact on the way they're using the LMS:

Up to Moodle 3.4, users enrolled in more than 10 courses would have a More... button in their nav bar under My courses, that pointed to moodle.instance/course/index.php.

In Moodle 3.5, this was changed to always point to moodle.instance/my/, regardless of whether the Dashboard page has been set up to display the My Overview block (or custom blocks with similar functions). 

Although it makes sense to point users to their own list of enrolled courses instead of the full list of visible courses and categories in Moodle instances, there are situations where organizations are confronted with having to change the way they're using Moodle:

  • The organization has set up Moodle so all users enter through the general Site home instead of the Dashboard page. Users then use the nav bar to either directly go to one of their courses or the More... button to search for the right course (or navigate through categories and courses).
  • The organization wishes to show all users the full structure of available categories and courses, so users can self enroll in any courses they come across (now only available if this has been set up in Site home). 
  • The organization has onboarded 1000+ users with over 10 courses each to have them navigate to their courses through More... pointing to /course/index.php, even if they're also using the My Overview block on /my/.
  • ...

In any case, wouldn't it be a more elegant solution to provide site admins with an option to modify where the More... button should point (either course/index.php or /my/)?

Average of ratings: -
In reply to Joost Elshoff

Re: Subtle changes in Moodle 3.5

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I think there is a general lack of appreciation that some users (particularly teachers) in large institutions can have LOTS of courses. We have many who are enrolled in 30+ courses. 

Moodle doesn't handle this well at all. In fact, it's actually getting worse. 

I appreciate the need to "keep up" with the highly visual look of Canvas but not at the expense of many users. We don't all just have 3 or 4 courses.

Average of ratings: Useful (3)
In reply to Howard Miller

Re: Subtle changes in Moodle 3.5

by Joost Elshoff -
Picture of Particularly helpful Moodlers Picture of Testers

To add to my original post, I found the following code in lib/navigationlib.php

In Moodle 3.4 (and before):

 $showmorelinkinnav = $numtotalcourses > $numshowncourses;
        $showmorelinkinflatnav = $numtotalflatnavcourses > $numshownflatnavcourses;
        // Show a link to the course page if there are more courses the user is enrolled in.
        if ($showmorelinkinnav || $showmorelinkinflatnav) {
            // Adding hash to URL so the link is not highlighted in the navigation when clicked.
            $url = new moodle_url('/course/index.php#');
            $parent = $this->rootnodes['mycourses'];
            $coursenode = $parent->add(get_string('morenavigationlinks'), $url, self::TYPE_CUSTOM, null, self::COURSE_INDEX_PAGE);
            if ($showmorelinkinnav) {
                $coursenode->display = true;
            }
            if ($showmorelinkinflatnav) {
                $coursenode->showinflatnavigation = true;
            }
        }

In Moodle 3.5:

 $showmorelinkinnav = $numtotalcourses > $numshowncourses;
        $showmorelinkinflatnav = $numtotalflatnavcourses > $numshownflatnavcourses;
        // Show a link to the course page if there are more courses the user is enrolled in.
        if ($showmorelinkinnav || $showmorelinkinflatnav) {
            // Adding hash to URL so the link is not highlighted in the navigation when clicked.
            $url = new moodle_url('/my/?myoverviewtab=courses');
            $parent = $this->rootnodes['mycourses'];
            $coursenode = $parent->add(get_string('morenavigationlinks'), $url, self::TYPE_CUSTOM, null, self::COURSE_INDEX_PAGE);
            if ($showmorelinkinnav) {
                $coursenode->display = true;
            }
            if ($showmorelinkinflatnav) {
                $coursenode->showinflatnavigation = true;
            }
        }
In reply to Joost Elshoff

Re: Subtle changes in Moodle 3.5

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
git blame -L 3026,3046 navigationlib.php
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3026)                 $node->display = false;
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3027)                 $node->showinflatnavigation = true;
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3028)             }
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3029)         }
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3030)
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3031)         $showmorelinkinnav = $numtotalcourses > $numshowncourses;
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3032)         $showmorelinkinflatnav = $numtotalflatnavcourses > $numshownflatnavcourses;
fa238237a0ce (Mark Nelson    2017-06-09 12:56:25 +0800 3033)         // Show a link to the course page if there are more courses the user is enrolled in.
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3034)         if ($showmorelinkinnav || $showmorelinkinflatnav) {
fa238237a0ce (Mark Nelson    2017-06-09 12:56:25 +0800 3035)             // Adding hash to URL so the link is not highlighted in the navigation when clicked.
c0aca8f3c7f9 (Farhan Karmali 2017-12-29 14:40:55 +0530 3036)             $url = new moodle_url('/my/?myoverviewtab=courses');
fa238237a0ce (Mark Nelson    2017-06-09 12:56:25 +0800 3037)             $parent = $this->rootnodes['mycourses'];
fa238237a0ce (Mark Nelson    2017-06-09 12:56:25 +0800 3038)             $coursenode = $parent->add(get_string('morenavigationlinks'), $url, self::TYPE_CUSTOM, null, self::COURSE_INDEX_PAGE);
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3039)
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3040)             if ($showmorelinkinnav) {
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3041)                 $coursenode->display = true;
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3042)             }
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3043)
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3044)             if ($showmorelinkinflatnav) {
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3045)                 $coursenode->showinflatnavigation = true;
3dabb083ad2d (Mark Nelson    2017-06-15 12:14:29 +0800 3046)             }

So....

git show c0aca8f3c7f9
commit c0aca8f3c7f9d24a3834d21a6a0252d77126ea42
Author: Farhan Karmali <farhankarmali@Farhans-MacBook-Air.local>
Date:   Fri Dec 29 14:40:55 2017 +0530
    MDL-59813 navigation: Changed 'more..' link to point to dashboard
    In the navigation menu , the 'more' option was previously taking the user to all course page
    This patch fixes that behavior and takes the user to the dashboard


And, so, again.... MDL-59813

"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."


Average of ratings: Useful (1)
In reply to Howard Miller

Re: Subtle changes in Moodle 3.5

by Joost Elshoff -
Picture of Particularly helpful Moodlers Picture of Testers

That's an interesting discussion in the tracker, and from a usability point of view it makes sense... but users who have gotten used to the old 'incorrect' behaviour and routing, will feel this change has a very big impact on how they use their instance.

Also, not all instances use the Dashboard page, or have the My Overview block set up on their users' Dashboard page. The user is then redirected to a place that doesn't really provide the correct information to him or her.

Average of ratings: Useful (1)