After an outage on September 1, the Instructure Community is now fully available, including guides, release notes, forums, and groups. If some styling still looks unusual, clear your cache and cookies.
Found this content helpful? Log in or sign up to leave a like!
When an LTI tool associated with a course is copied to another course the LTI tool itself is copied to the new course, but my understanding from the past at least was that there was no way to communicate to the LTI tool that would relate the origin course with the new course.
For example, if I have a Media LTI tool with videos associated with a specific course and then copy the course it will copy the Media LTI tool but there has not been a way to tell the Media LTI tool that the videos associated with the first origin course should also be associated with the new course the content was copied from.
However, with New Quizzes operating as an LTI tool my understanding is that when you copy a course forward it also copies the associated quiz banks. I am trying to understand how this happens and if there is anything in the LTI specification or a way that an LTI tool can be built so that when it is copied from into a new course, it can know the course ID of the course it was copied from. Thanks!
When an LTI tool is launched you can ask for a variable to be passed in that will tell you the previous courses and/or contexts that instance of the tool will have had and then the LTI tool can at that point can optional copy any previous content.
The complete list of variables is on https://canvas.instructure.com/doc/api/file.tools_variable_substitutions.html
The ones you're interested in are:
Canvas.course.previousContextIds
Canvas.course.previousContextIds.recursive
Canvas.course.previousCourseIds
and these can be put in a LTI XML registration file like this:
<?xml version="1.0" encoding="UTF-8"?>
<cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0"
xmlns:blti = "http://www.imsglobal.org/xsd/imsbasiclti_v1p0"
xmlns:lticm ="http://www.imsglobal.org/xsd/imslticm_v1p0"
xmlns:lticp ="http://www.imsglobal.org/xsd/imslticp_v1p0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd
http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd
http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd
http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
<blti:title>Example</blti:title>
<blti:description>Quick Example</blti:description>
<blti:icon></blti:icon>
<blti:launch_url>https://localhost:3000/launch</blti:launch_url>
<blti:custom>
<lticm:property name="canvas_course_previous_context_ids">$Canvas.course.previousContextIds</lticm:property>
</blti:custom>
<blti:extensions platform="canvas.instructure.com">
<lticm:property name="privacy_level">anonymous</lticm:property>
<lticm:options name="course_navigation">
<lticm:property name="url">https://localhost:3000/launch</lticm:property>
<lticm:property name="text">Example</lticm:property>
<lticm:property name="visibility">public</lticm:property>
<lticm:property name="default">enabled</lticm:property>
<lticm:property name="enabled">true</lticm:property>
</lticm:options>
</blti:extensions>
<cartridge_bundle identifierref="BLTI001_Bundle"/>
<cartridge_icon identifierref="BLTI001_Icon"/>
</cartridge_basiclti_link>
Thank you so much @matthew_buckett , this is exactly what I was looking for - much appreciated!
I have a bit of a follow up on this, I shared that information with the LTI provider we are working with hoping it would be possible and received this feedback:
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in