This article uses terminology native to Populi, which in some cases might differ from what is used in Canvas. We trust you'll know what we're talking about! In some places we may refer to Canvas features, documentation, or screenshots; we are not responsible for any errors or omissions in Canvas-provided materials (just the ones in our own stuff!).
Canvas is a web-based learning management system (LMS) that some schools choose to use instead of or alongside Populi's own built-in LMS features. Populi includes a Canvas integration and synchronization feature that lets you share and sync information between the two systems. The information is kept up to date between Populi and Canvas either daily, hourly, or manually. Here's what's included in the exchange:
- From Populi to Canvas:
- All or selected Academic terms and courses
- All enrollment information including up-to-date students, faculty, and teaching assistants
- Usernames and accounts for anyone enrolled
- From Canvas to Populi:
- Current grade for each student in each synced course
- Final grade for each student when the course is complete
- Not included:
- Individual assignment/test grades
- Attendance records
- Any lessons, documents, or other course materials
To use the Populi/Canvas sync features:
- You should make a request to firstname.lastname@example.org and ask that they enable the Canvas Data Portal external tool on your account. This will allow you to access your Canvas data in flat files which may be helpful when making sure your Canvas and Populi username lists match. In the event that you accidentally delete a course by misconfiguring the integration, you can also retrieve deleted Course IDs from the Canvas Data Portal.
- You should involve someone on your staff who is familiar and confident with Canvas account administration with setting up and testing your integration.
- Your instance of Canvas must be publicly accessible on the web and not behind a firewall.
- The Canvas REST Web API must be enabled. This is usually enabled by default.
- The SIS Import feature must be enabled on your Canvas instance. This is typically not enabled by default. Some versions of Canvas, especially free or trial accounts, have this feature permanently disabled.
- No other 3rd party software may be currently using the SIS Import feature. If so, they will conflict with Populi's updates.
- Usernames and emails in Canvas must be identical to usernames and emails in Populi. For example: If student John Smith has the email address "email@example.com" and the Populi username "jsmith", then he must also have the username "firstname.lastname@example.org" in Canvas. For schools using an integrated email platform such as Google Apps for Education or Office 365, this will likely not be an issue. However if the students have DIFFERENT usernames in Canvas or were allowed to use any email during setup (eg. email@example.com), then there is no way for Populi to reliably sync the enrollment and user information.
- If you have existing courses in Canvas that must be maintained, the "SIS ID" field for each course will need to either be manually entered or uploaded in bulk via Canvas's change_sis_id.csv SIS Import option. An administrator or other member of your IT staff may need to assist with this and the initial effort could take several hours if you are updating SIS IDs manually. If you are just setting up blank courses though, you can skip this step.
- Canvas is open-source software and many versions of it exist in the wild. Some may not be compatible with Populi. If you require troubleshooting help, you may need to provide our support staff with access to your Canvas instance (via an admin account) so we can look around and see what is going on.
Setting up the integration
Warning: We cannot guarantee the stability of your Canvas information. This synchronization feature is a powerful tool, but it can cause data loss if not configured correctly. We recommend testing the integration against your provided Canvas sandbox instance (e.g. myschool.test.instructure.com) first to make sure it works as expected.
To set up the Canvas integration in Populi, you'll need to be a Populi Account Administrator for your school:
- Go to Account > Integrations. There are five Canvas-related settings:
- Canvas LMS Token: These are generated from inside your Canvas admin page in Accounts > Settings > Approved Integrations. They will look something like this:
- Canvas LMS Account ID: For most instances, this will be "1". If you have a more complex situation, you may need to enter a different number here.
- Canvas LMS Endpoint Domain: This is the name of the host where your Canvas instance resides. This is the same as the first part of the web address used to reach the site. (e.g.
- Canvas LMS Sync Frequency: When you are first getting things set up, select Never - Manual Only. Once you are certain everything is working, set this to Nightly or Hourly.
- Sync to Canvas LMS: This is disabled by default. When getting started, set this to Disabled by default, optionally enabled for specific terms or courses.
- Once all your settings are in place, use the Test Canvas LMS Access Token button on the right to verify that the token and endpoint are correct and the SIS Import feature is fully enabled on your Canvas instance.
- Finally, find the Populi courses (in College Management) you wish to include in the syncronization. In the Course > Info view, set their LMS Sync setting to Canvas.
Canvas can also be configured to use Populi as an identity provider for Single Sign-On (SSO) user authentication. If you're going this route, you'll really need to know what you're doing—configuring SSO is not for dabblers!
- Read about how to configure Populi as an identity provider.
- In Populi, go to Account > Account Settings > Single Sign-On (IdP) and configure Canvas as an application. Those settings will look something like this.
- On the Canvas side, go to Admin > Authentication and point to Populi as a SAML authentication provider. Here's what those those settings might look like.