github-education-resources / classroom

GitHub Classroom automates repository creation and access control, making it easy for teachers to distribute starter code and collect assignments on GitHub.
https://classroom.github.com
1.35k stars 568 forks source link

Classroom teams: create team with one project, can't reuse on another project #2420

Open danwallach opened 5 years ago

danwallach commented 5 years ago

Describe the bug I created two GitHub Classroom repositories this week for two-student teams. One had some prior code, so they could experiment with all the Git/GitHub team mechanisms without worrying about their grade. The other was their actual assignment for this week.

I've had several students who cloned the "test" repo then went on to try to clone the "real" repo. They all said that:

I can make the clone links available to GitHub staff, but cannot post them in public.

To Reproduce Steps to reproduce the behavior:

  1. Go to clone link 1 as user 1, create a team with users 1 & 2
  2. Go to clone link 1 as user 2, join the team
  3. Go to clone link 2 as user 1, attempt to create a team with the same name. Fail.

Expected behavior Either every team name should appear for every clone link, or it should be possible to create a new team with the same name as an old team.

d12 commented 5 years ago

@danwallach The "existing set of teams" feature should solve this issue. When making your second assignment, you can re-use a set of teams that exist for a previous group assignment here:

Screen Shot 2019-10-10 at 10 20 41 AM

If you use an existing set of teams, students who are already on a team from the previous assignment will not be prompted to select or create a team for the new assignment. Does that solve the problem?

danwallach commented 5 years ago

I intend to use different student teams every week, and there may or may not be repeating teams. The presence or absence of a team in a prior project shouldn't impact the UX on a new project using new teams.

d12 commented 5 years ago

Ah, I see. The issue comes because we create a GitHub team in the org for every GitHub Classroom team. We could get around the naming conflict issue by attaching a prefix per assignment.