Import Grade Comments

(23)
Problem:

Instructors need to upload comments for each student for an external assignment and have it displayed in the gradebook view for students.

 

Use Case:

This is especially significant when uploading assignment scores from an external system (student response "clicker" tools, Scantron services, external learning assessments). Often those external tools have a comments field with important details regarding the student's performance. In some cases the external system includes critical item information (e.g. "You answered A; The correct answer was B").

 

Proposed Solution:

  1. Allow a comments field (column) in the gradebook import csv file.
  2. Display the comment in a similar way that assignment comments are currently handled.
  3. BONUS POINTS: Allow the comments to be exported in the Gradebook export csv
129 Comments
maguire
Community Champion

You can already add comments in the gradebook via the API, see the code at: Copying grades from one Canvas course to another: Chip sandbox 

Also described in the discussion for:

Migrating grades from one Canvas course to another 

So while there Canvas GUI does not let you do this import automatically, it is very easy to do with a program.

jhlieth
Community Explorer

You write "...it is very easy to do with a program". I can see that it might be "very easy" for you, but 99% of folks here would not find this an "easy" solution. But setting that aside I looked at your code. Quite impressive! Thanks. I do not code in Python but can read your code and see how you did it.

When I first came to Canvas for help with this (and I did a lot of work, even speaking with technicians at Instructure and at my institution) to see if a solution existed that I could implement, I checked the API and did not find a way to do it. I looked in the API documentation under every category that remotely might involve grades and comments. There was nothing at that time (or perhaps it was not documented). I see that this has changed so that is very good.

So it does indeed seem "easy" to create code to read a csv file line by line where the comments are in the cell adjacent to the grade, and deposit those with the API at Canvas. Unfortunately for me it is not easy. So if you (or someone) could post code to do exactly that and nothing else, then that would be awesome.

lisa_tutty
Community Novice

Hi Gerald, At the risk of being the worlds biggest dummy, when I click on your link it takes me to a page that has: 

./insert_grades_and_comments.py 11 2524 new_grade_comments.csv

but that is not clickable.  So I put 

https://kth.instructure.com/courses/11/insert_grades_and_comments.py  and then 

https://kth.instructure.com/courses/11/insert_grades_and_comments.py 11 2524 new_grade_comments.csv

in trying to get to the actual python code.  But those pages both come up as file not found.  So I guess I just don't understand how to get to the python code?  I am very new to python, and to programming in general, sorry.  Can you please just explain how I get the actual code?  Thanks so much, Lisa.

maguire
Community Champion

I am sorry that it was not clickable, the link and file are correctly in place.

jhlieth
Community Explorer

Thanks. I also had the problem and am now able to get to the code.

erinpac1
Community Novice

Interesting... someone here also ended up coding a similar script as we also needed it - I'll have to look later to see if it helps w/ any improvement ideas:  GitHub - carmineguida/gtcanvas: Canvas LMS Bulk export/import of grades and comments. Initially deve...   

derek_hill
Community Novice

stefaniesanders‌ Thank you so much for making me aware of this. This is exactly what we're trying to implement.

jeff_quinlan
Community Explorer

The note on the original post above says that this feature has been added to your product plan for 2019 Q2. Could you explain what "Product Plan" means? and when we might expect to see this feature available? I cannot find it in the Ideas section of the Canvas Community site.

jeff_quinlan
Community Explorer

 @kona ‌, copying you as well in the event Jordan isn't in this role anymore.

Thanks!

maguire
Community Champion

A posting that I just wrote for another discussion might be useful for this discussion. The other posting can be found as my comment at https://community.canvaslms.com/thread/26414-add-a-column-in-gradebook-that-is-not-an-assignment

The two programs (insert_grades_and_comments.py
 and insert_grades_and_comments_indirect.py
) that are described there should be able to be adapted to do most of the things that people ask for in the above discussion.

To avoid the problem that lisa.tutty and  @jhlieth  had in accessing the previous program, I have put the two new programs in the github: https://github.com/gqmaguirejr/Canvas-tools

