How to run the LTI Validation Test

These instructions are current as of the Nutmeg Release.

Certification must be done by someone with access to the tCRIL 1EdTech account.

Running the test requires hopping back and forth between the 1EdTech site, and the Open edX instance you are testing (the BTR test instance in this case). Read the table left column then right column downward.

1EdTech

Open edX

1EdTech

Open edX

 

LTI PII sharing is controlled in the Django admin with a config model under “Lti_Consumer > Course allow pii sharing in lti flags”. Create a new entry here, entering your course ID and clicking “enabled”:

 

Start here: https://ltiadvantagevalidator.imsglobal.org/ltiadv/certification.html

To start this, you’ll want two browsers–one logged into Studio to edit the course, the other logged into 1EdTech (a.k.a. IMS Global) and a student enrolled in the test course.

 

 

 

NOTE: THIS SHOULD BE: “Axim Collaborative”

 

 

 

 

 

Make an LTI component in Studio, using the values from the IMS page.

  1. In Studio:

    1. In the course’s Advanced Settings, make sure "lti_consumer" is in the Advanced Module List.

    2. Add New Component

    3. Advanced - LTI Consumer

    4. Edit the component

      1. LTI Application Information: “For 1EdTech LTI Validation Testing”

      2. LTI Version: LTI 1.3

      3. Tool Launch URL: copy from IMS “Tool OIDC Launch Redirect URL”

      4. Tool Initiate Login URL: copy from IMS “OIDC Login Initiation URL”

      5. LTI 1.3 Tool Public Key: we’ll come back to this.

      6. Enable LTI NRPS: set to True

      7. Deep linking: set to True.

      8. LTI Advantage Deep Linking Launch URL: copy from IMS “Tool OIDC Redirect Deep Linking URL”.

      9. LTI Assignment and Grades Service: set to “Allow tools to manage and submit grade (programmatic)”.

      10. LTI Launch Target: New Window (Note: username and email will not be sent if Modal or Inline are chosen.)

      11. Set Scored to True.

      12. Set “Request user’s username” to True

      13. Set “Request user’s email” to True

      14. Set “Send extra parameters” to True

      15. Save the component

 

Copy values from the info displayed in Studio to the IMS form.

Make sure the hostnames are correct for your ngrok configuration, you may need to edit them. The input fields are short for our long URLs, make sure the full URL is pasted in each.

  1. Testing iss Value: should be exactly the same as your LMS_ROOT_URL setting, e.g. https://demo.openedx.overhang.io (No ending slash)

  2. OIDC Auth URL: copy from the “Login URL” in the Studio display.

  3. Platform Well-Known/JWKS URL: copy from the “Keyset URL” in the Studio display.

  4. OAuth2 Access Token URL: copy from the “Access Token URL” in the Studio display.

 

 

More configuration:

  1. Client ID: copy from the “Client ID” value in the Studio display

  2. Select We Accept Tool Public Keys.

 

Edit the LTI component again.

Copy “The Tool’s Public Key” from IMS and paste it in LTI 1.3 Tool Public Key

Save the component.

 

Enter the Deployment ID from the Studio display. (It’s always “1”):

 

 

 

Publish the whole course.

View Live Version to open the LTI component in the LMS. Be sure you are logged in to the instance as a student, and launch the component under that host name.

The LMS will display:

{ "status" : "Payload Received" }

 

Click “Continue” in the IMS window.

 

Now will have a series of screens that look like this:

Click “Test Options” to display the options. Leave user as Student.

Click “Submit Test”

You should get a passing test that looks like this:

Click “Confirm Results” to record the success.

Use the “Next Test” link in the header to move to the next test if it doesn’t advance automatically. There are nine different screens to get through.

The JWT will expire in 5 minutes. If you get a message about the token expiring, it probably means you took longer than 5 minutes to get through the tests.

 

 

Launch the LTI component again.

Run through the nine test screens again.

 

 

Sign out of the LMS, and log in as an instructor (staff@example.com).

Launch the LTI component.

Run through the nine test screens again.

 

 

Launch the LTI component as an instructor again.

Run through the nine test screens again.

You will be asked to do a Deep Linking launch: “Acquiring Deep Linking Payload for Testing”.

 

 

In Studio as staff, visit the component and click “Deep Linking Launch - Configure tool” to do a deep linking launch.

A new browser tab will open, and will flash through some pages, ending at:

Save a screenshot of your browser with the above message. You’ll later be asked to upload it as one of the deep linking tests.

Run through the Deep Linking tests, until you get to “Acquiring Instructor Payload For Names and Roles Service”.

In Studio, edit the component to turn off Deep Linking. Save the component and publish the course.

In the LMS as staff, open the component.

Run through the Names and Roles Service tests.

Until you get to Assign Grades

In LMS as “verified@example.com”, open the component.

Run through the Assign Grades tests, until you get to “Acquiring Different Context Student Payload for Assignment and Grades”

In LMS as “honor@example.com”, open the component.

Run through the Assign Grades tests, until you get to “Platform - Confirming Gradebook Entries”:

(Dave note: the URLs are incorrect here because I forgot to grab the screenshot, so this is from Ned’s run.)

 

In Django admin, you can see the grades reported:

https://demo.openedx.overhang.io/admin/lti_consumer/ltiagsscore/

This is the last test. There is no clear indication that it is the last, except that “Next Test” doesn’t move you along from this page. Click “Results” in the upper right to see the results.