Automatic roster load
Classes, enrollments and progress can arrive on their own from the academic system, through the CSV file the institution's IT team already knows how to extract. The schedule lives on IT's side; here you set up, once, how the file is read.
The mapping is by column name
Columns are recognized by the header name, ignoring accents, case and punctuation — never by position. If the academic system reorders the columns, nothing changes. If a mapped column goes missing or shows up twice, the whole load is rejected and nothing is written: writing data into the wrong field with nobody noticing would be worse.
The status mapping
Each status the academic system uses goes to an Edusati status or to reject the row. Dropout is never chosen in advance: it sends the dropout survey to the student's inbox, and whoever sets this up decides which value means that. A value that shows up later and is not in the mapping rejects the row and is listed by name in the report.
Full or partial
- Full: the file carries the whole picture. Edusati compares its size with the last applied load and lists who was enrolled in the classes mentioned and did not come in the file — the absentees. An absentee never becomes a dropout and nothing changes: it is only the list, for someone to check.
- Partial: the file carries only what changed. There is no size comparison and no absentee list, and the report says so instead of showing zero.
The limits that hold a load
The load is held — and no row is written — until someone releases or discards it, when:
- it is the first one for the target: there is no baseline, and a mapping mistake shows up exactly there;
- in full mode, the file shrank more than the percentage compared with the last applied load;
- it would make more enrollments dropped than the percentage and the absolute minimum — counting the new enrollment that already arrives dropped;
- it would make too many classes become finished or canceled, or have their progress move more points than the maximum jump in one night.
A limit that is too tight costs a held load that someone releases. One that is too loose costs a dropout, milestone or closing survey sent to real people from a wrong file. At the turn of a semester, when many classes close on the same night, it may be worth loosening the class limit for a few days.
A held load nobody decides on expires at the end of the holding period, with nothing written. Releasing an old load after a newer one was applied is not possible: the old picture would undo the new one.