classroom icon indicating copy to clipboard operation
classroom copied to clipboard

Team management for administrators

Open johndbritton opened this issue 10 years ago • 12 comments

When accepting a GroupAssignmentInvitation users have the ability to create or join a team, but in some cases they make a mistake as in #291.

One potential solution to this problem is to provide an interface for teachers to manage teams. This way they can reorganize the users if there's a mistake and we can keep the organization administrators in control of team changes.

It's also possible to have cases where repositories or teams have been deleted, we should make these situations recoverable.

cc/ @leouieda

johndbritton avatar Oct 01 '15 08:10 johndbritton

I believe this issue is related to #730, and thus might be (at least in part) addressed by pending PR #980. Linking them here since neither is mentioned above, though I'd appreciate clarification on this issue.

I agree that the inability to manage or change teams is a significant problem. Summarizing the above, a user cannot un-join a team; deleting the team using the GitHub 'Teams' interface just leaves the user a member of the team (Deleted Team), creating ghosts in assignments. This prevents changing teams between assignments or undoing accidentally joined teams.

One work-around I have found is to create a new "Set of Teams" when creating the assignment. This allows a user who had previously joined a team in some other "Set of Teams" to join a new new team. Unfortunately, there is no interface to list or manage these "Sets", and they appear to have no correspondence to the "Teams" menu in the GitHub organization (teams appear in that menu but with no mention or association to the "Set of Teams".).

Ideally these sets would show up as "meta-teams" (teams of teams) in the usual Teams menu of the organization, and deleting them there would simply erase the effect of creating a team.

A related but independent issue is that the current interface allows any student to join any other student's team. Maybe this is fine and nicely streamlines the process by sidestepping the need for the instructor to laboriously create all the student teams in advance. However, it also seems brittle, in that invariably someone will join the wrong team or want to change teams (an issue which is exacerbated by the inability to 'undo' this by 'leaving' or even deleting the team). The first student to create the 'team' doesn't get any control over which other student joins: perhaps a better workflow would be for the student who creates the team to get some ability to invite their teammates directly, rather than letting anyone opt in to their team?

Thanks for all the work on GitHub Classroom, this is a truly awesome and compelling workflow!

cboettig avatar Sep 06 '17 21:09 cboettig

One work-around I have found is to create a new "Set of Teams" when creating the assignment. This allows a user who had previously joined a team in some other "Set of Teams" to join a new new team.

After having a lot of trouble with students dropping out of the class or having problems with their teammates, I defaulted to creating new teams for every assignment. Most problems of that kind went away after that. It's not very efficient but for large classes it seems easier than micromanaging teams.

perhaps a better workflow would be for the student who creates the team to get some ability to invite their teammates directly, rather than letting anyone opt in to their team?

This seems like a great idea!

Explaining the workflow of "one student creates the team and the other then join that team" always causes some confusion in the first assignments. There is always someone who forgets to join the team and then keeps getting "access denied" errors when trying to push.

Thanks for all the work on GitHub Classroom, this is a truly awesome and compelling workflow!

+1000. This is an awesome product!

leouieda avatar Sep 07 '17 01:09 leouieda

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Sep 25 '18 15:09 stale[bot]

Could this please remain open? We desperately need at least the ability to remove a user from a group. Often a student will join a group by mistake and sorting this out is a major headache.

kevinwortman avatar Sep 26 '18 16:09 kevinwortman

Yup, remains an issue for us as well

cboettig avatar Sep 26 '18 16:09 cboettig

@BenEmdon Can you add this one to your queue?

johndbritton avatar Oct 05 '18 03:10 johndbritton

So this is still not possible? What are the instructors supposed to do if someone joins the wrong group?

amueller avatar Mar 25 '19 14:03 amueller

@d12 Im not sure where are roadmap is rn but I think this would be a good candidate for some summer work.

BenEmdon avatar Jun 26 '19 16:06 BenEmdon

:100:, Adding this to our backlog

d12 avatar Jun 26 '19 17:06 d12

I find it weird that administrators cannot pre-create the teams. Came here and sorted the issues by most :+1: reactions, was not surprising to see this is the most requested one. At least it would be nice to state this fact more clearly in the documentation while it's being worked out?

astrojuanlu avatar Dec 05 '19 08:12 astrojuanlu

Thanks for the feedback, we're doing some thinking into how we can improve this experience. @MeyAyre Are you able to help with adding something in the docs noting this isn't possible yet?

d12 avatar Dec 05 '19 14:12 d12

The way we implemented teams should support the need for teachers to pre-define who is on what team.

There needs to be a UI built that allows a teacher to create a group of teams and put people from a roster into each of the teams. Then when the students join the classroom and connect to the roster entry, they will automatically be on the correct teams.

johndbritton avatar Dec 05 '19 15:12 johndbritton