Adding or removing Navigation items for particular courses?

emlarson
Community Participant

Hi, Canvas admin family! We've got an LTI installed at the Root level and disabled by default, and we'd like to bulk-add it to the navigation menu of all of our upcoming Summer courses.  Those courses are all in one term, but are scattered across multiple subaccounts.  I can use the borrowed code below within the Chrome console to enable the LTI by default in every course, but I'd love to be more selective for starters.  Is there a similar chunk of code or a Javascript or such that would help me do this?

(A couple of years ago there was some similar conversation via How can I add an External App to a list of 61 Canvas Courses? but I'm not sure right now is a "teachable moment" time for me to learn Ruby...)

Here's the console code to enable an LTI everywhere; if you've not seen this before in these forums somewhere, it's a great trick and you can use the value of "disabled" instead to turn off those pesky LTIs that come in enabled system-wide...

// enable a tool in course navigation
var accountid='1'; // replace with your account
var toolid='1465'; // replace with the tool ID in the account->settings->apps listing
var url='https://[our instance].instructure.com/api/v1/accounts/' + accountid + '/external_tools/' + toolid;
$.ajax({
   url: url,
   type: 'PUT',
   data: 'course_navigation[default]=enabled',
   success: function(data) {
       alert('Tool was enabled by default in course navigation.');
   }
});

I thought I could get away with enabling it system-wide and then disabling it in particular subaccounts (so we could at least keep it out of the areas/schools where this particular tool is obviously irrelevant) but changing the accountid causes it to fail, I assume because the tool isn't actually installed in that subaccount so it can find no setting to disable.

Labels (2)
0 Likes