Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Greetings, new to this Forum!
I used the API to install an external tool to a sub-account (let's call it Subaccount A). The reason I used the API instead of GUI is because I wanted to specify course_navigation[default] = disabled, because I realized that not ALL the courses in the sub-account would want this LTI in their course navigation.
However, I have now realized that I for the courses that *do* want it, they really want it to be visible *by default*, and not have to enable it themselves. For other reasons as well, I realized that this group of course would benefit from having their own sub-sub-account (under Subaccount A), which I just made (lets call it subaccount A1).
However, I'm not sure how to proceed. It does not appear that I can change the settings for the external tool in A1 (either manually or via API), because the tool is inherited through the parent account (A)
Is there a solution to this that I'm not thinking of?
Thanks so much!
I'm not aware of a way to handle this easily in Canvas (short of re-shuffling your account structure).
One way to support this is to have a live event listener that watches for course creation events and then checks to see the sub-account that they are in and if the sub-account should have it enabled use the Canvas API to enable the tool. This is lots of complexity and code though. Then you'd also have to backfill the setting on all the existing courses programmatically. https://canvas.instructure.com/doc/api/file.data_service_introduction.html
Hi @mbmacdonald,
I have a couple thoughts here... As @matthew_buckett said, I don't think there's an easy/one-click solution to this issue, but there may be some paths forward.
In subaccount A1, you could create a template course with the tool enabled in navigation, and set that course as the default template in your subaccount settings. That would fix newly created courses going forward.
To fix the current/past courses in your new Subaccount A1, you'd need to go through each course and enable the tool there. You could do this in the UI, or also create a script that would utilize the Canvas API to iterate through all of the courses and programmatically enable the tool (use the tabs update method, setting "hidden" to false for the appropriate tool). I may have some python code laying around that did something very similar to this (it was actually moving tool B to be next to tool A in the course nav, which is actually more complicated than what you'd need to do). Send me a message if you're interested in this.
-Chris
Thanks Chris - luckily I don't have to go through current/past courses in A1. Almost all of these courses already have the tool installed (at the course level) and visible. So that's another complication, that I currently have dozens of installations of the tool because it has been installed at the course level so many times. But thanks for sharing about Tabs - that looks really useful (if somewhat poorly named).
The template is definitely a workable solution. For some reason it seems inelegant though. I don't like the idea of maintaining multiple templates.
I have done updating with both LTI 1.1 and 1.3 in subaccounts and courses. The following is based on what I have experienced.
The process is different depending on which version you're using. for LTI 1.3, I've found if you update the dev key, then the subaccounts and even if added at the course level have the settings updated.
You can also make an api call to update the tool at the subaccount level, but if it's 1.3 and the dev key is edited, then the tool at the subaccount level (or course if there were course placements vs an account placement) also update to inherit from the dev key.
1.1 works a little bit differently and is more involved.
Something else I noticed when updating an LTI tool if I do it through the API, is that every setting that has been set when initially placing the tool has to be accounted for in the update (put call) if you want to get rid of it.
To participate in the Instructure Community, you need to sign up or log in:
Sign In