Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Brian Jarvis發表於
Number of replies: 9
Hi, All!

I'm really struggling with connecting my Moodle 4.0 course (as an LTI 1.3 tool) to Blackboard and I would appreciate any help.

The terms are completely different between Moodle and Blackboard and I don't know which values go where so maybe I paired them incorrectly. Can anyone confirm that I've done this correctly?

Moodle Term       | Blackboard Term?
Tool URL                | Tool Redirect URL(s)
Initiate login URL | Login Initiation URL
JWKS URL              | Tool JWKS URL
Deep linking URL | Tool Redirect URL(s)

After doing that, the Blackboard developer site has information to be copied into Moodle for the "Platform details" page in Moodle:

Blackboard Term | Moodle term?
Issuer                                        | Platform ID (issuer)
Public keyset URL                    | Public keyset URL
Auth token endpoint              | Access token URL
OIDC auth request endpoint | Authentication request URL
Application ID                          | Client ID

Does this look right (because it's not working 微笑! Ultimately, for non-deep linking, I get the error: 

"Invalid launch data. The custom claim field 'id' is required to launch an activity or resource over LTI Advantage.
Debug info: Error code: ltiadvlauncherror:missingid
Stack trace: line 94 of /enrol/lti/launch.php: moodle_exception thrown"

When I try deep linking, It goes into my Moodle site and shows me the "Published content" and asks me to select what I want to add to my course and gradebook. After checking the box on the course name, it returns to Blackboard with the name of the course but with "(Invalid Link)" as part of the item title and the link doesn't work.

Any ideas?

-Brian
評比平均分數:Useful (1)
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Gemma Lesterhuis發表於
Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
Hi Brian,

As far as I can see you have done step 1 (connecting Moodle - Blackboard) correctly.

you have selected the course, but the course itself probably does not have a LTI enrolment configurered. see https://docs.moodle.org/402/en/Publish_as_LTI_tool#Sharing_access_to_a_course_or_activity

Hope this helps you to solve the mysterie.

Gemma
評比平均分數:Useful (1)
In reply to Gemma Lesterhuis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Brian Jarvis發表於
Thanks for responding, Gemma!

I do think I misunderstand something about User Account Provisioning and how it relates to deep linking content. After reading this: 

"Content selection launches (Deep linking) require an existing account in Moodle, so always use "Existing accounts only (prompt)". Users without an account in Moodle cannot use this feature."

I changed these settings in the "Publish as LTI tool" settings:



Though I suspect I only needed to change it for teachers who would be selecting the content and not students.

When I test it from Blackboard (as teacher and student), I still get the same error though:

"Invalid launch data. The custom claim field 'id' is required to launch an activity or resource over LTI Advantage."

It points me toward a line in the /enrol/lti/launch.php file that throws an exception 

if (empty($launchdata['https://purl.imsglobal.org/spec/lti/claim/custom']['id'])) {
    throw new \moodle_exception('ltiadvlauncherror:missingid', 'enrol_lti');
}

I can confirm that the launchdata variable has lots of information in it, but indeed nothing under "custom".  Do you have any ideas on what to try next? Thanks!

-Brian
評比平均分數:Useful (1)
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Gemma Lesterhuis發表於
Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
Hi Brian

i think they mean with 'from the custom properties , that will be created when you make the LTI publication 

I am unfamilair with Blackboard but in a different LMS (Capp/Defacto) I saw that they have a setting where they filled in id and then the property after = (so they filled in ID and in the other field b8b3dbb6-6d7f-4296-8e29-832bab5b9684)

Hope this helps. 


評比平均分數:Useful (3)
In reply to Gemma Lesterhuis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Brian Jarvis發表於
Thanks again for helping, Gemma! After much struggle on my end, your suggestion was ultimately the solution, I just need to figure out a few details. Thank you!

I'll list the steps that worked for me for posterity:
  • In Moodle, share the entire course and copy the id property from the "Custom properties" field as shown in Gemma's reply
  • In the Blackboard developer page, there are multiple places for custom parameters, but the one that worked was under My Applications -> Edit -> Custom Parameters (paste the whole thing, including "id=")
    • This part really confused me because I thought it would always point toward the course and not the individual assignments I wanted to share. It turns out that, after adding that parameter, the course is now available for deep linking selection in my University's Blackboard instance and also any other assignments I made were available as well. The confusing part is that each assignment also creates an entry in Moodle like the one in Gemma's screenshot but those newly generated ids didn't need to be handled by me.
  • On the Blackboard developer page, the launch_deeplink.php file needed to be listed as one of the redirect URLs. I used both the launch.php and the launch_deeplink.php files in the redirect field (separated by a comma) but I don't know if they both need to be there or not, but it wouldn't work without the deeplink one.
  • Once added, my University's Blackboard instance (consumer?) will need to delete the old tool and re-add it because the custom properties cannot be updated by the University's admins. They can only change custom properties in placements and that's not the same thing. Even after clicking the "Synchronize Placements" (I think that's what it's called) button, the overall tool won't update so we had to keep starting over to get it to work.
  • Don't forget to add a new deployment in Moodle because deleting and readding the tool will require that.
CRON - I also didn't have my CRON setup correctly, but once I did, there is a scheduled task for synchronizing LTI grades and users and it runs every 30 minutes by default.

Thanks Gemma and Jake for all of your help. It made a big difference and I really appreciate it. Thank you!

-Brian
評比平均分數:Useful (4)
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Brian Jarvis發表於
UPDATE REGARDING CUSTOM PARAMETERS:
Above I posted about confusion regarding adding an ID to the Custom Parameters ("This part really confused me ... "). While this initially worked, my university completed a Blackboard update yesterday (03/07/2024) that broke my LTI connection. It turns out, that Blackboard had a bug that required that an id be entered in the custom parameters box even when that wasn't necessary (the situation I was in). When they fixed the bug by removing that requirement, then all of my LTI assignment links were now going to a single place (the id entered). With the bug fixed, I needed to delete that custom parameter on the Blackboard developer page, and I also deleted them in each "placement" in Blackboard. Doing that got everything working again, and finally solved this mystery of why I needed that id in the first place.

評比平均分數:Useful (1)
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Jake Dallimore發表於
Core developers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Peer reviewers的相片 Plugin developers的相片 Testers的相片
Hi Brian,

Sorry to hear you're having trouble. I will say, upfront, that Blackboard was not a system this was tested with (having no access to that), so I can only speak to generally about the way this is intended to work, not to the Blackboard specifics..

Firstly, because of the way Moodle provides it's content via the enrolment method, it MUST have the custom property 'id' set for resource link launches. The general flow is:
1. Instructor launches into the content selection flow from the platform (linking account when prompted)
2. Instructor selects something they've published on the tool. E.g. an activity or course
3. This content item is returned to the platform (Blackboard, etc.) where it must create the appropriate resource link. This content item information includes the relevant 'id' needed to launch the respective published activity or course.
4. User clicks the resource link in the platform and can view the course/activity.

Users are also free to manually create links in the platform, provided they set the id=xxx custom claim value (as Gemma mentions, this is visible in the tool's "Published as LTI tools" table). This is of course the more clunky method means of achieving the same thing: a resource link in the platform.

So, in your case, don't try to launch the tool unless you're launching from a link created during deep linking (or a link which you've manually created and which includes the relevant id=xxxxx custom property). We need this id and there is no support for a non-deeplink launch without it.

With respect to the problem with the link creation in Blackboard, that's unfortunately something I don't know. I've only used this with Canvas, and of course Moodle platforms. I believe others have used it with D2L, but I'm not sure about Blackboard. You may need to troubleshoot that further on that end. All I can say is that the content item that we return is per the specification and has been checked using the 1EdTech certification suite, as most tools have (that's not to say there may be an issue, of course, as that suite doesn't check everything).

With regards to the provisioning modes, that's really a matter of choice and probably applies to teachers moreso than it does to students in your case. Students aren't expected to have existing accounts in your Moodle site (I don't think at least, correct me if I'm wrong), so they need to have their accounts automatically created. This is essentially the way this worked going back to LTI 1.1 and 2.0. This is why the value for Student is defaulted to "New accounts only (automatic)". I'd suggest just leaving this as it is.

Teachers, on the other hand, with LTI 1.3, are expected to use the deep linking feature, which exposes a whole list of published content they have access to. To determine that access, we need to use their existing account (and they will of course have one since they are using Moodle to create the content in the first place). This is what the "Existing accounts only (prompt)" method is about. It'll force a teacher, on first launch, to bind their existing account, after which we can establish which resources they have access to and report that during the content selection workflow described above. Again, you don't need to use this flow; you may also just create the resource link manually in the platform, provide the id=xx value and away you go just the same.

So, ultimately, you have 2 choices:
1. Figure out why deep linking is failing in Blackboard. Including a network trace from Chrome (a HAR file) of the deep linking (content selection) process might give me some insight, but it also might not if it's something on Blackboard's end. There are some issues that we still need to work through around partitioned cookies when this process takes place in an iframe, so depending on your platform/browser combination, that could perhaps be in play here too.
2. Create the resource link manually in Blackboard (I'm certain they will support this too). All you need to do is make sure the custom claim has the 'id' property set to the value defined in the tool site.

If you have the time/patience, it would be nice to work through 1, but I understand if you just want to get this up and running and don't want to muck around with that.

Either way, hope some of that helps. Keep us posted.
Jake
評比平均分數:Useful (3)
In reply to Jake Dallimore

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Brian Jarvis發表於
Thank you very much for your help, Jake! I got it working now and I replied to Gemma's post with what I did to make it work.

After much success, I created a new problem for myself, and I wondered if you had any thoughts on what could have gone wrong. I created some assignments in Moodle, published them as LTI tools, and completed them as a student in my University's Blackboard course. The records synced and all was good. Then, I deleted the assignment outright in Moodle and was greeted by the following error message pictured below. Because of this error, the "Add" button is now gone and I can't add any more assignments. I then removed the deleted assignment from the recycle bin but that didn't help. Based on the "More information about this error" link which goes here, I'm hopeful that this a cleanup issue, and that there is some sort of scheduled task that will take care of this issue. However, nothing has changed and it's been a few hours. Any idea on what I could try next?

Thanks again!

-Brian

Error after deleting an LTI assignment
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Jake Dallimore發表於
Core developers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Peer reviewers的相片 Plugin developers的相片 Testers的相片
Hi Brian,

Glad you got it working and thanks for sharing the details above. That will be very helpful for others.

With regards to the above, that's certainly and bug in Moodle and, in fact, one we've already patched. See MDL-68843 for details. If you upgrade to at least 4.0.3, you should see that problem disappear.

Hope that helps,
Jake
評比平均分數:Useful (1)
In reply to Brian Jarvis

Re: Moodle 4.0 as LTI 1.3 tool in Blackboard - which values go where?

Gemma Lesterhuis發表於
Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
Glad to hear you got it working! And sharing the details. Was happy to help.
評比平均分數:Useful (1)