I've (finally!) been able to successfully perform my first grade passback using LTI 1.3. However, for my particular use case, the app will consist of multiple assignments per course. I thought that I could just create new assignments and each time I launched a new app it would have a different resource id so that the grade would be correctly passed back to the correct assignment in the gradebook.
However, after creating several assignments as an instructor, I can see that the resource id doesn't change. Does this mean that if an instructor wanted to create 30 assignments in a quarter using my app that the site admin would have to create 30 separate instances of the app, each going to the correct URL (i.e. each URL is specific to an assignment in my app)?
I'm thinking that I must be missing something very fundamental and hoping that someone can help me to understand how I can create a single app but have some identifier so that when the app is created multiple times within a course, that the associated grade gets passed back to the correct assignment.
Thanks so much!
Solved! Go to Solution.
Are you referring to the resource_link_id of a launch message or the resourceId element of a Line Item?
If the former, the LTI spec requires every resource link within a platform (such as Canvas) to be given a unique (within the platform) ID. So if you are finding that you have created several assignment links within a Canvas course, but they all have the same resource_link_id parameter when launched via LTI, then this sounds like a bug which should be reported. Does your launch contain a LineItem.url claim? If so, is this unique to each assignment link?
If the latter, then this property belongs to the tool and so you can set it to whatever you wish using the LTI Line item service. On the other hand, if you are receiving a LineItem.url claim in your launch messages, then surely the value of this property does not matter to you; you have the endpoint to which scores should be sent.
Thank you both for responding to this! And, I've figure out the issue after taking a closer look at the Assignment Selection placement type. What was happening is that I was creating them as modules. And, it looks like the resource_link_id was not generating different ones in this scenario. Maybe not a bug, but a little surprising!
Enjoy your weekends...