[Admin Tools] Allow LTI items to be 100% width in deep linking response.

Problem statement:

Embedding content into the editor through the LTI editor_placement allows tools to integrate their content right into the wiki page and allows instructors to surround the content with additional text and material. When a LTI using this placement returns a LTI Resource Link in the deep linking response it can specify that the LTI tool should be displayed in an iframe by encoding this JSON in the JWT:

 'https://purl.imsglobal.org/spec/lti-dl/claim/content_items': [{ 'type': 'ltiResourceLink’, 'url': ‘https://mytool.example/modules-display.html’, 'iframe': {} }]

This works, however the LTI is displayed as a tiny iframe, we can supply width and height parameters in the response (eg {width: 1024, height: 800} ) however this then results in the iframe being a fixed width. It would be ideal to allow the iframe take up 100% of the width of the page, this is so that it adjust to the width of the end users device. If they are on a mobile it will only be a few hundred pixels, and if they are on a desktop it could be many times that. It appears however that you don’t support this for LTI links, returned {width: ‘100%’} doesn’t work (it gets ignored). Other deep linking responses types do support 100% width, for example when returning an image this works:

'https://purl.imsglobal.org/spec/lti-dl/claim/content_items': [{ 'type': 'image’, 'url': 'http://example.com/image.jpg’, ‘width': '100%’, ‘height': '100px' }]

And the embedded image is rendered taking up the full width of the RCE. Using the old and deprecated LTI 1.1 you can return LTI frames that are 100% width into the RCE. For example if you send back a payload of:

{ "@context":"http://purl.imsglobal.org/ctx/lti/v1/ContentItem”, "@graph”:[ { "@type":"LtiLinkItem”, "mediaType":"application/vnd.ims.lti.v1.ltilink”, "placementAdvice": { "displayWidth":"100%”, "displayHeight":70, "presentationDocumentTarget":”iframe” }, ”url":"https://mytool.example/modules-display.html” } ] }

Then the embedded LTI tool is rendered taking up the entire width of the page.

Proposed solution:

Although the specification doesn't allow for percentage widths being flexible in what it accepts (as it does with images) would allow people to migrate from LTI 1.1 and allow for better experiences across different devices.

User role(s):

admin

Added to Theme

3 Comments
matthew_buckett
Community Contributor
Author

Sorry it looks like all the nice formatting gets lost when submitting an idea (although comments do have nice formatting).

AlexisNast
Instructure
Instructure
Status changed to: Added to Theme

Thanks for submitting the idea, and no problem on the formatting! I've added this to the "Decrease friction when launching and using LTI tools" theme for further consideration.

matthew_buckett
Community Contributor
Author

I realised that I can edit the idea after posting so I've tried to improve the formatting.