[BD-24][TNL-7824][BB-3373]: Implement ltiResourceLink deep linking content presentation

Description

This PR implements the base LTI Deep Linking content presentation for `ltiResourceLink` types.
68d9c510cba3b78490c48ce8fc83c9a4b0ba5481: contains the full code changes.
5973a4350416ff61bef4e2321685cfe38986b10f: adds tests to check functionality.

*Testing instructions:*
1. Checkout this branch.
2. Set up a local LTI tool (recommended: https://github.com/dmitry-viskov/pylti1.3-django-example) and ngrok tunnel.
3. Do a deep link launch (from Studio link).
5. Select an option in the LTI tool's UI.
6. Go to http://localhost:18000/admin/lti_consumer/ltidlcontentitem/ and check that the option you selected is stored in the model.
7. Go to the LMS and load the LTI section.
8. Check that the local tool opens with the configuration you've selected in step 5.

*Conformance testing:*
1. Set up LTI + Deep linking.
2. Do a LTI launch using the Studio links and post it back to the LMS.
3. Open the LTI section in the LMS, the content from the IMS tool should load.
4. Take a screenshot and upload to their conformance tool.

*Reviewers:*

  • [x] @shimulch

  • [ ] @nedbat

Done

Assignee

Unassigned

Reporter

Open Source Pull Request Bot

Labels

Github Latest Action by edX

None

Github PR Last Updated At

None

Github PR Last Updated By

None

Github Organization

None

Customer

PR Number

138

Repo

edx/xblock-lti-consumer

Contributor Name

Giovanni Cimolin da Silva

Github Latest Action

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Blended Project Status Page

None

Github Lines Added

264

Github Lines Deleted

23

Priority

Unset