Light Technical Introduction to LTI on edX
Introduction to state of LTI on edX
Links to code that demonstrates LTI integration
Details on how to add to Studio
2. Is LTI the right solution for me?
LTI external server &| lots of computation
uses iframe
stores large amount of state THIS TALK
3. Is LTI the right solution for me?
LTI external server &| lots of computation
uses iframe
stores large amount of state
JS Input a bit of grading computation
uses iframe
stores small to medium amount of data
etcX a bit of grading computation
in-page integration (auto-scaling, better control)
stores small to medium amount of data
THIS TALK
NOT THIS TALK
NOT THIS TALK
4. About LTI
IMS Global Consortium defines Learning Tools Interoperability™.
There are two revisions of LTI:
LTI 1.1 - http://www.imsglobal.org/LTI/v1p1p1/ltiIMGv1p1p1.html
LTI 2.0 - http://www.imsglobal.org/lti/ltiv2p0/ltiIMGv2p0.html
LTI 1.1 older and simpler better support within edX
LTI 2.0 newer and discoverability works with edX
LTI 1.2 public draft - i.e. if you don’t need LTI 2.0 no need to upgrade
8. LTI v2.0: Learning Tools (with full) Interop
● REST-level 3 Web Service Model
● JSON-LD for Payload Definition
● Discoverable Services
● Automatic Credential Exchange and Management
● Architected Services
● Tool Settings
● Organization Hierarchy
● Partner-Provided Services
EdX support for LTI v2.0:
“We are also committed to the potential of LTI (learning tools interoperability), both expanding what we
offer via the LTI 1.1 protocol and expanding into LTI 2.x to enable grades to transfer to the LMS and
course launch from other environments. Members of our open source community are stepping forward
to lead these initiatives, and we will support their work in order to help those projects succeed.” - Beth
[ref: http://engineering.edx.org/]
9. LTI Demo
Open edX studio
Open LTI problem
Demonstrate grade propagates
10. End User System Interactions
Browser edX server LTI
initial request
iframe tag
iframe request to lti (oauth signed)
tool in iframe
student submits answers
lti sends grade to
edX (oauth signed)
edX acks
lti sends confirmation to student
Use case:
● Launch external tool
● Get graded result (optional)
Security:
● Shared secret
● OAuth signing
User’s experience:
● iframe
● new browser window
11. LTI and edX Studio
http://edx-partner-course-staff.readthedocs.org/en/latest/exercises_tools/lti_component.html
1. Settings -> Advanced Settings:
Advanced Module List: [“lti”]
LTI Passports: ["lti_starx_add_demo:__consumer_key__:__lti_secret__"]
2. Add Problem Set Type Advanced -> “LTI”
3. Edit
Open in new page -> open in new window or inline
LTI ID -> passport “lti_starx_add_demo”
Scored -> is it scored (LTI server returns 0-1)
Weight -> grade = weight * score(0,1)
12. External Resources
IMS Consortium: http://www.imsglobal.org/
IMS Catalog: http://www.imsglobal.org/cc/statuschart.cfm
Edu Apps: https://www.edu-apps.org/index.html
Some LTI Apps (from Edu Apps):
YouTube, WordPress, Piazza, MyOpenMath, TED Ed,...
13. LTI tools and demos
Python:
Library: https://github.com/mitodl/ims_lti_py
Demo: https://github.com/mitodl/ims_lti_py_django
Live demo: http://ims-lti-py-django.herokuapp.com/
I am tasked with:
Developing it for PHP and couple of other languages
14. Thank you!
Q: Should we join IMS Developer program?
Q: Should we support LTI/edX library for MIT?
Q: Which languages?
Q: Should we work w/ LTI2?
Q: Does MITx have courses using LTI2?
Q: Should we have talk on JSInput?
Q: Should I talk about etcX?