Some time ago I mused about administrative assignments to be able to keep track of information concerning a student. At the time I turned to custom columns as these can have arbitrary text in them (but the field is limited in length).
However, one of the perils of custom columns is that while the values are written to the database - there is no API to be able to recover previous values.
So this brought me back to thinking about an assignment. Well, it turns out that you can put arbitrary strings as the "name" of a level in a "letter grade" grading scale. One of the values I would like to keep track of is who is the examiner for a given student when they do their degree project (such as a Bachelor's or Master's thesis). It turns out that you can put the examiners' names into the grading scale and then add a value field to each of them.
Here is an example of what you can now see in the grade book:
Set a "grade", i.e., select the examiner's name
State in the gradebook
What does such a "grade scale" look like
Is there a limit to the number of "grade levels"?I should check the source code to see if there is an upper limit. However, my quick tests showed it worked for at least 50 names.
Could it be better, yes - it would be nice to be able to put the examiner's Canvas user_id in, rather than their name - while still having their name shown in the list.
However, the next task is to figure out how to take the information for all of the examiners in the department or school and assign each of them a "value" to have the same value used for a given examiner across courses. If done cleverly this should enable the addition of new examiners, without having to renumber all of the existing examiners (after all the values are floating-point numbers, so there should be plenty of room between them 😀).
I am not so sure that ordered by their first name is the best way to list the examiners in a grading scale, but it was easy to do. In my earlier LTI based method of getting this data from a pulldown list in a web page, generated by ruby, I used Canvas' sort-names, i.e., ordered by their last name.