Let advisors load preference ranks from a converted CSV with fuzzy matching, known aliases, and a parse-preview-save page instead of relying on the ranking editor. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
# Import Student Event Rankings
|
|
|
|
**Created:** 2026-08-28
|
|
**Last updated:** 2026-08-28
|
|
**Description:** How to import student event preference rankings from a CSV.
|
|
|
|
## CSV format
|
|
|
|
```
|
|
Student Name,1,2,3,4,5,6
|
|
"Last, First",Video Game Design,Coding,Flight
|
|
First Last,Video Game,Coding
|
|
```
|
|
|
|
- `Student Name` is required. `Last, First` and `First Last` both work.
|
|
- Rank columns are `1` through `10`. Empty cells are skipped. Extra columns are ignored.
|
|
- Event cells may be the official name, the catalog short name, or a close miss. Fuzzy matching scores both.
|
|
- Known nicknames that fuzzy cannot reach are also accepted, including `Solar Racer`, `Challenging Tech`, `Digital Photo`, `Forensics`, `Micro Controller`, `Med Tech`, `Innovations & Inventions`, `Systems Control Tech`, `Structural Eng`, `Drone Challenge`, `Robotics`, and `Audio Podcast`.
|
|
|
|
## Steps
|
|
|
|
1. Sign in and open **Student Event Ranks** (`/students/event-ranking`).
|
|
2. Click **Import**.
|
|
3. Choose the CSV and click **Parse**.
|
|
4. Review matched rows (raw text, chosen event, score) and any unmatched or ambiguous issues.
|
|
5. Click **Save to Database**. If any matched student already has rankings, confirm the replace dialog.
|
|
|
|
Save replaces rankings only for students who have at least one accepted rank in the file. Other students are unchanged.
|
|
|
|
## What is not imported
|
|
|
|
Unmatched students, unmatched events, and ambiguous event names are reported in the preview and are not saved. Fix the CSV text or add the student/event in the app, then parse again.
|