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
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.