Compatible SIS for self-hosted Canvas

105 views
Skip to first unread message

nagaedadm

unread,
Feb 4, 2022, 6:46:03 AM2/4/22
to Canvas LMS Users
Hi.

Exploring SiS options - and none so far entertain a self-hosted Canvas instance.

Can someone please suggest options known to work with a self-hosted Canvas instance?

thanks.

Graham Ballantyne

unread,
Feb 4, 2022, 12:36:48 PM2/4/22
to 'Kalvin Prose' via Canvas LMS Users
Can you explain more about what you mean by "compatible"? Canvas can import from pretty much anything using the SIS import functionality, as long as you can produce a CSV file that matches the specs, or use the information provided by the SIS to make the appropriate REST calls (the SIS import feature is what you should be looking at, though). https://canvas.instructure.com/doc/api/file.sis_csv.html

We're a self-hosted school and a PeopleSoft shop. We consume enrollment information from the PeopleSoft SIS to create compatible import files that then get imported into Canvas to handle enrollments. We don't automatically provision courses; instructors use a form that can get their current teaching assignments to request course creation and cross-listing. Behind the scenes, that tool just creates a courses.csv file and calls the SIS import API to submit it to Canvas.

– 
Graham Ballantyne 
Senior Systems Engineer —  IT Services 
Simon Fraser University

--

---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/canvas-lms-users/cf7ffdba-bfa0-4008-add9-539c9a0e659an%40googlegroups.com.

nagaedadm

unread,
Feb 4, 2022, 7:27:26 PM2/4/22
to Canvas LMS Users

Hi Graham,

thanks for your response.
What I mean by 'compatible' is the ability for an off-the-shelf SIS to enroll/manage students. We have been interacting with several vendors but none want to serve a self-hosted solution (us).
I suspect it's because they cannot guarantee performance due to varied environments between self-hosted clients. Not sure.

Yes, we will probably resort to the SIS import feature but are still looking for an SIS that can interact with Canvas via the API.

This comment interests me:
 "Behind the scenes, that tool just creates a courses.csv file and calls the SIS import API to submit it to Canvas." 

I have been trying to create a django app to do enrollments for us but i found out that the Canvas OAUTH API doesn't allow implicit grant and the user will have to click 'grant' or similar in order to allow the django enrollment app to enroll them. Something I am trying to eliminate.
so would it mean we can authenticate them (email) in django and then pass their details to the SIS enrollment API?
anyway this reply has drifted.

thanks

Graham Ballantyne

unread,
Feb 4, 2022, 7:49:31 PM2/4/22
to 'Kalvin Prose' via Canvas LMS Users
On Feb 4, 2022, at 16:27, nagaedadm <vip...@nagaed.com> wrote:

Yes, we will probably resort to the SIS import feature but are still looking for an SIS that can interact with Canvas via the API.

You should be looking at the SIS import API regardless of whether you find a SIS that can magically work off-the-shelf. Unless your needs are extremely simple, you'll likely need to have your own business logic to determine enrollments. The script that handles processing our SIS data and turning it into enrollment CSVs is 1100 lines long and a lot of if-branches for all the various exceptions and workarounds that have cropped up over our nearly 10 years of running Canvas.


This comment interests me:
 "Behind the scenes, that tool just creates a courses.csv file and calls the SIS import API to submit it to Canvas." 

I have been trying to create a django app to do enrollments for us but i found out that the Canvas OAUTH API doesn't allow implicit grant and the user will have to click 'grant' or similar in order to allow the django enrollment app to enroll them. Something I am trying to eliminate.
so would it mean we can authenticate them (email) in django and then pass their details to the SIS enrollment API?
anyway this reply has drifted.



Both our course creation tool and our batch enrollment scripts use an API token belonging to an admin user to perform the SIS CSV upload.

nagaedadm

unread,
Feb 5, 2022, 9:25:21 PM2/5/22
to Canvas LMS Users
thanks Graham,
We will use the Sis API and either use it directly in Canvas or build something around it.

Reply all
Reply to author
Forward
0 new messages