SIS Imports - adjustable thresholds and notifications


A few months ago a patch to our gradebook software changed the course_id field in the courses.csv sent to Canvas, which caused a lot of chaos; the original courses and content remained intact, but had no teacher or student enrollments, and the newly generated course shells had all of the enrollments, but none of the content.

To help mitigate this problem in the future, I propose the concept of import thresholds, similar to that available in ClassLink Roster Server and Google Cloud Directory Sync (please reference the attached screenshots). If the changes made by an import would exceed either a total % or a set number, the import is stopped, an admin is notified that the import failed, and they can choose to temporarily override the threshold as needed. These settings could be integrated into the new SIS Integration page.

Instructure Alumni
Instructure Alumni
Status changed to: Open
Community Champion

SIS Imports have a change threshold param for batch_mode imports.


Something to consider:

We had a similar scenario last year when a school changed their calendar in the SIS. It trashed the existing section data and created new ID's. It took a day to restore the calendar for the school via backup, so everything would sync correctly again, without students losing their submissions and teacher having to recreate content in empty shells.

Depending on your institution and integration, it might be wiser to handle this locally in your own process. We have a ton of schools (370), and using a change threshold per import isn't as effective as having them and some circuit breakers on our side. Locally, we can have have the threshold say 25% calculated based on each schools courses/enrollments, not just the Canvas instance, which is what depending on the API param would be. This was actually one of our concerns in evaluating SIS Integrations last year, and no one could do thresholds per school (or sub account) only by instance. Which for us, meant the % change might be within the defined limit, but could destroy a single school or multiple before being triggered (if at all).


Community Member

Unfortunately, our data flows directly from our hosted SIS to Canvas, so I don't think we'd be able to put any circuit breakers in between.

You do have a good point about size, though...we only have 15 schools. Perhaps the thresholds could encompass the entire instance by default, but allow for threshold % customization per school if needed.

Status changed to: Archived
Comments from Instructure

As part of the new Ideas & Themes process, all ideas in Idea Conversations were reviewed by the Product Team. Any Idea that was associated with an identified theme was moved to the new Idea & Themes space. Any Idea that was not part of the move is being marked as Archived. This will preserve the history of the conversations while also letting Community members know that Instructure will not explore the request at this time.