Schoology has built a custom integration via the OneRoster API to support Infinite Campus rostering in Schoology and grade passback to Infinite Campus. This guide explains the requirements and steps to install the Schoology Data Exchange App and set up the Infinite Campus rostering app in Schoology. Once you’ve set up rostering, you can then also set up and enable grade passback from Schoology to Infinite Campus. Review the Grade Passback Integration guide for instructions on setting up the Infinite Campus Grade Passback app.
Installing the Data Exchange App
The Schoology Data Exchange App (DEA) is a custom administrative front-end for the Schoology-managed data transformation process and grade passback that lives on the Schoology Data Exchange Platform.
System Administrators can follow the below procedure to install the app from their App Center:
- From Schoology, go to the App Center in the left menu of the Home page.
- Click Organization Apps at the top of the page.
- Click the Install/Remove button to the right of the SGY Data Exchange app.
- Select for which user roles to install the app.
Select System Admin if you are planning to complete grade passback yourself for your instructors. Select the appropriate teacher or instructor roles if you are planning to enable them to opt-in to grade passback.
- Submit the form to complete.
Provisioning OneRoster Data into Schoology
Data provisioning is the process that takes files produced from the Data Exchange workflow and ingests them into Schoology. Normally, this process is managed via an auto-import operation that is scheduled to occur daily, but you can also initiate an additional manual provisioning run at any time.
This integration is a two part ETL (Extract, Transform, and Load) process:
- Set up Extract and Transform of data from the OneRoster API via the Schoology Data Exchange. Platform App, which produces Schoology compatible CSV files.
- Set up Load of CSV data via Schoology auto-import.
Accessing the Schoology OneRoster Integration
Open the rostering provisioning page:
- Click SGY Data Exchange in the left menu.
- Click OneRoster Provisioning.
Setting Up the Rostering Integration Page
Review instructions in this section to set up the OneRoster Provisioning Data Exchange page.
- Check Enable Scheduling to activate the auto-import schedule.
- Extract lead time: This determines how long before the daily auto-import process you want to begin prepping the files for ingestion from the SFTP Server. Select whether the Data Exchange process should begin 1, 2, or 3 hours before the auto-import. The number of hours you select in this menu is dependent on the amount of data being opted in, and how long previous runs have taken to complete.
For more information on setting up and configuring auto import, review this article in the Schoology Help Center.
- If necessary, set up SFTP Configuration. These credentials persist after initial setup; that is, you should only have to set them up once and then this area will already be populated with the correct credentials. This information matches the SFTP Configuration setup in the Auto-Import area.
- In the Remote Dir field, define a directory for auto import that is explicitly set up to only support this specific process; that is, do not use the same directory for both auto-export and auto-import.
Set up OAuth credentials for Schoology in Infinite Campus and enter the Endpoint Configuration information in this area. Review Infinite Campus instructions for the OAuth Client Management process here.
- Protocol: Choose HTTP or HTTPS in the menu, matching the protocol in the URL from Infinite Campus. This will usually be HTTPS.
- Base URL: Enter the part of the Infinite Campus API Host Name URL that appears between https:// and /learningdata/v1/endpoint.
- API Key and API Secret: Enter the Infinite Campus API Key and Secret in these fields.
- Provisioning Type: Select API in the menu. Speak to your Schoology Account Manager if you want to provision via manually-loaded CSV files.
- Filter Users, Courses and Enrollments based on Auto-Import mappings: If you have information for all of your schools in Auto-Import data files but only want to provision data from some schools, you can check this box to filter out any unmapped data.
Note: You must also map the school district in Auto-Import if any users are assigned to it. You can retrieve the district ID from the Schools.csv file on SFTP (parent sourcedId).
- Create and update Schools and mappings: Check this box to automatically create schools in Schoology that are set up in Infinite Campus. This process also updates school and district auto-import mappings.
- Create and update Grading Periods and mappings: Check this box to automatically create grading periods in Schoology that are set up in Infinite Campus. This process also updates grading period auto-import mappings.
Note: Do not use the previous two options if you are planning to also manage some schools or grading periods manually, or if you want to limit what is brought in from Infinite Campus by school or grading period. That is, do mix and match these automatic processes with manual ones.
- Remove district associations for students: Students are automatically associated with the top-level district school in Infinite Campus. Check this box to remove this association when importing into Schoology.
- Prepend Building to Course Code: Check this box to add the building ID (schoolSourcedId) plus an underscore in front of the Course Code associated with each section. Use if you're associating the same Course Code with sections across multiple schools.
- Create Email Addresses from Usernames: If email addresses in Infinite Campus are incorrect or missing, you can check this box to build email addresses to add to Schoology, with usernames and the domain you enter below in the Domain to Use field.
Note: This process does not create email addresses in the selected domain; instead, it enables you to add emails to Schoology based on the preselected pattern, to match existing email addresses.
- Domain to Use: The domain to append to usernames if you check the Create Email Addresses from Usernames box. For example, adding @myschool.com in this field will add that domain to all usernames and update the users’ email addresses.
- Supplemental Users filename: Use to add additional users to those that are in your Infinite Campus environment. Specify the filename relative to the Remote Directory you configured in the Remote Dir field. The CSV file must contain matching column headers to the Users.csv file created by this workflow.
- Role Overrides filename: Use to selectively update roles for users you’re provisioning into Schoology. Specify the filename relative to Remote Dir. The CSV file must contain the columns Unique Id and Role, and the users with those IDs will have their roles updated to the equivalent value in the Role column.
- Test Mode: This is useful for Sandbox or Test environments. Append email addresses with a unique value, which ensures that real email addresses are not being used in test environments.
- Generate Grading Tasks File: Click this box to download a file that lists all Grading Tasks and associated codes from your Infinite Campus environment. This option is useful if you are also setting up grade passback with Infinite Campus.
Review this help article in the Infinite Campus Knowledge Base for information on Grading Tasks.
- Add Sandbox Users, Courses, and Enrollments to Auto-Import files: Check this box to create a separate sandbox course for each user in the roles specified in the Sandbox Teacher Roles field below. Each user in one of these roles will be enrolled as the Course Admin in their own sandbox, with three mock student users enrolled in the course as well.
This process appends sandbox students to the Users.csv file, sandbox courses to the Courses.csv file, and sandbox enrollments to the Enrollments.csv file.
To use this feature, you must add the appropriate information to the following text fields:
- Sandbox Teacher Roles (comma-separated): Specify a comma-separated list of Teacher roles. Sandbox Courses will be created for these users and they will be enrolled as Course Admins for the course. The roles must match mapped CSV teacher roles as they appear in the Auto-Import area.
- Sandbox Student Role: Specify the role for the mock student users in the sandbox course. The role must match a mapped CSV student role as it appears in Auto-Import.
- Sandbox Student Building: Specify the building in which to create the sandbox student users. The building must match a mapped CSV building value as it appears in Auto-Import.
Teacher and Student roles identified in this process must already exist in Schoology; that is, the process does not create new users roles based on the values in these fields.
To add a new role in Schoology:
1. Click Manage Users in the left menu.
2. Add a Role Name and select its Type.
3. Click Save Changes to add the new role
4. The role now displays in the left Role column in the Auto-Import Roles area.
- Remove District for Roles: Specify a comma-separated list of roles that should have District Associations removed. The roles must match mapped "CSV Values" roles as they appear in Auto-Import.