Skip to content

Ensure that Canvas exports work when importing in Quizzard. (6)

Marieke multiple times requested this feature. Although we want to remain independent of any format, Marieke really wants to support the columns of Canvas directly.

Therefore it was decided to support the Canvas CSV format as a separate format in Quizzard. This would be a 'separate' document format like we already have normal CSV, Open Office XML and Binary XLS. We would call this format Canvas Comma Separated Values and implement a separate CsvSchema for this. This is quite easy to support, as we already have an extendable architecture for import/export since #2 (closed) got implemented.

Based on a recent Canvas export, we know that a Canvas CSV is really comma separated, with double quotations to denote Strings, possibly containing spaces. This is supported by Jackson. The following columns are in there:

  • Student Number: The student number of a student without the s at the beginning, e.g. 1234567
  • Login Id: The student number of a student with the s at the beginning, e.g. s1234567
  • Full Name: The full name of the student, first name and family name, e.g. John Doe
  • Sortable Name: The sortable name of the student, family name comma first name, e.g. Doe, John
  • Email: The e-mail address of the student used in Canvas, e.g. j.doe@student.utwente.nl or j.doe@gmail.com
  • Course Role: The course role of the student. Always student in a student export list. In an all member export list, this can also be Teacher.

The proposal for Canvas Comma Separated Values as format is:

  • Map Login Id to Quizzards Identifier.
  • Map Sortable Name to Quizzards Last name and First name, naively, just by splitting on the comma.
  • Map Email to Quizzards Email.

Tasks:

  • Add a DocumentFlavor to getParticipantListDocument to support different configuration flavors (different mappers for columns effectively). (1)
  • Implement a custom mapping for CsvDocument that works for Canvas CSV documents. (2)
  • Ensure a flavor exists in DocumentFlavor for Canvas CSV. (1)
  • Expose the Canvas CSV type to the endpoint and front-end. (2)
Edited by Remco de Man
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information