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:

  1. ) Required: userid or student id number - which must match an existing userid / number, or provide a warning if not found
  2. ) Required: room, in the format "DCxxxxy" where the room should match an existing value in the database and provide a warning if not found
  3. ) 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.
  4. ) Optional: start date, which must be in the future (defaults to today)
  5. ) 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:

  1. ) Required: group's short name (must exist, or offer a warning)
  2. ) Required: person userid / student id number (must exist, or offer a warning)
  3. ) Optional: start date, which must be in the future
  4. ) 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

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2024-08-14 - DanielAllen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback