====== LTI Resources ====== ===== Overview ===== For an overview of Learning Tools Interoperability (LTI) and links to various resources including specifications see [[http://www.imsglobal.org/activity/learning-tools-interoperability|Learning Tools Interoperability]] on the [[http://www.imsglobal.org/|IMS Global Learning Consortium's]] web site. ===== Specifications ===== ==== 1.0 to 1.2, 2.0 ==== Direct links to the some of the IMS specifications (Implementation Guides) are: * [[http://www.imsglobal.org/specs/ltiv1p0/implementation-guide|1.0]] - 17 May 2010 * [[http://www.imsglobal.org/specs/ltiv1p1/implementation-guide|1.1]] - 13 March 2012 * [[http://www.imsglobal.org/specs/ltiv1p1p1/implementation-guide|1.1.1]] - 12 June 2012 (revised 20 September 2012) * [[http://www.imsglobal.org/specs/ltiv1p2/implementation-guide|1.2]] - 5 January 2015 * [[http://www.imsglobal.org/specs/ltiomv1p0/specification|Outcomes Management Service 1.0]] - 5 January 2015 - this used to be in the LTI specification * [[http://www.imsglobal.org/specs/ltiv2p0/implementation-guide|2.0]] - 6 January 2014 For information on the content and interpretation of status messages, see Appendix A in [[http://www.imsglobal.org/gws/gwsv1p0/imsgws_wsdlBindv1p0.html|IMS General Web Services WSDL Binding Guidelines]]. * [[https://www.imsglobal.org/specs/lticiv1p0/specification|Content-Item Message v1.0]] - 24 May 2016 ==== 1.3 and Advantage ==== [[https://openid.net/specs/openid-connect-core-1_0.html#ThirdPartyInitiatedLogin|OpenID Initiating Login from a Third Party]] https://www.imsglobal.org/spec/security/v1p0/ https://github.com/blackboard/BBDN-LTI-Tool-Provider-Node https://jwt.io/ https://mkjwk.org/ https://8gwifi.org/jwkconvertfunctions.jsp [[https://www.imsglobal.org/spec/lti/v1p3|Learning Tools Interoperability Core Specification IMS Final Release Version 1.3]] https://metacpan.org/pod/Crypt::JWT [[https://www.imsglobal.org/spec/lti-ags/v2p0|Learning Tools Interoperability (LTI) Assignment and Grade Services Specification]] 16 April 2019 [[https://www.imsglobal.org/spec/lti-nrps/v2p0|Learning Tools Interoperability Names and Role Provisioning Services]] 16 April 2019 [[https://www.imsglobal.org/spec/lti-dl/v2p0|Learning Tools Interoperability (LTI) Deep Linking Specification]] 16 April 2019 [[https://www.imsglobal.org/spec/lti/v1p3/impl/|Learning Tools Interoperability Advantage Implementation Guide]] 16 April 2019 [[https://www.imsglobal.org/spec/security/v1p0|IMS Security Framework]] https://andyfmiller.com/ https://andyfmiller.com/2018/12/28/launching-an-lti-1-3-resource-link-using-openid-connect-third-party-login/ https://andyfmiller.com/2018/12/27/using-swagger-to-explore-the-lti-advantage-api/ https://advantageplatform.azurewebsites.net/swagger/index.html ===== Testing ===== Tool consumer and provider emulators were developed as part of the [[http://celtic-project.org/|ceLTIc]] project. They can be found at [[http://ltiapps.net/test/tp.php|provider]] and [[http://ltiapps.net/test/tc.php|consumer]]. And supporting more recent features at: [[https://lti.tools/saltire/|saLTIre]]. Additional tools, including an [[http://lti.tools/oauth/|OAuth sandbox]] can also be found via the IMS [[http://www.imsglobal.org/learning-tools-interoperability-testing-integrations|Learning Tools Interoperability: Testing Integrations]] page. [[https://online.dr-chuck.com/sakai-api-test/|Sakai LTI Unit Tests]] has a test tool consumer and a test tool provider and links to the PHP code. A tool provider, for versions up to 1.2, that shows all of the launch parameters it receives by type (required, recommended, etc.) and the XML sent and received in the Outcomes Management Service grade exchange can be found at [[test|NetKnowledgy LTI Tests]]. OAuth: * [[http://lti.tools/oauth/|OAuth sandbox]] * [[http://quonos.nl/oauthTester/|OAuth signature checker]] * [[https://www.oauth-signatur.de/en|oAuth Signature Generator]] ===== Code ===== Links to sample code can be found at [[http://www.imsglobal.org/learning-tools-interoperability-sample-code|sample code]]. Additionally: * .NET * https://andyfmiller.com/2016/03/21/ltilibrary-1-6/ * PHP * https://online.dr-chuck.com/sakai-api-test/ * Node.js * [[https://www.npmjs.com/package/ims-lti|ims-lti]] * Python, Ruby and PHP: UCF have made a few Open Source LTI templates available at https://github.com/ucfopen ===== Additional Resources ===== [[https://www.edu-apps.org/code.html|Writing LTI Stuff]] [[http://www.eduappcenter.com/tutorials/moodle|Configuration for various LMS]] [[http://celtic.lti.tools/wiki/LTI/Best_Practice|Learning Tools Interoperability® (LTI®): A Best Practice Guide]] [[http://www.imsglobal.org/lti/primeronLTIConformance.html|A Brief Primer on Learning Tools Interoperability Conformance for End-User Institutions, Faculty, and Buyers of Third-Party Services and Tools for integration into Learning Platforms]] [[https://andyfmiller.com/2016/03/26/ims-lti-outcomes-1-0-versus-2-0/|IMS LTI Outcomes 1.0 Versus 2.0]] [[https://confluence.sakaiproject.org/display/LTI/Home|Sakai LTI]] [[http://oauthbible.com|The OAuth Bible]] [[https://twittercommunity.com/t/how-to-generate-an-oauth-nonce/1307|Nonce]] [[https://www.edu-apps.org/build_xml.html|XML Config Builder]] (old) [[https://www.eduappcenter.com/tools/xml_builder|Configure XML]] (new)