SIS - SFTP Flat File Integration

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:

  1. 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.

  2. 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.
Format of the section ID:
Section id = “{course_id}-{section_code}-{term}”

"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"

email

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)."

"paula@campuswide.edu"

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+"