Skip to content

Kinvolved OneRoster+ Specification

Kinvolved accepts data in a format that extends the OneRoster specification while maintaining compatibility.

Data Entities

Entity Description
Organization An Organization is typically a Distict or a School and is a structure holding organizational information. School is defined here as the place where the learning happens. Most commonly this is the data that describes a bricks and mortar building.
Academic Session An AcademicSession represent durations of time. Typically they are used to describe terms, grading periods, and other durations e.g. school years.
Course A Course is a course of study that, typically, has a shared curriculum although it may be taught to different students by different teachers. It is likely that several classes of a single course may be taught in a term.
Class A Class is an instance of a course, into which students and teachers are enrolled. A class is typically held within a term.
User A User is a Teacher, Administrator, or Student who are people that are teaching, supporting, or studying in classes respectively.
Enrollment An enrollment is the name given to an individual taking part in a course or class. In the vast majority of cases, users will be students learning in a class, or teachers teaching the class. Other roles are also possible.
User A User is a Teacher, Administrator, or Student who are people that are teaching, supporting, or studying in classes respectively.
Absence Codes An absence code defines the codes used in attendance files along with the value (whether they should be treated as absent or not).
Attendance An attendance event is a record of student participation in a school or a period of a class on a given day.

CSV Delivery

Notes:

  • need intial sync vs nightly
  • describe last modified
  • describe REST API approach
  • do we need to go school-by-school?

We ask that roster data be provided using the OneRoster format.

OneRoster is a K-12 industry standard created by the IMS Global Learning Consortium. The specification for the current version (1.1) can be found here.

Data export using OneRoster is supported by almost all commercial Student Information Systems (SIS). If your district does have a SIS that supports OneRoster you should be able to send roster data to us in that format without modification.

We have a few modifications to add flexibility to the OneRoster spec:

  1. Will accept files either in a ZIP file or as individual CSV files.
  2. We do not explicitly require a manifest.csv file. More details on this below.
  3. We allow some variations in the filenames

Here is some information about One Roster.

Will accept files either as a ZIP file or separate.

Data

Entity Description
Org An Org is typically a Distict or a School and is a structure holding organizational information. School is defined here as the place where the learning happens. Most commonly this is the data that describes a bricks and mortar building.
Academic Session An AcademicSession represent durations of time. Typically they are used to describe terms, grading periods, and other durations e.g. school years.
Course A Course is a course of study that, typically, has a shared curriculum although it may be taught to different students by different teachers. It is likely that several classes of a single course may be taught in a term.
Class A Class is an instance of a course, onto which students and teachers are enrolled. A class is typically held within a term.
Enrollment An enrollment is the name given to an individual taking part in a course or class. In the vast majority of cases, users will be students learning in a class, or teachers teaching the class. Other roles are also possible.
User A User is a Teacher, Administrator, or Student who are people that are teaching, supporting, or studying in classes respectively.

Manifest

propertyName value
manifest.version 1.0
oneroster.version 1.1
file.academicSessions Bulk
file.classes Bulk
file.courses Bulk
file.enrollments Bulk
file.orgs Bulk
file.users Bulk

Process

How we work:

  • Add customer in configuration managment system
  • Include products licensed
  • What SIS the customer uses
  • What flow to use
  • timezone
  • Run one time ETL flow to load schools and codes
  • Disable any schools that aren't licensed
  • Use/modify the config
  • Create/deploy the flow and set schedule
  • Set the year
  • Pull complete data (onetime, monthly, daily)
  • Run Great Expectations validations