erc2
Community Novice

Thanks, Gerald. It looks like this would be very helpful for anyone who is able to add the code themselves. Unfortunately, my institution does not allow individuals to do this. It would be terrific if Instructure would simply add the code to give all users the option to use this functionality!

maguire
Community Champion

Certainly, every institution should have a procedure for making tools available to support the faculty in their efforts for the institution - even if the tool has to be run by the IT/education support staff. Has your Canvas administration actually removed the ability for teachers to generate an access token? (The implications of the comment by  @scottdennis  in https://community.canvaslms.com/thread/9629 are that this is non-trivial.)

Locally, there is no problem in students and teachers using the API - since the basic model is that anything you can do via the API is something you have permission to do via the web interface*. However, the administration does not give the teacher's role permission to create/modify/delete sections (because this same permission enables cross-listing - which the education administration does not permit for legal reasons - see https://community.canvaslms.com/groups/canvas-developers/blog/2019/06/12/createeditdelete-sections-a...). This means that a teacher cannot create/modify/delete sections via either the API or web interface. A teacher has to ask the education support office to do this for them. Currently, the administrators locally responsible for Canvas are defining a set of routines so that faculty can even get LTI applications approved. They have divided this approval into university-wide use and use in specific Canvas courses.

* Note that there are some operations for which there is no API, thus the only way that one can do them is via the web interface. An example of this is the lack of an API for creating/listing/deleting question banks. (seehttps://community.canvaslms.com/thread/14766-where-is-the-question-bank-apihttps://community.canvaslms.com/thread/29821-question-bank-api, and others).

h_carmichael
Community Participant

This seems to mirror aspects of another feature which unfortunately didn't gain much traction.

https://community.canvaslms.com/ideas/12004-bulk-import-attachments-to-assignments

As we are approaching the roll-out of Canvas to the remainder of our Institution we are getting an increasing number of requests for the ability to bulk upload feedback / attachments to assignments. Hopefully this can be taken into consideration under this idea!!

WHAT:

Teaching staff would like the ability to upload documents / attachments to assignments. This would allow teaching staff to provide feedback to students in document format and improve the workflow for those using feedback templates. 

 

WHY:

There are multiple assessment and feedback practices that require bulk upload of documents. E.g. For a course with a large cohort of students, staff have automated the grading and feedback process through scripts producing a PDF or Word document. This is also the case where feedback is provided to students in standardized templates. It is more efficient to grade and process feedback offline and to upload to the students when all grading / feedback is complete.

I note that it is possible to upload individual files through the SpeedGrader, however, this is time consuming and not viable for 250+ students.

 

HOW:

Allow a bulk upload files option in gradebook / assignments. The unique SIS ID for the student can be used in the file name (being uploaded) to match the Canvas User ID which would then attach the feedback to the correct person.

Helen

RobDitto
Community Champion

communityteam‌, would anyone be able to comment on how this idea went from "expected to influence" in a recent quarter, to "not expected" now? Our institution had a lot of hopes pinned on that expectation, while it existed.

jeff_quinlan
Community Explorer

I'd love to know this as well. We were/are very much looking forward to this function being added.

jsraquet
Community Member

I am very disappointed if they are actually taking this critical repair off their workbench. This is probably the largest malfunction in their application - inability to upload grades with comments.  

Stef_retired
Instructure Alumni
Instructure Alumni

 @RobDitto , we have the CSV project set up as a separate project that comes after our New Gradebook work. That separate project has been delayed a bit, and caused us to rearrange some of our priorities for the current quarter. So this idea is not out of favor, and we hope to get to it soon.

RobDitto
Community Champion

Thanks so much, stefaniesanders‌. I am happy to read that news about this idea, and it sounds like it could be part of a long-signaled improvement around importing and exporting. This will be awesome!

jsraquet
Community Member

Glad to hear it has not been removed, maybe even elevated? It's been almost four years so it would be nice if something could be worked out by the end of 2019. Thanks for your feedback.