New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Importing Common Cartridge w/ LTI Links never match existing External LTI Apps #1087
Comments
Did you find a way around this issue? We're experiencing the same thing at our institution and I'm curious what your solution was. |
The only way around it is if you add Canvas specific XML and then it will work, however doing this makes it no longer a pure common cartridge, and cannot be expected from all sources. So while we have moved on from this issue, the issue is still valid in Canvas. |
Hi @CreepyGnome and @ninashowell , I have contacted the team that handles Common Cartridge, and they suggested the following steps:
Update: removed Thanks, |
@spencerolson , I set-up a tool globally as an admin via pasting xml configuration (with domain-level matching), with domain "mydomain.com". Then, I imported a common cartridge file that had launch urls all to the same domain as the tool I set up. In the course I see that Canvas was able to correctly collapse all the configuration under one tool, and tells me to set up the one tool "mydomain.com" in the Course settings. Here's the json for the globally configured tool via
And here's the json for the collapsed tool that was created at the course level via the cc import via
The only differences I see are ones that make sense (the global config has Curiously, when I try to import the same exact cc import via Content-item message, no collapsing occurs, and I need to configure each "tool" separately. this file looks particularly relevant, maybe someone more verse in Ruby would be able to glean something from that? :P |
Hi @pfgray , I apologize, I was indeed wrong when I said
Please let me know if you have any issues. Thanks, |
@spencerolson,
Also, if the url is required to match, I'm not sure what purpose Canvas' Another issue I've run into is that while I've gotten the manual Common Cartridge import to work as stated above, when I try to import the same exact Common Cartridge file via Content-Item ( |
Okay, some of my assertions were mistaken... I can have 'N' number of tools with different names, but they must have the same url as the global tool if they are to be matched. Even if they have the same domain as the global tool, they won't be. Here's where I believe I might be experiencing some inconsistency: Global
Common Cartridge File:
All four links are matched to the Global LTI configuration, and everything works swimmingly. However, if I have the following configuration: Global
Common Cartridge File:
The four links in the CC file are not matched to the global LTI link, but they are merged into one configuration, with Canvas prompting me with:
So, I'm confused as to why the four links in the CC file can be matched together based solely on the "domain" field, but not matched to the Global LTI link, whose domain is also "mydomain.com" Am I doing something wrong? Edit: fixed titles of activities |
Hi @pfgray , thanks for the detailed info. I'll reach out to the owning team and get back to you (sorry for being the messenger here and not being able to help you directly; this area of the codebase is not in my wheelhouse). |
@spencerolson, no problem, thanks for your help thus far! When I try to use the same configurations as above, but via Content Item Message ( Global
Common Cartridge File (via Content-item):
The four links in the CC file are not matched to the global LTI link, but they are merged into one configuration, with Canvas prompting me with:
However, if I have non matching urls again: Global
Common Cartridge File (via Content-Item):
The four links in the CC file are not matched to the global LTI link, and they are not merged into one configuration. Canvas prompts me with "4 issues":
I think there might be some matching logic applied to manual Common Cartridge imports, that is not being applied Common Cartridge imports via Content-Item Message. Hopefully these details will help someone along the line :D |
Hi @pfgray , it looks like the team needs to do some more research into this. I've created a research ticket on our side for the team, and added a note on that ticket to comment back here in this thread with their findings. |
@spencerolson We are experiencing the same issue described by @pfgray in #1087 (comment) with our LTI provider tool and Thin Common Cartridge files uploaded to Canvas. Do you have any additional information to share about suggestions for resolving this? |
Hi @SteelWagstaff apologies on never getting back to you folks on this one. I've poked the owning team and I'll see if we can get some updates here. Thanks. |
@spencerolson We heard back from Dan Nevarez who wrote: "It appears there are some differences between the way the account level tool is configured and the tool being imported. Canvas attempts to match these up, but if they aren't exactly the same it may not be able to, resulting in the course level duplicate you're seeing. The configuration of the tool inside the Thin Common Cartridge does not have a launch url, while the configuration for the account level tool already installed does. So for this specific instance, we recommend removing the launch URL from the account level tool's configuration, which will correct this behavior." We did this, and it worked. We're going to instruct our users to leave the launch URL blank when configuring the LTI tool for global use in Canvas and to simply enter a value for the domain field unless instructed otherwise, as that seems to be working. |
@spencerolson This still seems to be an issue and is causing quite a few headaches for us. Any follow up from the dev team? |
@jeffbaier thanks for following up and apologies for how drawn-out this has been. I'll get a response from the dev team here shortly. |
Without your CC package and rails console it is a little difficult to see what is happening in your specific case. My suggestion would be to debug the code found here: ...when doing an import with your package. We believe this method is most likely returning false when trying to find a matching tool. |
@jeffbaier @cmfurse @spencerolson @SteelWagstaff I have added sample packages for testing. Package WITH extensions: How to analyze package? (For non-technical users)
|
We're seeing this as well.
Configuration requires either domain or launch url. I tried using the domain that shows in the import generated app and the import still generates a new app. Documentation around how the matching works or even pointing to where in the repo this matching is done would be helpful so we could build our tool to handle the situation and reduce the frustration on the customer side. Is there any further information we can get on this so we can improve the overall experience? |
I need to be able to import a thin common cartridge into the open source canvas and have all the LTI Links be matched with a global LTI external app I have already setup prior to importing any courses.
Currently, I have tried everything to get Canvas to match by changing the titles, domains, etc to be matching the incoming LTI data. Nothing works, and on importing of a common cartridge with LTI links Canvas creates new local external LTI apps that require editing to add the key and secret.
This is a horrible user experience. I want to setup the external LTI apps once globally for all courses and then have the import process for a common cartridge match the LTI resources with the proper LTI external app in canvas.
Please let me know how to do this if I am doing something wrong otherwise I am requesting this be fixed to do this.
The text was updated successfully, but these errors were encountered: