Standardized Administration Tools (SAT) Importer
SAT needs a batch importer to add data which is not automatically available from elsewhere in the odyssey.uwaterloo.ca database.
The import menu-item should offer a file-upload page, which accepts csv files.
On file upload, it should validate input-file format and display warnings as needed.
The columns in the input file can be variable; we can add additional imports based on columns supplied.
As such, we will do this development iteratively, rather than doing everything possible at once. The following list of allowed imports is in order of priorities.
Overall, if any input columns are not recognized, the validation step should offer a warning (not error).
When there is a validation warning, there should be an option to cancel or re-try the import with a new file.
Required import types
Importing People into Rooms/Desks
Input columns:
- ) Required: userid or student id number - which must match an existing userid / number, or provide a warning if not found
- ) Required: room, in the format "DCxxxxy" where the room should match an existing value in the database and provide a warning if not found
- ) Optional: desk number, which should match an existing value if supplied.
- If not supplied, we should use the first free desk in the room.
- unless they are already in that room, in which case we should warn that there will be no change because they are already in the room and no desk was specified.
- If there are multiple free desks, use the first one in alphanumeric order for the first import entry, and the following ones in sequence.
- If there is no free desk, provide a warning.
- ) Optional: start date, which must be in the future (defaults to today)
- ) Optional: end date, which must be in the future
Additional input validation:
- check for the person in a different room/desk, and offer a warning that they will be moved.
- If they already have a desk, move them from the old to the new, except if they already have more than one desk- in which case offer a warning that they have multiple desks so will NOT be removed, only added to the new desk.
After import:
- provide a summary of successful imports (desk assignments) and any warnings from the validation step, or errors on import.
- Import should proceed on entries without warnings.
Importing People into Groups
Input columns:
- ) Required: group's short name (must exist, or offer a warning)
- ) Required: person userid / student id number (must exist, or offer a warning)
- ) Optional: start date, which must be in the future
- ) Optional: end date, which must be in the future
Additional input validation:
- check for the person already in the group; warn if present.
After import:
- provide a summary of successful imports, and any warnings from the validation step, or errors on import.
Future Import Types
Create desks and rooms
Create groups
See Also
See also:
SchoolAdministrationToolsImporter for v1 spec
--
Daniel Allen - 2024-08-02
Comments