brownfield-team / anacapa-github-linker

A tool for managing students in computer science courses. Deployed at:
https://ucsb-cs-github-linker.herokuapp.com
MIT License
4 stars 6 forks source link

Improve instructor UX for creating Github Teams. #437

Open pconrad opened 3 years ago

pconrad commented 3 years ago

User Story

Currently the Create Teams from CSV feature allows an instructor to upload

Proposed new design

In the new design, instructors have several options for creating teams:

(1) Instructors can create the teams directly in the GitHub user interface associated with creating teams for an org. Then they can run the "Refresh GitHub Teams" job which will import those teams into the link.

(2) They can manually create a GitHub Team in the linker; that team will be automatically created in GitHub as well.

(3) They can create multiple teams at a time by specifying only the name of the team, one per line, in a CSV file (not really CSV since there's only one column). These will be created in both the linker in GitHub

(4) They can upload a CSV with one line per student. Each line has on it, github id (which could be blank), team name, and student email.

If the github id is blank, the student is added to the team in the linker ONLY, and not on GitHub.

Otherwise the student is added to the team, and if the team doesn't already exist, it is created.

For students that doen't have a github id, we should add functionality to the hook where the student's github id is updated, to also add them to any teams with which they are associated.