If an instructor "deactivates" a student in one of their courses in the Canvas UI, and then the SIS Import still shows the student as active in the course, what happens? Which one overrides?
Some changes made via the GUI are "sticky", meaning they will not be overridden by the settings in the SIS import file. Per the document at SIS Import Format Documentation - Canvas LMS REST API Documentation
When a user makes a change to imported data in Canvas (e.g., changes a name), this change is "sticky" and is set as the new default. By default, these "sticky" changes are not overwritten on the next SIS import. This can be overridden by selecting the Override UI option, which allows Canvas to overwrite any "sticky" data updated in the Canvas UI. Otherwise, changes from an import with conflicting data would be disregarded and the existing user data would not be changed. See below for an indication of which fields have this "sticky" property
However, looking at the format for "enrollments.csv", the "status" field is one that is NOT sticky, so any manual changes to the status, such as marking them "inactive", should be overwritten by the SIS import.
Thank you, Mike, for the quick and complete answer!
Happy to help!
Now that I understand that a student’s status in a course is not “sticky”, I wonder if you have any ideas about how we could allow a faculty member to deactivate a student and make it stick. Our SIS uploads are completely automated, and run every 3 hours, and are full batch updates. Can you think of any way to accomplish this? They want a way to disable a student’s access to a Canvas course without dropping them, and it must be reversible.
The only "sticky" fields are the start and end date, but setting those in the past just makes the enrollment "concluded" and still gives read-only access (in my quick test). There's also not really an easy way to get at those via the GUI that I can see, so "sticky" seems kind of like a moot point!
I think that you'd probably need to find some way to flag them as inactive somewhere "upstream" in the feed process, like a form that the instructor fills out which flags them in your SIS system.
Thanks, Michael, that is what we are pursuing now, but I wanted to check to see if there might be another way.
Retrieving data ...