Universal Student View Button for Teachers

Community Contributor
20 23 5,591

The Challenge

While the Student View button is easily found under the Settings panel of the course navigation menu, many of the instructors at my institution still would prefer for it to be accessible on their home screen. Other Learning Management Systems offer a Student View button that is a bit more global, thereby allowing an instructor to quickly jump into the Student View from just about any location in LMS.  @ian_heung  had previously suggested the idea for this feature in his idea, https://community.canvaslms.com/ideas/2057-quick-toggle-student-view‌, and its status has been updated to be on the Product Radar, but I am uncertain as to what the timeline for deployment may be.


I wanted to provide users with a solution for the interim period of time, while we wait for the release of this new feature. So I set out to create a javascript based option that would do the following:

  1. Determine if the user has an associated role as a Teacher for one or more courses.
  2. Render a "global" Student View button in the upper right corner the courses associated with this user.
  3. Hide the button when the user triggers the Student View.
  4. Prevent the button from rendering if the user is in a course where he or she is technically a Student.

For this solution, I simply created a custom javascript file with script that is deployed whenever a course successfully loads. The script assesses and validates information associated with the user, and uses Instructure's stylesheets, along with some javascript and jQuery, to append and render the default student view button in a new location. This button is placed along the top header of a course in the upper right corner, and can be clicked at any time by the teacher to trigger the student view. 


This video is currently being processed. Please try again in a few minutes.
(view in My Videos)


If you are interested in applying this to your environment, please feel free to fork or download from my Bitbucket repository, which can be found here.