Charles Severance
unread,Feb 28, 2022, 7:34:00 PM2/28/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Tsugi Developers
Hi all,
I just committed a bit of code to Tsugi so that when you send a per-link score back to the LMS - it works in D2L like every other LMS.
TL;DR; do a git pull in your tsugi folder
A long time ago in a galaxy far, far away, LTI 1.1 had this notion of one and only one grade per link that was pretty much always there to be used. A link was launched and the LMS usually was willing to accept a grade from the link.
In LTI 1.3 there is this notion of “endpoint” where you can get a “lineitems” (note plural) URL to make new grade book columns and *optionally* a “lineitem” (note singular) URL which was for the “per-link” grade. Now most LMS’s (Sakai, Moodle, Blackboard, and Canvas) already had the per-link column logic all over the place and lots of tools did not have the logic to use the “lineitems” (plural) URL to make a grade book column and then use that column instead of the LMS making the column and the tool just sending in scores.
This whole thing got even more complex as we added a lineitem claim in returned DeepLink response spec. The tool could ask to set some values in that auto-created per-link line item. Sounds great - sort of - if you copied a course or exported/imported the course through a cartridge all that subtle detail of per-link line item creation and configuration might get lost or confused. So four of the five LMS’s prioritized an easy path from LTI 1.1 to LTI 1.3 w.r.t. grades - but we caused a bunch of other complexity for ourselves.
D2L / Brightspace decided not to include the pre-created “lineitem” (singular) URL in the endpoint claim because the tool could make a column if they felt like it and then be able to control that line item with scores, due dates, and a host of other things. D2L figured to just make this a problem for the tool to solve and with the “lineitems” URL (plural) the tool really has all it needs. It allowed D2L to be a lot more elegant by delegating tool-things to the tools.
And further if we look forwards toward a world where LTI 1.3 (Advantage) is really the only LTI (and I think D2L feels this way) - the more elegant approach in the long run is to not try to make it easy for LTI 1.1 tools to do LTI 1.3 without using the Assignments and Groups Service (AGS) - but instead fully embrace the LTI 1.3 way. It means that a lot of LTI 1.1 tools out there will grumble under their breath when they first try to upgrade their LTI 1.1 grading code to LTI 1.3 and they find out that they have to add a bunch of AGS code.
And until today Tsugi was like that - per-link grade passpback worked on Sakai, Moodle, Canvas, and Blackboard. Now Tsugi works with D2L / Brightspace and any other LMS that decides to go the more elegant approach to LTI 1.3 grade passback. It is simple in concept - if there is no pre-built line item and a Tsugi tool wants to send a grade and we have a lineitems URL (plural) - make the column, remember the handle to the column and send the grade - just the way D2L wants it to happen.
No action is needed - at your next upgrade - Tsugi will send grades to D2L - no fuss - no muss - no change to your tool code at all.
Thanks for your patience, and thanks to Ron, Tom, Maggie, Natasha, and Viktor for all their help along the way to make sure that I (a) understood the problem and (b) had sufficient test resources to make sure I could verify my changes and test other D2L stuff.
/Chuck