Search code examples
javascriptlti

Can I insert HTML script tag on consumer course with LTI (Learning Tools Interoperability)?


I would like to develop a plugin that would allow an instructor/course developer on the LMS side to insert a script tag on a course and/or quiz. This script tag has code that allows for identity verification and session proctoring.

The script tag looks like this:

<script src="//integrityadvocate.com/Integrity/Embed?appid=APP_ID&participantidentifier=PARTICIPANT_IDENTIFIER&participantfirstname=PARTICIPANT_FIRST_NAME&participantlastname=PARTICIPANT_LAST_NAME" async></script>

Is it possible to do this with LTI?

Also, would it be possible to build an LTI based plugin that would then return the resulting verification data back to the LMS in a way that it could be viewed with the participant results of the course/quiz?


Solution

  • Despite LTI being a standard the exact workflow is very LMS specific, but it sounds like a use case for LTI Deep Linking. https://www.imsglobal.org/specs/lticiv1p0

    LTI Deep Linking allows the LMS (aka Tool Consumer) to send a launch to Your Plugin (aka Tool Provider) with information about the launching user i.e. Name, ID, Launching Context and a call back url.

    Your plugin would then build the script tag with the provided information and then send it back to the LMS with the call back url.

    Unfortunately its up to the specific LMS workflow to define where the launch point is and therefore where the script gets inserted (Quiz or Course Content or both). Most LMS's will allow you to launch from the WYSIWYG editor or Course Content editor which should meet your needs.

    There are a number of ways to return results to the LMS, simplest would be an LTI Grade Book Item. A Gradebook item is specific record per user, per resource and can only be a numeric grade. But you could return 1 or 0 for verified/not verified. https://www.imsglobal.org/specs/ltiv1p1/implementation-guide#toc-6

    The LTI apps.net tester is an easy way to test these workflows to see if they provide the information you need. http://ltiapps.net/test/tc.php

    There are things such as SCORM statistics and Learning Record stores. Which would allow more granularity in returning results. But these are normally extra integration's, not LMS specific features.