The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
We have an LTI update for a tool that is on in some but not all of our courses. I need to update the tool which I will configure to be off by default. This will require users to re-enable it again. Does anyone have a method that I could use to do a find-and-replace type scenario for this? I would prefer not to inconvenience faculty by asking them to enable the tool again.
Solved! Go to Solution.
Hi @wojcika,
I have a python script which does almost exactly this. @wojcika, feel free to check it out as it may save you some time. You'll need to install the new LTI and leave the old one in place before running my script. Basically, the script will have you select the original LTI, then the new LTI, then do the update process mostly as @JamesSekcienski outlined. Once complete, the new tool will be visible and places in exactly the same spot in course navigation as the original. Once verified, you can then delete the old tool. Be warned though that this script can take a while to finish because of the numerous API calls it has to do (for my institution, it takes about 12 hours to go through all courses). It's possible that the script could be optimized more, but I created it for one specific update at my institution and decided to make it public as-is to help some others with similar requests.
-Chris
You could try doing something like the following:
Nice answer James, I don't have much to add.
The Tabs API is the endpoint wojcika needs. They'll need to do a get on the course( GET|/api/vq/courses/:course_id/tabs) to find the ID of the navigation link on a course that has the old and new links in it to get the IDs.
Next, run the same get on each course that may have the links to be updated. Run the JSON result through some code to find if old tool is enabled. If so, send out the PUT /api/v1/courses/:course_id/tabs/:tab_id call to set the id of the old link visibility to false and the visibility of the new link to true.
Hi @wojcika,
I have a python script which does almost exactly this. @wojcika, feel free to check it out as it may save you some time. You'll need to install the new LTI and leave the old one in place before running my script. Basically, the script will have you select the original LTI, then the new LTI, then do the update process mostly as @JamesSekcienski outlined. Once complete, the new tool will be visible and places in exactly the same spot in course navigation as the original. Once verified, you can then delete the old tool. Be warned though that this script can take a while to finish because of the numerous API calls it has to do (for my institution, it takes about 12 hours to go through all courses). It's possible that the script could be optimized more, but I created it for one specific update at my institution and decided to make it public as-is to help some others with similar requests.
-Chris
@chriscas This is absolutely amazing!! I will share this with our internal dev team. Thank you again.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in