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/courses/103
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:
- Canvas development environment: https://utwente-dev.instructure.com
- Linked to UT SSO
- Canvas (test) course
- Developer keys (full API access)
- Development rules & guidelines: https://utwente-dev.instructure.com/courses/103/
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)