Not sure if this is a question for Canvas Developers, Canvas Admins or LMS Migration Strategies, so it's a shout out to you all here!
We're into a 2nd year of Canvas now, and have had a working SIS integration from the get go. The daily automated SIS import will:
- Create new Canvas courses (for any courses that have been added into the SIS) and put them into their designated sub-accounts and correct terms
- Add any new enrolments for staff and students onto Canvas courses
We've got some real issues where Canvas Sections are being cross-listed. If the Section from Course A is cross-listed into Course B, and then a student enrols on Course A in the SIS, once the SIS import has run then that student will appear in Course A in a new section (also titled "Course A"). This means that cross-listing a section is only really possible once the last student has been enrolled (and can you ever be sure who that last student is??).
I'm sure it doesn't have to be this way - enrolment data should be dynamic and follow the cross-listed section rather than landing in a new section in the original course, right?
Here's my guess as to what's happening (in layman's terms as I'm no programmer):
- SIS import initially creates a new Canvas Course
- SIS import adds enrolment data to Course (which automatically creates a section of the same title as the course - just like when you manually create a course)
Due to the focus on Course (rather than Section), when the SIS imports new enrolment data for a Course that has already had it's section cross-listed, the original Course reappears (as it will have been hidden by cross-listing) - it doesn't have a section though, so as per no.2 above, a section is automatically created for the new enrolments.
So here's my guess as to how it should be:
- SIS import initially creates a new Canvas Course and also creates an empty section with a Section ID
- SIS import adds enrolment data to Section
Now the focus is on Section, so when the SIS imports any new enrolment data for an existing Course that has already had it's section cross-listed, the new enrolment data should be pushed to that cross-listed section.
Is this:
- Correct logic?
- Similar to how your integrations work?
Many thanks to anyone who can contribute - arguably the best thing about Canvas is it's community 
Cheers
Adam