We (a content provider) have created common cartridges with LTI links back to our system. However, after a teacher imports that common cartridge into his/her course and assigns one of our assessment links (part of the common cartridge) in Canvas, we are not passed a "lis_outcome_service_url" parameter by Canvas, which as I understand from reading the IMS spec is necessary for grade passback from our system back into Canvas. Currently we receive the LTI parameters I've included below. How are we supposed to execute grade passback if Canvas doesn't pass us the necessary information? -
Hello @dalvarado-nonem . I am not familiar with this enough to be able to answer your question, but I am going to share this with the https://community.canvaslms.com/groups/canvas-developers?sr=search&searchId=90e4ab97-38ae-4aed-ab04-... group in hopes someone will be able to provide insight into what you are experiencing.
All the best--
Are you sure that this LTI is tied to an assignment in Canvas that is graded?
When I call my test LTI from an assignment, I get some parameters that you don't have.
There are some others I have that are probably related to the visibility settings -- information about the user. But I don't see any of the assignment information in yours. If there's not an assignment tied to the external tool, then it can't pass a grade back to it.
If I use the same LTI call, but add it as a Module Item of type External Tool, then I do not get any of those assignment-related items -- similar to what you're seeing.
In short -- start by checking that this is called from an assignment and not from a module item or other invocation like a navigation link.
You seem to be making a distinction between modules and assignments, but I'm in the modules section and I create a new assignment -- Imgur: The magic of the Internet , and there's no option when creating that assignment to designate the item as Graded or not. How do I enable this setting (assuming that's what's needed for the params to appear)?
Are you absolutely sure that you're creating an "assignment" in Canvas?
When you click on the + on the modules page, you are not necessarily creating an assignment.
When you do that, you are adding an "Item" to the module. This is called a "Module Item". It defaults to assignment, but it can be assignment, quiz, file, content page, discussion, text header, external URL, or external tool.
If you choose External Tool, you are not creating an assignment. You are creating a navigation link to an external tool, but there is no assignment for grade passback to happen. The dialog that pops up gives you a list of external tools to choose from.
There are several ways to create an assignment.
Here's a screenshot of my Modules page after I added two items that take me to the same external tools
The first one is an External Tool. To edit the tool, click the 3 vertical dots on the side and you can change the URL. This one is not tied to an assignment and does not allow grade passback.
The second one is an assignment, whose submission type is an external tool. Since this is an external tool associated with an assignment, then grade passback is supported. To edit the assignment, click on the name "Dave Test 2". Clicking on the three vertical dots will allow you to change the name and indentation, but nothing else. You've got to click on the name to get to the assignment.
Once you get to the assignment page where you can edit it, you'll need to click the Edit button at the top to edit the assignment.
You could avoid all of the above by creating the assignment first from the assignments page and you will automatically be thrown into the edit assignment mode. Once you've created the assignment, you add an existing assignment to the modules page. That's the way I do it, but Canvas allows for different workflows.
Once you are editing an assignment, you'll see a whole bunch of options like this:
The Submission Type is where you tell it that you have an external tool.
Once you do that, you can paste the URL or click the Find button.
If you make the assignment non-graded by changing the Display Grade As, then the Submission Type box is hidden from you and you can't change it to an external URL.
However, since you're trying to figure out grade passback, I'm going to risk assuming that you don't want non-graded.
Thanks for this explanation. I was indeed adding somethign to the module, whcih wasn't what I intended. So my question is, how do I assign one of the modules to the class? The modules are themselves external links that I have imported via a CC but for the life of me I can't figure out how to assign one of those things.
The first above query is not fixed yet. "Why isn't Canvas passing us the "lis_outcome_service_url" parameter?"
I just want to post grade passback with common Cartridge LTI links which are comes under modules. So, is there any way to move/copy module contents into assignments so that passback might be possible.
If you have any solutions regarding this or any alternative way to post grade passback with CC links. Please, let me know.
Thankyou in Advance!
For future searchers of this question:
You cannot use a module for grade passback. You have to create an assignment with the exact URL of the specific module you want to use.
How to make an assignment viewable AND with a gradepassback URL:
Go to the Modules Page
Click the 3 dot thingy at the right of whichever Module you want to use in your assignment.
Copy the URL into your clipboard.
Click on “Assignments”
Click the +Assignments
Add an Assignment Name and choose a Grade amount
Under “Submission Type”, choose “External Tool” if it is not already chosen.
Paste the URL from step 5 into the textbox under “Enter of find….”
For now, make sure to click “Load This Tool In A New Tab”
Do whatever else to the assignment that you need to.
Click “Save & Publish”
Congratulations! You should now have an assignment a student can take and will feature grade passback.
Here is a very useful video with the entire process; please note I am not the creator. The grade passback section is after the 7 minute mark.