Enrolment via automated SIS script/cross-listing issue: use Section rather than Course?

Jump to solution
a_craik
Community Contributor

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):

  1. SIS import initially creates a new Canvas Course
  2. 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:

  1. SIS import initially creates a new Canvas Course and also creates an empty section with a Section ID
  2. 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:

  1. Correct logic?
  2. Similar to how your integrations work?

Many thanks to anyone who can contribute - arguably the best thing about Canvas is it's community Smiley Happy

Cheers

Adam

1 Solution
ColinMurtaugh
Community Champion

Hi Adam --

As Tracey and Ben suggest above, you're on the right track with the idea that you should be creating sections and feeding enrollments into those explicitly.

Here's what's happening: when you feed enrollments into a course (by specifying a course ID rather than a section ID in the enrollment data you send), if there is no section under the course, Canvas will create one for you and place the enrollments there. This is why you're seeing a new "Course A" section appear under the Course A course after the original Course A section had been moved into Course B.  When Canvas received subsequent enrollments destined for course Course A, it found that there was no longer a section under Course A, so it went ahead and created a new one for you. 

This is because enrollments must always live in a section, not directly under a course. For all courses that have people in them, there will always be at least one section. 

As the others have mentioned, explicitly creating sections and targeting enrollments to them will solve your problems!

--Colin

View solution in original post