See Experiences

Canvas Plugin development

Introduction

Throughout the education at the UT, students get or find challenges regarding education they like to solve using ICT. Sometimes the assignment comes through project works, sometimes discovered by students themselves.

Developing solutions brings in challenges regarding security & sustainability: How can the tool be accessed and safely interact within the existing UT-infrastructure; where can it be hosted & how can it be maintained or expanded over time.

In order to make sustainable (ed-tech) solutions, developing plugins within Canvas (the center of learning) using (educational) standards is the way forward. For this purpose, the UT facilitates an extra Canvas development environment including guidelines: https://utwente-dev.instructure.com/

A canvas development environment really helped us developing a more sustainable solution.Julian Stellaard - member design project "Canvas Frontpage Tool"

Added Value

Facilitating a dedicated development environment adds value by:

  • supporting education at the university
  • supporting students' entrepreneurship
  • creating sustainable solutions within the IT eco-system of University of Twente
  • Faster adoptation when the rules and guidelines are followed
  • accelerating innovation
  • preventing privacy violation by using a sandbox Canvas environment

WHY developing as plugin

Canvas is the center of our learning, and exists of standard components & features. But Canvas also allows the development of plugins by supporting the educational Learning Tool Interoperability (LTI) standard, and having well documented API's.

Developing using the LTI standard assures a secure way of using plugins (Oauth2), and gives the plugin contextual data about the student or teacher using the plugin

By using the latest standard (LTI 1.3 => LTI Advantage), the following aspects are in place:

  • Enhanced Security: OAuth2 and JSON Web Tokens (JWT)
  • Developer key (Request via canvas@utwente.nl)
  • Deep linking
  • Name & Role Provisioning (For syncing purposes)
  • Assignment/Grade Sync

Solution

To facilitate (students) a representative and supported development environment, the following components have been arranged:

Results

Several developments have been established, using Canvas plugin development. Some examples are:

  • TA-help.me (UT-widely available)
  • TCS Housing system (EEMCS)
  • Automatic Canvas frontpage generation tool (Prototype)

How to join this development

Start having a look at the guidelines at https://utwente-dev.instructure.com/courses/103

In order to build & test Plugins / Tools in Canvas, a separated Canvas test course can be obtained inside the Canvas development environment, send an email to canvas@utwente.nl

  • Include the desired name for your test course
  • Include a short description of the project
  • Specify who needs access to this course + in which role (as a Student, Instructor, Teaching Assistant)