Closed marcospri closed 1 month ago
First round of testing:
Modified our placement in "assignment selection" to use deep linking and point to /books
Had to modify our local server to handle the right message in lti_launches (we have two endpoints, one for deep liking, other for resource link requests). I wanted to locally first to be able to try this type of stuff quickly.
I get the "Relaunch Inspector" 
The whole OIDC business succeeds 
We get the launch in our side and we are able to present our file picker.
Sending the deep linking message back to deep_link_return_url
fails 
The docs suggest: VST will transform the original LMS deep_link_return_url and will pass a VST version of the deep_link_return_url
but I'm getting one pointing directly to canvas. Maybe because I'm deep linking to /books and I'm not supposed to?
This is probably a very niche issue we have with the LTIA API proxying, not many tools might use this. In any case our grading integration is not currently working while proxying via VS in Canvas.
In Canvas, our integration uses the "SpeedGrader" functionality. This means that we use the LTIA API to send "submissions" using a Canvas extension to that API and SpeedGrader itself takes care of reading/recording grades for instructors.
Here are the docs for the Canvas extension: https://canvas.instructure.com/doc/api/score.html#method.lti/ims/scores.create
And sample payload of what we send to /scores {'scoreMaximum': 1, 'scoreGiven': None, 'userId': '2b04173b-1f12-42ea-aa87-5dd0b6ef2473', 'timestamp': '2023-10-31T11:25:43.971377+00:00', 'activityProgress': 'Completed', 'gradingProgress': 'FullyGraded', 'https://canvas.instructure.com/lti/submission': {'submission_type': 'basic_lti_launch', 'submission_data': 'http://localhost:8001/lti_launches?focused_user=f6c3ed0edd8a4013bfc8d0c22b9eca&learner_canvas_user_id=35&group_set=&resource_link_id=c4ac3ef1a4afafd15f22ef9e11c9149cb9b30bac&url=https%3A%2F%2Felpais.com', 'submitted_at': '2023-10-31T11:25:42.913000+00:00'}}
Notes for me, 2024-05-28
The "License proxying" line is all good to go for all LMSs. VitalSource has said they want to test it in non-Canvas environments themselves.
The full proxy isn't available for 1.1 instances because it involves support for deep linking which we currently don't support in 1.1 for those LMSs.
We are not actively working on this anymore, the current integration is being used by some schools. We'll track any new needs in new issues.
Explore if the LTI integration path is viable and how much extra effort it would take to support it.
Thread with connections details: https://hypothes-is.slack.com/archives/C4K6M7P5E/p1696434279273029
Thread with first findings: https://vitalsource.slack.com/archives/C01208U1A2F/p1696493468399239
Summary
General setup
We have install the VS app in Canvas, Moodle, BB and D2L with the details provided by VS, see: https://hypothes-is.slack.com/archives/C4K6M7P5E/p1702294836529969
All installs share the same registration: https://qa-lms.hypothes.is/admin/registration/id/10/
AIs that belong to that registration point to the dev env on the VS side. Launching assignments created using that AI, after some debug information from VS, launch the content selector over the VS side. After picking H there our app is launched.
Canvas
LTI 1.3 :heavy_check_mark:
There's a bug around submissions that makes it impossible to continue testing on the grading side. See: https://vitalsource.slack.com/archives/C01208U1A2F/p1698753133823109This is now fixed, at least in 1.3.LTI 1.1 :heavy_check_mark:
Canvas throws an error after a successful DL: https://vitalsource.slack.com/archives/C01208U1A2F/p1708601790050899Fixed. First we were missing DL signing in 1.1. Then there was an issue in VS canvas environment. We tested in QA to force using different URLs.
D2L
LTI1.3 :heavy_check_mark:
LTI1.1
We now support DL in 1.3. We haven't verified full proxy support with VS.
Blackboard
LTI1.3
Our non-deep-linking approach works but the user needs to pick H in the VS picker on each launchLTI1.1
We don't support DL in blackboard LTI1.1. Investigate support.
Moodle
LTI1.3
Our non-deep-linking approach works but the user needs to pick H in the VS picker on each launchLTI1.1
We now support DL in 1.3. We haven't verified full proxy support with VS.