Help

LTI 1.3 launches, grade passback, and Thin Common Cartridge (IMSCC) issues

mikeyoung
Hobbyist

LTI 1.3 launches, grade passback, and Thin Common Cartridge (IMSCC) issues

Hi Schoology community,

This one is just for developers trying to integrate their LTI 1.3 tool with Schoology.

Discovered some strange behavior, and I'm hoping maybe somebody can explain A) why this is OK and my problem, or B) why this is not OK and should be fixed.

Here's the issue:

 

  1. We have an LTI 1.3 tool that passes grades back to providers.

  2. We followed the instructions in this doc to create our own lineitems for external tool Schoology links with grading enabled: we consume the resource link ID and title, send a properly formatted POST request to the lineitems URL, confirm that we get a lineitem with a proper ID, send the grade along—it all works great. It's a little more annoying that other learning management systems that automatically create the lineitems for you, but it works.

  3. Here's where it gets tricky! We also provide our customers with Thin Common Cartridge IMSCC packages that have a bunch of links because we have tons of content, and we don't want our customers to go through the tedious task of manually creating links or trudging through a repetitive deep linking UI.

  4. A little more background: the launch URL, the actual link, is always the same. (And we include it as part of the metadata in the IMSCC package). The distinction between all these different resource items is the title. And we use a resource link title matching mechanism to send the user to the right content.

  5. When our customers import those IMSCC packages into their Schoology courses, all those links show up as external tool links with "Automatic, based on URL" in the "Tool provider" dropdown. Uh oh, right? However, it doesn't matter for the launch!

    All the launches work great—Schoology does in fact seem to automatically select the correct tool provider based on the launch URL (which, again, is always the same).

    The user goes where they need to go. They're recognized correctly. I check the JWT token, and all the info there suggests that Schoology is truly making the launch with the correct tool provider identified: the deployment ID is correct, the appNid is correct, etc.

  6. So it seems like everything is great: let's just turn grading enabled on, and everything will work like it does in #2 up there.

  7. But here's the problem: there's no lineitems URL sent with the custom parameters. And if I try to use what I know is the lineitems URL for that Schoology course to make a new lineitem, it doesn't work! I get a lineitem back without an ID, and I can't send a score anywhere.

  8. So why does the launch work with "Automatic, based on URL," but line item creation doesn't?

If that doesn't make sense, or I'm missing something, please let me know! I haven't ever seen Schoology developers post in these forums, so I'm guessing they won't see this, but maybe some community member developer out there has some insight.

Thanks,

Mike

1 Solution
mikeyoung
Hobbyist

Bumping this up because there are clearly others having issues. 😃 We solve this by manually selecting the tool instead of using Automatic Based on URL, but this is definitely not a good solution.

View solution in original post

8 Replies
dliebman
Journeyman

This is the exact problem we are facing. We have no problem with any other LMS

RyanAngelo8
Hobbyist

My team and I are having the same exact issue. No matter what we change in the setup process, Schoology is not sending the lineitems claim in the response at all. We have no issues with any other major LMS. 

I would love some clarity on this since it still hasn't been answered.

mikeyoung
Hobbyist

Bumping this up because there are clearly others having issues. 😃 We solve this by manually selecting the tool instead of using Automatic Based on URL, but this is definitely not a good solution.

RyanAngelo8
Hobbyist

Mike, could you send me a private message? I'm unable to send you one because yours is disabled, but I have a question or two about your implementation since I cant get any support from Powerschool/Schoology.

mikeyoung
Hobbyist

Hey Ryan! Sorry to be so slow writing back—I saw this back in May, but it was a wild month, and then I forgot. =( I can't find a way to turn on private messaging through this forum, but feel free to email me at mikeayoung - at - gmail - dot - com. 😃

ashuvyas45
Padawan

hey @mikeyoung I am trying to integrate with LTI schoology. Firstly I want to know which method for OIDC login is working for you.

Is the authorization with cookies is working?
Is the client side postMessage working?

For me the client side postMessage works when I create deeplink, but when teacher/students click on the link the client side postMessage does not work. 

The launch does not have the lti-storage-frame avilable in the dom. 

Secondly, on deeplink request even when I am sending the linteItem inside content_items the line item is not getting created. 
If you could help with the implementation working for you that would be great. 

mikeyoung
Hobbyist

Hi! Sorry to be slow— I juggle a bunch of different freelance hats, so I rarely have time to be in the forums, alas. =( I'd be happy to try to help tho if you are still having trouble! My solution is implemented in PHP, and I can share that with you directly if you'd like.

For now (and for anyone else reading this), definitely read the doc I linked in the OP, and especially make sure your timestamp format is correct. It should be That was the trick that stumped me for a while. It needs to be Y-m-d\\TH:i:s.uP.

Good luck! Shoot me an email if you need more help! 😃
Thanks,
Mike

solidprofessor
Journeyman

I need to enable grading through deep linking as well. Is there a way I could see the instructions you linked in the post? I don't seem to have permissions. Is there someone else who could offer support?