The Instructure Product Team is working on implementing a better solution to collect your feedback. Read Shiren's blog for more information.
When launching a tool via Canvas LTI, we cannot request custom roles attached to course members via the names and role service.
Context: The Canvas implementation of the LTI launch provides several custom variable substitutions. One of these provides the Canvas role attached to the current user & course context. In the names and roles service (NRPS) provided by LTI, these variable substitutions can be included with each course member's data. According to the LTI spec, when NRPS is called with a resource link, the custom message in the member data should mimic the result of that member launching the tool themselves. However, the NRPS code currently only provides a limited whitelist of variable substitutions, which does not include that role variable. This whitelist is not currently documented but can be found in the codebase. Use case: Our Canvas instance uses a custom role to distinguish between enrolled students and prospective students. Since this variable substitution is not provided, LTI tools cannot distinguish between these two states to determine how to handle prospective students.
Expand the NRPS custom variable substitution whitelist here: https://github.com/instructure/canvas-lms/blob/master/app/serializers/lti/ims/names_and_roles_serial... to include additional membership data, particularly `$Canvas.membership.roles`, in order to support custom roles. If possible, also support additional membership-level substitutions such `$Canvas.enrollment.enrollmentState` to provide more fine-grained detail about course member enrollment state. The LTI documentation should also clearly describe which substitutions are or are not provided by NRPS.
admin,instructor,student,ta,designer,observer
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in