SIS - SFTP Flat File Integration
Overview
Ready Education offers a flat-file (CSV) integration to institutions who have purchased the Academic Integrations Module to enable My Courses.
The flat-file integration allows CampusGroups to consume student course enrollment and schedule data from your institution’s Student Information System (SIS) in the form of flat files (.csv). This is an option for institutions that:
Use an SIS or CRM that is not supported for direct integrations with CampusGroups, such as Workday, Salesforce, and Jenzabar.
Supported systems include Ellucian Banner, Ellucian Colleague, Anthology Student, and Peoplesoft Campus Solutions.
Want an alternate way to integrate their SIS (even if it is one of the supported systems listed above).
Integration Requirements
1. SFTP Configuration
Once your flat-files are generated, you can create an automated job to upload these files to your dedicated SFTP space.
For SFTP automation we will require the following from your IT team:
The SSH public key you plan on using (which must be a RSA key in the form of "ssh-rsa [KEY]")
Optional but recommended for added security: the IP addresses that the connections to the SFTP servers may be coming from
Once you provide this information, our Integrations team will provision the SFTP server for you, and will provide you with the following SFTP access information:
hostname
username
the folder in which the .xls, .xslx or .csv files should be uploaded to
The password will be the private key from your SSH key pair. For more information on how to generate an SSH key pair, refer to this article.
2. Upload Flat-Files via SFTP
The CampusGroups flat-file integration requires the school to produce five (5) separate flat-files in .csv with either a Comma(,) or Pipe(|) as the delimiter, and values should be double quoted that contain SIS data as follows:
Terms
Courses
Sections
Schedule
Students
Note: The file names uploaded through SFTP must be the same as those mentioned above.
As a starting point, you can use our flat-file integration template as reference. Each sheet in the file corresponds to one of the flat files you would need to generate.
To begin the integration process, upload a set of 5 files to the /integration/ folder in your SFTP space. Our automated job will process the files once uploaded within 4-6 hours.
Terms | ||||
Field title | Required | Column Index | Description | Example |
term_id | Yes | 0 | Unique string or number that identifies the term, this is referenced in the Courses file. |
|
name | Yes | 1 | A string representing the name of the term |
|
start_date | Yes | 2 | Start date of the Term in YYYY-MM-DD format. Also accepted: A UNIX timestamp, MM-DD-YYYY, MM/DD/YYYY, YYYY/MM/DD. |
|
end_date | Yes | 3 | End date of the Term in YYYY-MM-DD format. Also accepted: A UNIX timestamp, MM-DD-YYYY, MM/DD/YYYY, YYYY/MM/DD. |
|
Courses | ||||
Field title | Required | Column Index | Description | Example |
course_id | Yes | 0 | Unique identifier that identifies the Course and Term, referenced in Sections file |
|
term_id | Yes | 1 | Term identifier, Reference to the term_id in the Terms file. |
|
name | Yes | 2 | The full name of the course (not the course code) |
|
course_code | Yes | 3 | Short code used to uniquely identify the course within the institution. |
|
description | Optional | 4 | A longer-form course description. | "Introduction to Biology is a study of the mechanisms ..." |
Sections | ||||
Field title | Required | Column Index | Description | Example |
section_id | Yes | 0 | Unique identifier that identifies the course, section code, and term. Used for mapping the course object in your institution's database to course information in your Learning Management System and to the Ready Education's database. The section_id is referenced in the Students CSV to link students to their enrollments, and in the mapping to LMS (if applicable). This value is never shown to the users on the app. | "Mech101-01-Fall2019" |
section_code | Yes | 1 | A string or number used to differentiate students taking the same course taught different by professors or taught at different times. The course code and course section code typically uniquely identify the course a student is taking. | "01-A" |
course_id | Yes | 2 | Course identifier, reference to course_id in Courses file |
|
campus_id | Yes | 3 | Unique identifier for the campus. Not displayed to users. | "MC1" |
external_merge_id | No | 4 | Unique identifier used to map a single LMS course's data to various courses | "X-Mech101-Fall2019" |
Schedule | ||||
Field title | Required | Column Index | Description | Example |
section_id | Yes | 0 | Identifies course, section and term, references section_id in Sections file |
|
days_of_the_week | Yes | 1 | A string representing the days of the week on which the course takes place. M [Monday], T [Tuesday], W [Wednesday], H [Thursday], F [Friday], S [Saturday], U [Sunday] | "M,W,F" or "MFW" |
start_time | Yes | 2 | The time at which the course starts, in hours and minutes expressed as HHMM (0730, 1530). Also accepted: in seconds after midnight. Leave blank for online course with no start and end time. | "0900" |
end_time | Yes | 3 | The time at which the course ends, in hours and minutes expressed as HHMM (0730, 1530). Also accepted: in seconds after midnight. Leave blank for online course with no start and end time. | "1100" |
instructor_name | Yes | 4 | A string representing the instructor's full name. If more than one instructor exists, include both names, separated by a comma. | "Paul Markowicz" |
active_from | Yes | 5 | A Datetime string in the form YYYY-MM-DD of when the course starts. Also accepted: A UNIX timestamp, MM-DD-YYYY, MM/DD/YYYY, YYYY/MM/DD. | "2020-08-15" |
active_until | Yes | 6 | A Datetime string in the form YYYY-MM-DD of when the course ends. Also accepted: A UNIX timestamp, MM-DD-YYYY, MM/DD/YYYY, YYYY/MM/DD. | "2020-12-20" |
location | Yes | 7 | The location (building name and room number). If an Online course, use "Online" or "Web". | "Thomas Great Hall 325" |
latitude | Optional | 8 | The longitude value of the location where the course is taught. Displays the map location in conjunction with longitude. | "40.026498" |
longitude | Optional | 9 | The latitude value of the location where the course is taught. Displays the map location in conjunction with latitude. | "-75.315285" |
lecture_type | Optional | 10 | Lecture type or instructional method | "Lab work" |
Students | ||||
Field title | Required | Column Index | Description | Example |
student_id | Yes | 0 | "A unique string (or number) that identifies the student." | "A1234456" |
section_id | Yes | 1 | "Unique string (or number) that identifies a course associated with this student. This Identifier is used for mapping the course objects in the course-info.csv to the user object in the student-info.csv." | "Mech101-01-Fall2019" |
Yes | 2 | "Primary email on file for the student, in form of string. Used for mapping the student to the LDAP or SingleSignOn system (e.g. CAS or SAML)." | ||
grade | Optional | 3 | "Applicable for each course in which the student is enrolled e.g. mid-term grade or final grade. Open text field, we support numeric or letter grades." | "B+" |