Is real-time ERP-Canvas enrollment sync possible? We (the University of Minnesota) use PeopleSoft.
Context; we are working on ways to reduce or eliminate manual enrollment of students into enrollment-linked Canvas sites for all of the reasons you'd imagine (FERPA issues, registration and credit issues it can create, etc.). As many of your are likely well aware, instructors manually push in students to get them immediate access to the Canvas site because the enrollment update may be hours away (we update 4 times per day).
In my previous position at Macalester College (a Moodle-Banner campus), we were having the same challenge with manual student enrollment and inevitable calls to the Registrar and IT by students asking why they didn't have access to the Moodle site for a course they'd just registered for. Real-time Banner-Moodle enrollment sync is feasible and we were moving toward it when I left that role as a way to eliminate the need for this particular manual student enrollment use case and to reduce the help traffic related to access to Moodle sites before the enrollment sync ran again. Bethel University here in MN has been doing real-time Banner-Moodle enrollment sync for years.
I'd certainly appreciate hearing from anyone at an institution that is doing this or exploring this.
Fritz Vandover, Ph.D.
University of Minnesota-Twin Cities
firstname.lastname@example.org, sorry that your question has been sitting a while unanswered! Due to the technical nature I'm going to share this with the https://community.canvaslms.com/groups/canvas-developers?sr=search&searchId=a79079f2-da50-41be-85da-... and https://community.canvaslms.com/groups/admins?sr=search&searchId=b06bd579-78fd-478a-b395-bb5c3131193... to see if they can help!
My institution uses #campusvue as their sis and we have nearly real-timeenrollment with Canvas. I have accomplished this by writing some code that currently runs every 15 mins (could run more frequently if needed/wanted) to pull information directly out of our sis and into Canvas.
This process I wrote requires setting up of your own tables to know what has and hasn't been sent to Canvas, thereby only sending deltas up. Doing this limits the number of api calls I need to make to Canvas each time these processes run.
Not sure if this is what you're looking for, but real-time can be done, even if there isn't an out of the box solution available from PeopleSoft.
Like Brian, we have a nearly real-time process that runs hourly during school days. The Canvas API makes this pretty easy for a developer. I'd like to quickly point out the difference between real-time and automated processes for implementation, because both are technically achievable with wildly different costs and overhead.
Real-Time, would likely depend more on a program continuously checking a database for changes and then making API calls to update individual and associated records in Canvas while running. This would take time to develop, would be extremely institution dependent, and while the Canvas and the API don't change too frequently, coding and supporting program development is an investment.
you can change canvas. to your.instructure.com
Automated, would be scheduling a series of tasks, specifically to query > format > export the data to a CSV file, and then use the SIS File Import API to upload the files in bulk to Canvas. An IT department should be able to do this pretty easily with a wide variety of technologies, often the ones they already have in place. While a program takes time to write, test, and maintain; the ability for a database admin to write views or queries and automate file exports is pretty universal.
Unlike Brian, it seems my SIS data is a bit slower. I get a set of SQL Views of the SIS data to generate the users, courses, and enrollments CSV files. The views and my queries take about 30 minutes to complete. I'll outline our process below.
All Users - Students and Employees
All Courses - SIS Courses and Employee Workrooms (every employee gets a shell)
All Enrollments - SIS Students, Teachers, Employee Workrooms and some other courses every employee is enrolled into
Same as Weekly, except:
SIS Students - queries students added or updated ±1 day from today
SIS Enrollments - queries changes ±7 days from today
This is my favorite part. I recently started using MERGE (Transact-SQL) | Microsoft Docs with my daily user and enrollments queries for students and teachers*. It inserts or updates changes, and then finishes the query with a call to select records where the 'batch' timestamp is in the last 45 minutes. This has reduced school and registrar phone calls and aided our departments outreach process. Apparently people like saying and hearing 'Check in an hour' more than 'Check tomorrow'.
*I only do SIS students, courses, and enrollments hourly, employees don't typically change during work hours.
I wanted to check in with you and see how you have gone with this, and if the previous responses have given you the insight you sought.
We also do this at UTS, so happy to give some additional insights if you would like.
Shortly after I posted this question, our central IT group announced that enrollments would update hourly.
Thank you to everyone who posted their insights!