Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bbennett2
Community Champion

Have you enabled muting course notifications?

A question I get frequently is how to mute notifications for courses, specifically courses where they're teachers but not doing the grading. Canvas rolled out the option to mute course notifications, which is a great option for staff. Unfortunately, that settings is for any user, not just staff. We're battling students not paying attention to notifications already, so giving a one-click way for them to disable all notifications for an entire course is going to create more problems.

If you've turned this on, can you give some thoughts on what prompted the change? How did you communicate the change with your users?

6 Replies
bneporadny
Community Champion

Hi Brian,

We haven't turned this on as of yet, but if you're looking to turn it on to allow your teachers to utilize it but not the students you can always hide/remove the option from students being able to see it with a little #custom javascript‌. 

Yeah, I usually save that as a last resort when it comes to these kinds of changes, mainly because Canvas is switching over to React, which makes it harder and harder to target specific elements by class or tag name. 

Where does the option show up?

Hi Brian,

This is the approach I quickly but together and test that worked to remove the button. You can wrap it in an if statement to ensure it's the course home page as well and check to see if it's a student or instructor accessing the course on whether or not the button needs to be removed from the screen. 


var els = document.getElementsByClassName("btn button-sidebar-wide");
Array.prototype.forEach.call(els, function(el) {
if(el.lastChild.nodeValue.indexOf("View Course Notifications") >=0 ){
el.style.visibility = "hidden";
console.log(el.tagName);
}
});

bbennett2
Community Champion

When you enable it in the admin Feature Options , there's a menu item added to the right-hand sidebar called "View Course Notifications" on the course homepage. In that page, you can toggle notifications on and off. There's also a message that more granular settings are coming some day.

James
Community Champion

 @bbennett2 ,

As a faculty who listens to students, I'm on the fence about how I feel about this . Allowing them to mute some classes will allow them to be more in tune to the ones that really matter and not get so much noise that they don't pay attention to any of them. On the other hand, I can see a student muting it as an instructor changes a bunch of due dates after the course was published and forgetting about it and then the instructor is even more frustrated because the student never responds to their feedback.

In other words, they mute everything because they want to turn off one thing and don't realize what it does. I could easily recommend holding off enabling it until that extra granularity comes.

 @bneporadny 's code depends on an English translation, so if a student uses Spanish, then it won't block it for them. Also, setting visibility='hidden' leaves the space that the button was, where as display='none' will remove it completely. I took his suggestions and borrowed some of Robert's code from Global Nav Menu - Custom Tray and came up with this.

(function() {
if (/^\/courses\/\d+\/?$/.test(window.location.pathname)) {
if (![ 'teacher', 'admin', 'root_admin' ].some(e => ENV.current_user_roles.includes(e))) {
const el = document.querySelector('#course_show_secondary i.icon-unmuted') || document.querySelector('#course_show_secondary i.icon-muted');
if (el) {
el.parentNode.style.display = 'none';
}
}
}
})();‍‍‍‍‍‍‍‍‍‍

It lets teachers, admins, and root admins keep the button, while disabling for anyone who doesn't have that role. It also only runs on the course homepage and looks for the icon-unmuted or icon-muted, which should work for different languages.

As always, one should note that ENV.current_user_roles contains a global list of roles they have anywhere in the Canvas instance. If they are student who has a teacher-based role anywhere, then they would show up as a teacher.