Default Hide Course Navigation Placement for LTIs/External Apps

JamesSekcienski
Community Coach
Community Coach
7
1161

LTIs/External Apps may include a placement setting to appear on the course navigation menu.  For various reasons, admins may not want the the app to automatically show by default in the course navigation menu.  For example, the tool may be in a pilot phase with only select courses and/or only needed in select courses, so they don't want it to show in courses for which it isn't relevant.  As another example, it may be a tool that could be used in all courses, but they want to allow teachers to decide if they plan to use it in their course and if it should be shown.

The following will review some of the options that can be followed to ensure the course navigation placement setting is set to hidden by default.

Account Developer Key - LTI Key

If the set-up for the LTI/external app uses an Account Developer Key - LTI Key, then this setting can be updated in the Developer Key settings.  This update can be made while setting up the Developer Key initially or edited after it has been set-up.

An admin will need to go to the Developer Keys in their account (How do I manage developer keys for an account? ).  

  • If this is for a new Account Developer Key - LTI Key, follow all instructions provided by the vendor to set-up the Developer Key.  Be sure to Save those settings and then click Edit to open the settings again.
  • If this is for an existing Account Developer Key - LTI Key, click Edit to open the settings.

Once you are on the Key Settings window, make sure the Method is set to "Paste JSON".  Even if you originally configured it with Manual Entry, it will load in the JSON representation of the current settings.

Scroll down in the settings and look for the following:

 

 

 

"placement": "course_navigation",

 

 

 

Add the following after that line to set the course navigation to be hidden by default (if this is not already included):

 

 

 

"default": "disabled",

 

 

 

Click Save!

developer key settings to hide course navigation placement by defaultdeveloper key settings to hide course navigation placement by default

The app that is installed (or already installed) with the corresponding Client ID will now hide the course navigation placement by default.

Inherited Developer Key - LTI Key

Unfortunately, the Inherited Developer Keys are only able to enabled/disabled.  Thus, we aren't able to use the same steps as above for Account Developer Key - LTI Keys since we can't edit the key settings.

In order to update the settings for these, an admin will first need to add it as an app to the appropriate account using the Client ID.  After it is installed, follow the steps in the next section on Installed Apps to hide it from the course navigation by default.

*Note: Updating the settings for an installed app from an Inherited Developer Key may get overwritten in the future if there is a change/update to the Inherited Developer Key.  It will be important to monitor for this since admins don't have direct control over Inherited Developer Key Settings.

Installed LTIs/External Apps

For LTIs/external apps that are already installed, an admin can use the Canvas API to modify the settings.

First, use the List External Tools Canvas API endpoint to find out the ID of the external tool that needs to be updated.  It is recommended to use the search_term query parameter with the name of the tool you are looking for so there is less to look through in the result. 

After determining the external tool ID, then use the Edit an external tool Canvas API endpoint to update the setting.  The following query parameter and value is needed to hide it from the course navigation by default:

 

 

 

course_navigation[default]=disabled

 

 

 

As long as this request is successful, the external tool will now be hidden from the course navigation by default.

Using Postman for Requests

While you can use a variety of tools and/or languages to perform the above requests, Postman can be a user-friendly tool to help with getting started on working with the Canvas API.  If you are just getting started with Postman, you can check out the API Testing: Postman blog post.  Be sure you have your authorization set-up with a valid access token before sending any requests.

List external tools for account set-up

Update the domain in the below example to your institution's domain.  Enter the name of the external tool you are looking for that needs to be updated.  Update the account_id to the ID of the account where the external tool is installed.  After the request is successful, get the ID of the external tool from the result. *If there are multiple results, make sure you are getting the ID of the correct external tool that needs to be updated.

postman get external toolspostman get external tools

Edit an external tool

Update the domain in the below example to your institution's domain.  Update the account_id to the ID of the account where the external tool is installed.  Update the external_tool_id to the ID of the tool that needs to be updated (found in the previous step).  After the request is successful, the external tool will now be hidden from the course navigation by default.  You can spot check some courses to confirm it is no longer showing by default.

postman update external toolpostman update external tool

 

7 Comments
JamesSekcienski
Community Coach
Community Coach
Author

Thank you @chriscas for the reminder about apps that are installed based on an Inherited Developer Key may have their settings overwritten if there is an update to the Inherited Developer Key!

wojcika
Community Participant

@JamesSekcienski do you think this would work for the new Khanmigo LTI? 

JamesSekcienski
Community Coach
Community Coach
Author

@wojcika 

Since it is using the LTI Registration Developer Key option (this is the first time I have seen that used), it doesn't look like there is an option to edit the JSON settings like a regular LTI Key Developer Key.  Nonetheless, if there are settings you want to adjust you should be able to still modify those on the external app itself after you use the Client ID to install the app.

From a quick set-up test, it looks like they designed their app to be hidden from the course navigation by default, so it doesn't look like any updates are needed. 🎉  If anyone else can confirm they are seeing the same thing, that would be great to know.

wojcika
Community Participant

Hi!

I heard it twice now that the tool will not be on by default. Yeah!

ptart
Community Participant

@wojcika , Our district experience is hidden in navigation by default. Teacher must go to Settings > Navigation and unhide Khanmigo... just like we want. 👍

JamesSekcienski
Community Coach
Community Coach
Author

If anyone made any changes to the settings for an app that is based on an Inherited Developer Key, be sure to review the settings as they may have been revert based on the following Known Issue that was reported: [OPEN] Changes to Inherited Developer Keys reverts changes made to the tool install in accounts 

pwhitmer8
Community Explorer

@JamesSekcienski We're an LTI tool provider and this info is super helpful. We didn't get any guidance from Canvas about default hiding the Course Nav placement - our customers generally want that one, but not for every course at their institution. We're advising customers to add us using the relatively new dynamic tool registration - I wonder if we can specify this default off in our JSON. I don't think Canvas exposed the JSON for customers can edit those beyond toggling placements on/off, so we might provide manual installation as an alternative. Any additional thoughts would be most welcome.