cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DavidBrooks
Community Member

Issues with Deep Linking and course-copy

Jump to solution

Hi all,

I've been trying to set up a basic LTI 1.3 integration, and it's mostly working correctly. I have set up a course and attached a resource from my integration using a deep link response containing the following deep-link item:

 

 

{
    "https://purl.imsglobal.org/spec/lti-dl/claim/content_items": [
    {
      "type": "ltiResourceLink",
      "title": "Deep Link to: Resource2",
      "url": "https://my.example.tool/launch",
      "custom": {
        "name": "Resource2",
        "value": "value2"
      }
    }
  ]
}

 

 

Canvas successfully registers the link. Subsequent launches correctly pick up the URL and the custom parameters as specified above. All is well.

However, when I then copy this course (by any method), the link isn't copying over correctly: launches happen to the correct URL, but the custom properties are never available in the payload - thus I can never actually resolve my deep link. My expectation was that the custom parameters would be copied over to the new course.

Are my expectations incorrect? Or is this a known bug with Canvas' LTI 1.3 deep links and course-copy?

(I am aware that, until recently, Canvas did not completely support the custom parameters, and they needed to be added as query-parameters on the `url` in the `ltiResourceLink` item. I'd prefer not to use that approach as it doesn't work in other LTI platforms. However, I can appreciate that it may work more reliably for the interim.)

Update: I also tried creating a Page and used the RCE editor_button placements to embed the same Deep Links. In this case, the Deep Links do copy correctly, and bring their custom parameters with them. It seems to be particular to the link_selection placement.

Thanks in advance,

David

Labels (3)
0 Kudos
1 Solution

Accepted Solutions

I've been in touch with Instructure support, and they informed me that the custom-parameter under copy issue should have been fixed recently. I've re-tested this morning, and can confirm it has been. That's resolved my original issue - thanks Instructure!

View solution in original post

3 Replies
lettgo583
Community Participant

Hi David, 

I'm trying to use the "copy to" feature to copy a page into another course. The page has links to assignments and quizzes. However, when I do the "copy to", it doesn't bring over the assignments or quizzes that were linked in the page. It's a bit frustrating since I wouldn't bring the page into another course if those links (and related items) weren't important to have. 

I apologize if this is not related to what you're doing ... but it seemed somewhat similar. 

I agree that the expectation is that these assessments and quizzes should be brought across to the new module.

I apologize if this is not related to what you're doing ... but it seemed somewhat similar. 

It does indeed, and what I've observed may well account for the same thing - it depends how you're establishing the links from content to assignments and quizzes.

To work out if it is the same problem, I'd suggest you debug the LTI payloads for your original course and the copied course. If the launch of the original course includes custom parameters in the LTI payload, and the launch of the copied-course does not, I'd suggest it's the same problem.

Of course, it may be something else - the ability to copy and roll-over content requires co-operation between the Platform (Canvas) and the Tool (whatever provides the assessments and quizzes). However, the issue I'm describing essentially prevents the Tool from co-operating, because Canvas is not providing sufficient information to resolve deep-links in copied courses.

Best,

David

I've been in touch with Instructure support, and they informed me that the custom-parameter under copy issue should have been fixed recently. I've re-tested this morning, and can confirm it has been. That's resolved my original issue - thanks Instructure!

View solution in original post