NGLSync Admin HelpSkip to main content.

OneRoster Specs

Prepare your OneRoster package for upload to NGLSync.

File format

All OneRoster packages must be in a valid .zip file with the .csv files at the root of the zip. Do not compress the folder containing the .csv files.

Version

NGLSync supports OneRoster versions 1.0 and 1.1.

orgs.csv

OneRoster CSV File Name OneRoster Version 1.0 CSV Column OneRoster Version 1.1 CSV Column Cengage Description
orgs.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
orgs.csv status status status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
orgs.csv dateLastModified dateLastModified status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
orgs.csv name name School name
orgs.csv type type Not used.

Cengage considers any organization with associated enrollments a school.

orgs.csv identifier identifier Not used
orgs.csv metadata.classification Not used
orgs.csv metadata.gender Not used
orgs.csv metadata.boarding Not used
orgs.csv parentSourcedId parentSourcedId Not used

users.csv

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
users.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
users.csv status status status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
users.csv dateLastModified dateLastModified status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
users.csv enabledUser If this is set to false, the user will not be created or will be deactivated.
users.csv orgSourcedIds orgSourcedIds A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
users.csv role role The role of the user.

Only users with the role teacher or student are processed.

users.csv username username Username to sign in to the NGLSync portal to access courses.
users.csv userId userIds Used as the LMS_Id.
users.csv givenName givenName First name
users.csv familyName familyName Last name
users.csv middleName Optional
users.csv identifier identifier Not used
users.csv email email Email address.

Only processed for teachers.

users.csv sms sms Not used
users.csv phone phone Not used
users.csv agents agentSourcedIds Not used
users.csv grades Not used
users.csv password Used if populated. Not needed if implemented with SAML.

courses.csv

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
courses.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
courses.csv status status Not used
courses.csv dateLastModified dateLastModified Not used
courses.csv schoolYearId schoolYearIdSourcedId Not used
courses.csv metadata.duration Not used
courses.csv title title Used only during the license item association process to facilitate the association of course sourcedIds with purchased license items.
courses.csv courseCode courseCode Not used
courses.csv grade grades Not used
courses.csv orgSourcedId orgSourcedId Not used
courses.csv subjects subjects Not used
courses.csv subjectCodes Not used

classes.csv

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
classes.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
classes.csv status status status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
classes.csv dateLastModified dateLastModified status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
classes.csv title title Course name. A Cengage course is a OneRoster class.
classes.csv grade grades Course grade
classes.csv courseSourcedId courseSourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
classes.csv classCode classCode Not used
classes.csv classType classType Not used
classes.csv location location Not used
classes.csv schoolSourcedId schoolSourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
classes.csv termSourcedId termSourcedIds A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
classes.csv subjects subjects Not used
classes.csv subjectCodes Not used
classes.csv periods Not used

enrollments.csv

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
enrollments.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
enrollments.csv classSourcedId classSourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
enrollments.csv schoolSourcedId schoolSourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
enrollments.csv userSourcedId userSourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
enrollments.csv role role The role of the user within the specified course.
enrollments.csv status status status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
enrollments.csv dateLastModified dateLastModified status and dateLastModified are used to determine the type of upload (bulk or delta). If these values are populated, then the upload is a delta and the status will be used to determine the status (active or inactive) of the entity. If these rows are not populated, then everything in the upload is considered active and anything not found in the upload will be deactivated.
enrollments.csv primary primary Not used
enrollments.csv beginDate Not used
enrollments.csv endDate Not used

academicSessions.csv

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
academicSessions.csv sourcedId sourcedId A sourcedId is recorded for each entity the first time it is seen to uniquely identify it for current and future processing.
academicSessions.csv status status Not used
academicSessions.csv dateLastModified dateLastModified Not used
academicSessions.csv title title Not used
academicSessions.csv type type Not used
academicSessions.csv startDate startDate Course start date
academicSessions.csv endDate endDate Course end date
academicSessions.csv parentSourcedId parentSourcedId Not used
academicSessions.csv schoolYear Not used

demographics.csv

The demographics.csv file is not used in NGLSync.

OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
demographics.csv userSourcedId sourcedId Not used
demographics.csv status status Not used
demographics.csv dateLastModified dateLastModified Not used
demographics.csv birthdate birthdate Not used
demographics.csv sex sex Not used
demographics.csv americanIndianOrAlaskaNative americanIndianOrAlaskaNative Not used
demographics.csv asian asian Not used
demographics.csv blackOrAfricanAmerican blackOrAfricanAmerican Not used
demographics.csv nativeHawaiianOrOtherPacificIslander nativeHawaiianOrOtherPacificIslander Not used
demographics.csv white white Not used
demographics.csv demographicRaceTwoOrMoreRaces demographicRaceTwoOrMoreRaces Not used
demographics.csv hispanicOrLatinoEthnicity hispanicOrLatinoEthnicity Not used
demographics.csv countryOfBirthCode countryOfBirthCode Not used
demographics.csv stateOfBirthAbbreviation stateOfBirthAbbreviation Not used
demographics.csv cityOfBirth cityOfBirth Not used
demographics.csv publicSchoolResidenceStatus publicSchoolResidenceStatus Not used

manifest.csv

The version of your OneRoster package is determined by the presence of the manifest.csv file.
  • If your package does not include manifest.csv, it is treated as a version 1.0 package.
  • If your package includes manifest.csv, it is treated as a version 1.1 package.
OneRoster CSV File Name OneRoster 1.0 CSV Column OneRoster 1.1 CSV Column Cengage Description
manifest.csv manifest.version
manifest.csv oneroster.version The version of your OneRoster package.
manifest.csv file.academicSessions Not used
manifest.csv file.categories Not used
manifest.csv file.classes Not used
manifest.csv file.classResources Not used
manifest.csv file.courses Not used
manifest.csv file.courseResources Not used
manifest.csv file.demographics Not used
manifest.csv file.enrollments Not used
manifest.csv file.lineItems Not used
manifest.csv file.orgs Not used
manifest.csv file.resources Not used
manifest.csv file.results Not used
manifest.csv file.users Not used
manifest.csv source.systemName Not used
manifest.csv source.systemCode Not used