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

How do I prevent my cartridges from creating duplicate LTI app configurations?

Jump to solution

When I import a thin common cartridge, the import process creates a local app configuration for the third party LTI settings. However, I have already created a global third party LTI configuration of the same name as an administrator. The newly created LTI app configuration entry overrides the global entry that already existed. This causes a problem because the local version does not have values for the consumer key and secret. The content requests for this cartridge fail because the local cartridge is incomplete. If I delete the local LTI settings entry then links begin to work correctly because they are now using the global LTI configuration entry.

Is there a way to keep Canvas from automatically creating a duplicate LTI app configuration setting each time a load a common cartridge? Is there a way for the thin common cartridge to specify that an LTI app configuration setting should not be created if one of the same name already exists?

0 Kudos
1 Solution

Accepted Solutions
dan_hammari
Community Participant

I escalated this issue to Canvas support and received the following response:

     If a course has an LTI tool installed that is associated with assignments, Canvas will create the assignments and it will create essentially an app "shell" so that integration data can be provided after the fact.  This allows the assignment to stay linked to an LTI tool once that data is updated.  However there is not a means in the import process to fully configure an LTI tool.  The key and secret will always need to be filled out after that import.

I subsequently asked:

     Would it be possible to have Canvas detect that an LTI app with the same name already exists at the account level? It could then skip the part where it creates an empty LTI app configuration in the course. If the import process cannot let you specify the LTI connection during creation then it should not create a dummy entry with the word "fake" as the consumer key if there is already a legitimate LTI app configuration set at the account level.

And received this answer:

     I have reviewed this with our second tier of support, but unfortunately there is not a way for the LTI tool on the account to be recognized during that import of the Common Cartridge.  However after the initial import of content has been performed and everything is updated, any subsequent course copy type imports from that course into a new one will more cleanly align to the existing LTI tools for the account.

It appears that Canvas is aware that their common cartridge import tool creates empty LTI app configurations and regards this as a feature. I will simply have to instruct administrators to delete any auto-generated LTI app configurations.

View solution in original post

6 Replies
kona
Community Coach
Community Coach

Given the technical nature of this question, I'm going to share it with the Canvas Developers​ group in the Community.

kblack
Community Champion

Dan, while you're waiting for something from the Developers Group that Kona shared your question with, I wonder if you read over the Release Notes associated with when this feature was introduced, here:  Canvas Production Release Notes (2016-03-12) under the Course Imports heading.  I noticed that one piece of information is this:  "However, users cannot view the external tools that are associated with each content line until the content is imported."  (I mention this without knowing anything about the thin common cartridge standard; I just remember wondering what the heck it was when this feature was introduced and that it was mentioned in the Release Notes.)

kristin_bayless
Community Contributor

We also noticed a "rogue" LTI setup appear when we imported a common cartridge from one of our content providers.  The LTI setup actually precluded the cartridge from working since it had the word "Fake" where the key should be.  Our content provider emailed this:

This is nothing that we have intentionally programmed and we have only seen this happen in Canvas (our cartridges imported into Blackboard, Moodle, Brightspace, and Schoology do not have this). We could not find any information about removing/preventing it. It seems to be something Canvas naturally extracts from the cartridge, presumably to make the App configuration easier.

I set up the LTI credentials at the account level.  The cartridge import would work fine if this extra LTI setup was not produced upon cartridge load.

chofer
Community Coach
Community Coach

Hi  @dan_hammari ​...

I wanted to check in with you because there hasn't been any new activity in this particular topic since October 24th.  Have you been able to come up with a solution to the questions you posted?  If so, would you mind sharing what you've found with members of the Canvas Community?  If you are still looking for help, please post a message below so that we can help.  For now, I am going to mark this question as "Assumed Answered", but that won't prevent you or others from adding additional replies to this topic.  If you feel that either  @kblack ​'s or  @kristin_bayless ​' response has helped to resolve your questions, please go ahead and mark one of those replies as "Correct".  Looking forward to hearing from you, Dan!

dan_hammari
Community Participant

Hi Chris,

I have not yet found a solution to this issue. Canvas seems to be the only LMS that automatically generates an LTI connection when a cartridge is loaded even though a connection with the same name already exists. When I get some time I will have to try tweaking my thin common cartridges to see if I can bypass the behavior.

-Dan

dan_hammari
Community Participant

I escalated this issue to Canvas support and received the following response:

     If a course has an LTI tool installed that is associated with assignments, Canvas will create the assignments and it will create essentially an app "shell" so that integration data can be provided after the fact.  This allows the assignment to stay linked to an LTI tool once that data is updated.  However there is not a means in the import process to fully configure an LTI tool.  The key and secret will always need to be filled out after that import.

I subsequently asked:

     Would it be possible to have Canvas detect that an LTI app with the same name already exists at the account level? It could then skip the part where it creates an empty LTI app configuration in the course. If the import process cannot let you specify the LTI connection during creation then it should not create a dummy entry with the word "fake" as the consumer key if there is already a legitimate LTI app configuration set at the account level.

And received this answer:

     I have reviewed this with our second tier of support, but unfortunately there is not a way for the LTI tool on the account to be recognized during that import of the Common Cartridge.  However after the initial import of content has been performed and everything is updated, any subsequent course copy type imports from that course into a new one will more cleanly align to the existing LTI tools for the account.

It appears that Canvas is aware that their common cartridge import tool creates empty LTI app configurations and regards this as a feature. I will simply have to instruct administrators to delete any auto-generated LTI app configurations.

View solution in original post