cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
j_causby
Community Participant

How to show/hide an account level external tool's course navigation on a particular course?

Jump to solution

I've got an account level external tool that I have now disabled course navigation by default.  This is good for the vast majority of courses, but I've got a list of ~1000 courses that I would like to have the course navigation re-enabled.  Looking into the api, I don't see a way of doing this, due to the tool being account level instead of course level (basically, at account level it seems changing that kind of default is 'all or nothing').  Looking at what goes on when I save the courses navigation items from the /courses/:id/settings page, I see that a POST call is being made to the /courses/:id/update_nav path with url encoded form data consisting of tabs_json with a list of ids and a "hidden":true flag set on them if they are supposed to be hidden.  I tried to replicate this kind of POST outside of canvas using postman and regular api authentication, but I can't get it to work.

Does anyone have any ideas of how to get this to work?  I suppose I could look into creating new, course level external tools replicating the account level tool on just the list that I have, and then disabling the account level one, but I'd prefer to avoid that since the list I have might not be comprehensive, and users should be able to show/hide the tools if they need to, regardless if they are in this list of courses or not.

Thanks!

Labels (2)
1 Solution

Accepted Solutions
pklove
Community Champion

Have you looked at the Tabs API (Tabs - Canvas LMS REST API Documentation )?

This lets you change the position and visibility of things in the course navigation.

View solution in original post

5 Replies
pklove
Community Champion

Have you looked at the Tabs API (Tabs - Canvas LMS REST API Documentation )?

This lets you change the position and visibility of things in the course navigation.

View solution in original post

j_causby
Community Participant

Peter Love, you are a savior.  That's exactly the api I needed.

pklove
Community Champion

Just one of those Canvas things you have to get used to --- want an endpoint for "Course Navigation" or "Course Menu" or similar --- isn't it obvious?  --- it will be called "Tabs".  Smiley Happy LOL.

j_causby
Community Participant

I mean, I kind of understand the reasoning behind it, with the same functionality across accounts/courses/groups being abstracted into a separate api, but at least provide some links! "Looking for course navigation/menu api while on the Courses api?  He's a link to Tabs!

James
Community Champion

A trick I use sometimes is the "All Resources Reference" link. Then I can use the browser's find to look for keywords. When you do that with "Navigation", you get the main heading "Navigation", which is under External Tools, a whole bunch of stuff in the middle dealing with external tools, and then a couple of hits toward the bottom, which are the ones we really want.

In fairness, this approach often doesn't work because I'm looking for the wrong word like "module progress" instead of "module completion."