Canvas - Formatting Compliance Course Enrollment Files for CSI Processing [UW-Madison]
Overview
There are a couple of options for enrolling "noncredit" learners into Canvas using CSI (https://csi.canvas.wisc.edu/uwcsi):
- Simply placing them into the course, into one section/grouping
- Putting them into different sections that would group them into major, advising group, etc.
Prerequisites
It is assumed that, at the time the enrollment file gets processed in CSI, that the students will all have activated NetIDs and will have PVI identifiers. This will pull them into the Canvas database, so they can then be enrolled into a particular Canvas course. The Canvas course should also exist before the file processing begins.
How the process works
We have a tool that will automatically retrieve a file from a location such as Box, then pull it over onto our CSI server, and then process it into Canvas. The process can run however frequently it needs to—so let’s say a customer wants to update their course enrollees every four hours. If they update your files on a four-hour basis, we (with TRAD's help) can set our tool up to grab them and process them.
We do delta processing for adds and drops. So the files provides should include students who need to be enrolled, and every new file should continue to include all existing past enrollees as well as any new ones. If a student is omitted from your file they will be dropped from the Canvas course.
File formatting
Option 1: The following format would be used for enrolling learners into one single “section” (grouping) in the course. In this file, the data fields and formatting are pretty straightforward:
- root_account: leave blank
- user_id: student PVI
- role: always ‘student’
- role_id: leave blank
- course_id: this will be the identifier assigned to the Canvas course shell. We can make it anything, but we usually apply a standard format of termcode:course topic/subject. For now, we can just say it’ll be “1206:SOAR”
- status: always ‘active’
- associate_user_id: leave blank
Option 2: This format would place learners into individual sections that would group them by department, major, or any other grouping selected. This will allow the learners to see custom content based on that section grouping, to be sorted by section, and so on. Formatting is as follows:
- root_account: leave blank
- user_id: student PVI
- role: always ‘student’
- role_id: leave blank
- section_id: this will be the identifier assigned to the Canvas course section the student should be placed into. We can make it anything, and we (or, even better, the customer) will need to set up the sections in Canvas beforehand, which isn’t really too much work. Any naming convention is fine, but it needs to be unique (ie not used in another Canvas course).
- status: always ‘active’
- associate_user_id: leave blank
The enrollment files need to be in CSV format, with quotations around the individual values (even blank ones) as well as the headers. Sample:
"root_account","user_id","role","role_id","section_id","status","associate_user_id"
" ","UW006H007","student"," ","1212:51580","active"," "
" ","UW081F973","student"," ","1212:51580","active"," "
" ","UW081F973","student"," ","1212:70126","active"," "