Showing results for 
Search instead for 
Did you mean: 

Anyone using the Diff ID? or... How do you handle the SIS feed at semester transitions?

When we first started using Canvas, we had set it up according to the directions Instructure provided, including using a "diffing_data_set_identifier" value.  As we've progressed, we realize that this value is both a positive and negative.  Positive in that if we actually had a pause in our classes, we could change the Diff ID and cut off all the old data on our SIS feed.  Negative in that until we do change the Diff ID, we have to keep all that legacy data on our SIS imports, or Canvas tries to delete that data.  So my question is two parts -

  1. anyone using Diff ID (and how do you use it), and also,
  2. what's your procedure when you change terms in regards to your SIS feed?

We've been a bit hamstrung on what we can actually address, so we've not really worried about it, since it's working as-is, but with the summer hitting now, I've been able to carve out some time with our systems people to evaluate and determine if/what we should do going forward.

Thanks for any insight you can provide.

Tags (2)
0 Kudos
3 Replies
Community Coach
Community Coach‌, interesting question and I'm honestly not sure if the answer. I'm going to go ahead and also share this with the‌ group innthe Community to see if they might be able to help as well. 

Adventurer III

I'm in the K12 world so I'm not sure how much this will help you out. We have courses that are either full year, 1st Semester, or 2nd Semester. We put those classes in different Terms because they have different start and end dates. Then we also give each one a different diffing ID. The last time I checked, our nightly uploads work like this:

  1. We send up accounts, courses, sections, users, and crosslists in batch mode with no diffing ID because we create the courses and sections for the whole year and use terms to open and close them on the correct dates. That way any courses or sections that get deleted from our SIS will be deleted from Canvas as well. Note that we do not send Enrollments in this batch.
  2. We then send Enrollments for 1st Semester courses using a unique diffing ID. We use task scheduler on our server to run the Powershell script that sends everything using the API. At the beginning of each school year I set this task to only run for the 1st Semester using some date ranges.
  3. Then we send 2nd Semester courses using a unique diffing ID (only during 2nd semester)
  4. Then we send the big one (300,000ish records) for full year courses with a unique diffing ID.
  5. One day a week (friday or saturday I think) we send a remaster for the enrollments files just to clean up any issues with students/teachers who were manually removed for whatever reasons. Technically we don't have to do this one if they would let me take away rights to add/remove people from courses. A remaster takes around 2-3 hours to complete.

I hope that helps!

Community Coach
Community Coach,

We are giving the Canvas Admins area a little bit of love (especially questions that are really, really old) and just want to check in with you.  This will also bring this question new attention. 


Were you able to find an answer to your question? I am going to go ahead and mark this question as answered because there hasn't been any more activity in a while so I assume that you have the information that you need. If you still have a question about this or if you have information that you would like to share with the community, by all means, please do come back and leave a comment.  Also, if this question has been answered by one of the previous replies, please feel free to mark that answer as correct.