light technical introduction to lti on edx
DESCRIPTION
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 StudioTRANSCRIPT
LTILearning Tools
Interoperability™
on EdX Platform
Sep 17 2014github: icerajemail: [email protected]
Ivica Ceraj
Is LTI the right solution for me?
LTI external server &| lots of computationuses iframestores large amount of state THIS TALK
Is LTI the right solution for me?
LTI external server &| lots of computationuses iframestores large amount of state
JS Input a bit of grading computationuses iframestores small to medium amount of data
etcX a bit of grading computationin-page integration (auto-scaling, better control)stores small to medium amount of data
NOT THIS TALK
NOT THIS TALK
THIS TALK
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.htmlLTI 2.0 - http://www.imsglobal.org/lti/ltiv2p0/ltiIMGv2p0.html
LTI 1.1 older and simpler better support within edXLTI 2.0 newer and discoverability works with edXLTI 1.2 public draft - i.e. if you don’t need LTI 2.0 no need to upgrade
What do we get from LTI 1?
LTI1 spec declares
Basic Launch Data OAuth SigningOutcome service
specs28+ params9 paramsreplaceResultreadResultdeleteResult
edX9 params 9 params replaceResult
edX implementation of LTI v1 is simple and functional.
And LTI2?
Source: IMS Global
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/]
LTI v2.0 more complex and of more interest to product/commercial orgs
LTI Demo
Open edX studioOpen LTI problemDemonstrate grade propagates
End User System InteractionsBrowser 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)
lti sends confirmation to student
edX acks
Use case:● Launch external tool● Get graded result (optional)
Security:● Shared secret● OAuth signing
User’s experience:● iframe● new browser window
LTI and edX Studiohttp://edx-partner-course-staff.readthedocs.org/en/latest/exercises_tools/lti_component.html1. 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)
External Resources
IMS Consortium: http://www.imsglobal.org/IMS Catalog: http://www.imsglobal.org/cc/statuschart.cfmEdu Apps: https://www.edu-apps.org/index.html
Some LTI Apps (from Edu Apps):YouTube, WordPress, Piazza, MyOpenMath, TED Ed,...
LTI tools and demos
Python:Library: https://github.com/mitodl/ims_lti_pyDemo: https://github.com/mitodl/ims_lti_py_djangoLive demo: http://ims-lti-py-django.herokuapp.com/
I am tasked with:Developing it for PHP and couple of other languages
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?