instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.58k stars 2.48k forks source link

LtiDeepLinkingResponse can indicate that link open in new tab #2157

Closed matthewbennink closed 1 year ago

matthewbennink commented 1 year ago

Canvas defaults to using an iframe (new_tab: 0) for ltiResourceLink content items. This requires that a tool provider use the Canvas HTTP API to update each module item or assignment to specify that it open the LTI link in a new tab.

Since Canvas doesn't currently take the window.targetName into account when handling ltiResourceLink content items, it seemed OK to handle a value of "_blank" as a special case for indicating that the content should open in a new tab.

This would not affect any existing content and it's unlikely (?) to surprise any users who have set a targetName of "_blank". In fact, it may now do what they've intended it to do.

Test Plan:

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

matthewbennink commented 1 year ago

Relevant part of the LTI Deep-Linking spec: https://www.imsglobal.org/spec/lti-dl/v2p0#lti-resource-link. See the window property in particular.

xandroxygen commented 1 year ago

@matthewbennink thanks for your contribution! This change has been merged and will be deployed to production on April 12th