Common File Content Rules
- Values in files are case-sensitive.
- An empty value is represented with two commas with no spaces between them (For example, excluding brackets, [,,] indicates blank value, where as [, ,] indicates a space character, which is parsed as an invalid value).
- The CSV files must have a header (first line) that must be an exact match (casing) to that listed in the examples in the sections below.
- Subsequent lines in the file contain the data to be processed (Inserted, updated, deleted).
- File names are standard (users, orgs, etc).
Manifest
The following lists sample content for manifest (along with the required header line):
Filename must be manifest.csv.- Value can be one of the following options:
- Bulk - For importing bulk snapshots. The status and datelastmodified fields must be left blank if using bulk mode. Bulk mode does implicit deletes for enrollments only.
- Delta - For importing deltas. The status and datelastmodified fields must be populated. This is the only mode that allows explicit deletes.
- Absent - If a file is not sent, it must be marked as absent.
- Bulk - For importing bulk snapshots. The status and datelastmodified fields must be left blank if using bulk mode. Bulk mode does implicit deletes for enrollments only.
propertyName,value manifest.version,1.0 oneroster.version,1.1 file.academicSessions,delta file.categories,absent file.classes,delta file.classResources,absent file.courses,delta file.courseResources,absent file.demographics,absent file.enrollments,delta file.lineItems,absent file.orgs,delta file.users,delta file.resources,absent file.results,absent |
Academic Sessions
The following lists two rows of sample content for Academic Session (along with the required header line). The file consists of nine mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
sourcedId,status,dateLastModified,title,type,startDate,endDate,parentSourcedId,schoolYear TERM_LW11,active,2016-04-30T00:00:00Z,Spring TERM_LW11,term,2017-04-30,2017-06-30,,2017 GRADINGPERIOD_LW11,active,2016-04-30T00:00:00Z,Full Spring GRADINGPERIOD_LW11,gradingPeriod,2017-04-30,2017-06-30,TERM_LW11,2017 |
Column | Field | Required | Possible Values | Notes |
1 | SourceId | Y | Not visible in UI | |
2 | Status | Y | active or tobedeleted | Active Required if DateLastModified present and if sending Deltas |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS:ssZ | *Internal Tracking* |
4 | Title | Y | Org Unit Name and Org Unit Code | |
5 | StartDate | Y | YYYY-MM-DD | Ignored |
6 | EndDate | Y | YYYY-MM-DD | Ignored |
7 | Type | Y | gradingPeriod, semester, schoolyear, term | Org Unit Type |
8 | ParentSourceId | N | Ignored | |
9 | School Year | Y | Not mapped |
Orgs
The following lists four rows of sample content for Orgs (along with the required header line). The file consists of seven mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
sourcedId,status,dateLastModified,name,type,identifier,parentSourcedId DISTRICT_LW11,active,2016-04-30T00:00:00Z,DISTRICT_LW11,district,, SCHOOL_LW111,active,2016-04-30T00:00:00Z,SCHOOL_LW111,school,,DISTRICT_LW11 DISTRICT_LW12,active,2016-04-30T00:00:00Z,DISTRICT_LW12,district,, SCHOOL_LW121,active,2016-04-30T00:00:00Z,SCHOOL_LW121,school,,DISTRICT_LW12 |
Column | Field | Required | Possible Values | Notes |
1 | SourceId | Y | Not visible in UI | |
2 | Status | N | active or tobedeleted | Active Required if DateLastModified present and if sending Deltas |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS:ssZ | *Internal Tracking* |
4 | Title | Y | Org Unit Name and Org Unit Code (If Identifier is not populated) | |
5 | Identifier | N | Org Unit Code (If provided) | |
6 | Type | Y | School, district, local, state, national | Org Unit Type |
7 | ParentSourcedId | N | Parent Org Unit SourcedId |
Courses
The following lists two rows of sample content for Courses (along with the required header line). The file consists of 10 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
sourcedId,status,dateLastModified,schoolYearSourcedId,title,courseCode,grades,orgSourcedId,subjects,subjectCodes COURSE_LW11,active,2017-04-30T00:00:00Z,,The ways of the Force,COURSE_LW11,,SCHOOL_LW111,, COURSE_LW12,active,2017-04-30T00:00:00Z,,French As A Second Language,COURSE_LW12,,SCHOOL_LW111,, |
Column | Field | Required | Possible Values | Notes |
1 | SourceId | Y | Not visible in UI | |
2 | Status | N | active or tobedeleted | Active Required if DateLastModified present and if sending Deltas |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS:ssZ | *Internal Tracking* |
4 | Title | Y | Org Unit Name and Org Unit Code (If Identifier is not populated) | |
5 | SchoolYearSourceId | N | Parent Org Unit SourceId (Semester) | |
6 | CourseCode | N | Org Unit Code (if provided) | |
7 | Grades | N |
Ignored |
|
8 | Subjects | N | Ignored | |
9 | OrgSourceId | Y | Parent Org Unit SourceId (i.e. School) | |
10 | SubjectCodes | N | Ignored |
Classes
The following lists three rows of sample content for Classes (along with the required header line). The file consists of 14 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
Each record will be created as a Course Offering with a single Section under it.
sourcedId,status,dateLastModified,title,grades,courseSourcedId,classCode,classType,location,schoolSourcedId,termSourcedIds,subjects,subjectCodes,periods CLASS_LW111,active,2017-04-30T00:00:00Z,The Force 101,,COURSE_LW11,CLASS_LW111,scheduled,,SCHOOL_LW111,TERM_LW11,,, CLASS_LW112,active,2017-04-30T00:00:00Z,The Force Advanced,,COURSE_LW11,CLASS_LW112,scheduled,,SCHOOL_LW111,TERM_LW11,,, CLASS_LW121,active,2017-04-30T00:00:00Z,French - Reading LW1,,COURSE_LW12,CLASS_LW121 fr-reading,scheduled,,SCHOOL_LW111,TERM_LW11,,, |
Column | Field | Required | Possible Values | Notes |
1 | SourceId | Y | Not visible in UI | |
2 | Status | N | active or tobedeleted | Active Required if DateLastModified is present |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS:ssZ | *Internal Tracking* |
4 | Title | Y | Org Unit Name and Org Unit Code | |
5 | ClassCode | N | Org Unit Code (If provided) | |
6 | ClassType | Y | Ignored | |
7 | Location | N |
Ignored |
|
8 | Grades | N | Ignored | |
9 | Subjects | N | Ignored | |
10 | CourseSourceId | Y | Parent Org Unit SourceId (Course Template) | |
11 | SchoolSourceId | Y | Parent Org Unit SourceId (i.e. School) | |
12 | TermsSourceId | Y | Parent Org Unit SourceId (i.e. Term) | |
13 | SubjectCodes | N | Ignored | |
14 | Periods | N | Ignored |
Users
The following lists five rows of sample content for Users (along with the required header line). File consists of 18 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
sourcedId,status,dateLastModified,enabledUser,orgSourcedIds,role,username,userIds,givenName,familyName,middleName,identifier,email,sms,phone,agentSourcedIds,grades,password STUDENT_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,student,STUDENT_LW11,,Luke,Walker,,,email@email.com,,,"PARENT_LW11,TEACHER_LW11,GUARDIAN_LW11",, STUDENT_LW12,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,student,STUDENT_LW12,,Prince,Lee,,,email@email.com,,,"PARENT_LW11,GUARDIAN_LW11",, PARENT_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,parent,PARENT_LW11,,Bartholomew,Vadery,,,email@email.com,,,"STUDENT_LW11,STUDENT_LW12",, GUARDIAN_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,guardian,GUARDIAN_LW11,,Obi,Kennedy,,,email@email.com,,,"STUDENT_LW11,STUDENT_LW12",, TEACHER_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,teacher,TEACHER_LW11,,Mac,Yodad,,,email@email.com,,,"STUDENT_LW12,STUDENT_LW11",, |
Column | Field | Required | Possible Values | Notes |
1 | SourcedId | Y | OrgDefinedId if identifier is not provided | |
2 | Status | N | active or tobedeleted | Active by default (depends on UI setting) Require if DateLastModified present Inactive or tobedeleted inactivates user |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS*,s*ssZ | *Internal Tracking* |
4 | EnabledUser | Y | true or false | Active in LMS if true |
5 | OrgSourceIds | Y | School org unit enrollment | |
6 | Role | Y | Role in Organization | |
7 | UserName | Y |
UserName |
|
8 | UserIds | N | Ignored | |
9 | GivenName | Y | FirstName | |
10 | FamilyName | Y | LastName | |
11 | MiddleName | N | MiddleName | |
12 | Identifier | N | OrgDefinedId (If provided) | |
13 | N | ExternalEmail | ||
14 | Sms | N | Ignored | |
15 | Phone | N | Ignored | |
16 | AgentSourcedIds | N | Used to indicate parent/guardian relationship | |
17 | Grades | N | Not mapped | |
18 | Password | N |
Enrollments
The following lists one row of sample content for Enrollments (along with the required header line). File consists of 10 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
A specified user will be enrolled into a Course Offering and Section
sourcedId,status,dateLastModified,classSourcedId,schoolSourcedId,userSourcedId,role,primary,beginDate,endDate STUDENT_CLASS_LW1111,active,2017-04-30T00:00:00Z,CLASS_LW111,SCHOOL_LW111,STUDENT_LW11,student,,, |
Column | Field | Required | Possible Values | Notes |
1 | SourceId | Y | *Internal Tracking* | |
2 | Status | N | active or tobedeleted | Active by default Require if DateLastModified present |
3 | DateLastModified | N | YYYY-MM-DDTHH:mm:SS:ssZ | *Internal Tracking* |
4 | UserSourcedId | Y | User to Enroll | |
5 | ClassSourcedId | Y | Class to Enroll in | |
6 | SchoolSourcedId | Y | true or false | Not mapped |
7 | Role | Y | The only permitted values are administrator, proctor, student, and teacher. |
Role in course offering org unit |
8 | Primary | N | Not mapped | |
9 | BeginDate | N | Not mapped | |
10 | EndDate | N | Not mapped |