Manually deleting a record after Diffing is activated

Jump to solution
khasson
Community Explorer

We recently turned on the Diffing via the API.  I need to know how it works if a student is manually removed via canvas application in error.  The file loaded always had that student in the enrollments file that is loaded to canvas.  The student was not added back in via the load, and had to be manually added via the canvas application. 

Is this normal behavior when a student is manually deleted in the canvas application?

1 Solution
mzimmerman
Community Contributor

Hi Kimberly,

Yes, that is expected behavior.

The diffing process just compares records in the feed between the current feed and the previous feed with the same data set identifier, and processes those records which are different.  The comparison is made between one feed file and the next, NOT between the feed file and the current state of the record.  So, it is totally unaware of changes made manually.

So, if a student is "active" in one feed and then deleted manually, the next feed with the student "active" will not be any different from the previous feed and will be ignored, even though the student is no longer active in the system.

If you are coming from Blackboard and used to the snapshot or SIS framework there, the Canvas diffing works completely differently, so it can be confusing (as it was for us!).

My understanding is that diffing is primarily intended to speed up the feed process, but as you've seen, it can sometimes yield unpredictable results.  We have stopped using it for enrollments at our school.

Mike

View solution in original post