This integration guide explains how to integrate Pedagoo practice tests into an LTI consumer.
LTI stands for Learning Tools Interoperability and it is a sign-on standard developed by IMS Global allowing web-based resources to be accessed and viewed from within a learning platform. In LTI, the learning system that is linking to an external resource is referred to as the consumer. The external service that is being integrated into the consumer is referred to as the provider. It is assumed that the user (student) is logged into the consumer system and it is the consumer’s responsibility to ensure that the user is authorized to access the resource.
The consumer sends an HTTP POST request to the provider with the required parameters to launch the desired resource. Optionally, it may include some parameters that enable the use of the Outcomes Service. If so, the score of the test launched will be sent back to the consumer once it is finished.
The version supported by Pedagoo LTI provider is LTI 1.1.1
To integrate content from an LTI Provider into an LTI Consumer, the following information is required. It is provided by Pedagoo:
- LTI Client Key: This is the account identifier for the LTI Provider, which allows LTI Consumers to identify the account needed to access LTI Provider content.
- LTI Client Secret: This is the password/passcode used to authenticate to the LTI Provider account.
- Launch URL: This is the URL endpoint that exposes the content to be integrated into the LTI Consumer training materials.
This section describes the basic parameters that are required in each LTI launch request. The consumer platform must send the following parameters via POST:
Optionally, the following recommended parameters may be included in the request:
For scoring, PTS supports LTI Basic Outcomes 1.0. This service allows us to perform three different operations: read, write, and delete. Pedagoo will only perform the write operation (replaceResultRequest). The details to implement this service can be found here: https://www.imsglobal.org/specs/ltiv1p1/implementation-guide#toc-6
The Outcomes service is completely optional. If the values are included in the LTI launch request, Pedagoo will use them in order to report the scoring information. For that, it needs these two parameters: lis_outcome_service_url, lis_result_sourcedid.
LTI launch example
This is an example of the code that should be included in the LMS interface:
<form id=’ltiLaunchForm’ name=’ltiLaunchForm’ method=’POST’ action=’https://predelivery.performancetestingsolution.com/web/lti1p0/launch.php’>
<input type=’hidden’ name=’user_id’ value=’1592832127′>
<input type=’hidden’ name=’lis_person_name_family’ value=’Public’>
<input type=’hidden’ name=’lis_person_name_given’ value=’Given’>
<input type=’hidden’ name=’resource_link_id’ value=’test2015113095935338′>
<input type=’hidden’ name=’submit’ value=’Launch’>
<input type=’hidden’ name=’lti_version’ value=’LTI-1p0′>
<input type=’hidden’ name=’lti_message_type’ value=’basic-lti-launch-request’>
<input type=’hidden’ name=’launch_presentation_return_url’ value=’https://predelivery.performancetestingsolution.com/web/lti1p0/testConsumer.php’>
<input type=’hidden’ name=’lis_outcome_service_url’ value=’https://score-tst.performancetestingsolution.com/platform1p0/scores/index.php’>
<input type=’hidden’ name=’lis_result_sourcedid’ value=’1592832127-test2015113095935338′>
<input type=’hidden’ name=’oauth_callback’ value=’about:blank’>
<input type=’hidden’ name=’oauth_consumer_key’ value=’5b088c69-789a-4af1-b998-cfa692632a38′>
<input type=’hidden’ name=’oauth_version’ value=’1.0′>
<input type=’hidden’ name=’oauth_nonce’ value=’5d7a654bdc2bc8.70926264′>
<input type=’hidden’ name=’oauth_timestamp’ value=’1568302411′>
<input type=’hidden’ name=’oauth_signature_method’ value=’HMAC-SHA1′>
<input type=’hidden’ name=’oauth_signature’ value=’syPQi72kx0qH9lZnY2A5FF3YT/8=’>
If the request is correct the following screen will appear: