cancel
Showing results for 
Search instead for 
Did you mean: 
kerry_floyd
Community Member

What determines what goes on the dashboard?

Jump to solution

Hi everyone!

We're having a problem presently where our staff (we use Canvas for professional development) are enrolled in courses automatically, but the courses don't automatically show up in the dashboard. While we usually make an announcement about the new course, staff often miss the announcement, or follow the direct link once, but don't know where to find the course again later. Is there any way for an admin to make all courses that users are enrolled in show up on their dashboard? (or control what the dashboard looks like?)

Thanks!

1 Solution

Accepted Solutions
SethBattis
Community Member

Favorites. Your first ten favorites show up on the dashboard. (How do I customize my Courses list?​)

By default, if not favorites have been set explicitly, the currently active courses are treated as your favorites. However, the moment you actually set a favorite, from then until someone resets your favorite settings (manually or via the API), you're stuck with only courses that you have manually "favorited".

I've written a pair of scripts (that are embedded in an LTI Tool that I use to ease Canvas management pains) that I run periodically over the start of the semester: reset-favorites.php​ nukes user favorites settings completely and then unfavorite-hidden-courses.php​ goes back and works down an internal check list of courses that shouldn't be "seen" and unfavorites them (causing the other active courses to become "favorite" in response).

View solution in original post

7 Replies
SethBattis
Community Member

Favorites. Your first ten favorites show up on the dashboard. (How do I customize my Courses list?​)

By default, if not favorites have been set explicitly, the currently active courses are treated as your favorites. However, the moment you actually set a favorite, from then until someone resets your favorite settings (manually or via the API), you're stuck with only courses that you have manually "favorited".

I've written a pair of scripts (that are embedded in an LTI Tool that I use to ease Canvas management pains) that I run periodically over the start of the semester: reset-favorites.php​ nukes user favorites settings completely and then unfavorite-hidden-courses.php​ goes back and works down an internal check list of courses that shouldn't be "seen" and unfavorites them (causing the other active courses to become "favorite" in response).

View solution in original post

Ok! Those sound great! I have no idea how to run them. How do I do it?

 @kerry_floyd ​, it's true, the new feature of "new enrollments are automatically favorites" is helpful in this context, but both hiding some courses and handling existing enrollments is still valuable. In terms of running those scripts… the way that I run them is that I have that whole smtech/canvas-management​ set up in a manner akin to these instructions on another of my LTIs, then I configure that install as an LTI in Canvas and run it through there.

But you may not want to go through all that. (If you do, and it gets sticky, drop me a line or a Skype and I would be totally happy to help you make it work -- it's software written to my tolerances, which means it may or may not fit others.)

The real heart of the reset script​ is this for loop​ that walks through all the users in a particular account and deletes all their favorites. Everything else is just UI and error-checking (and who really needs that, amiright?). I would say, just replicate that loop in the script environment of your choice. (I happen to use smtech/canvaspest to interact with the API from PHP, which still requires Composer to load dependencies, but core function of that script would look something like this.

The hiding of existing courses script is a bit more involved, since it requires (in my world) a separate database that is tracking some additional per-user and per-course preferences, beyond what Canvas stores (and outside of Canvas, so that users can't modify it themselves, as they could with custom data). This allows me to mark a particular course (in that database) as "hidden in the dashboard" or "hidden in the calendar" and then run various other scripts like this to hide those hidden-in-the-dashboard courses or this to hide calendars.

Totes happy to talk through all the deep intricacies of this if it would be helpful. Or shut up, if that would be ​more​ helpful. Smiley Happy

I definitely need help, but I'm happy to learn if you've got time!

abunag
Explorer

Be aware there's new functionality - when someone has been using favorites, any new courses they've been enrolled in will automatically be favorited as well.

Yeah, the new functionality will be great when we add new courses, but we have existing courses that we need to bump to the dashboard. I suppose if all else fails we could just clone the courses and re-enroll everyone, which would force the new courses to the dashboard again. (I assume this will work up to 10 courses?)