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.34k stars 565 forks source link

Allow non-owners to create assignments #765

Open jayvdb opened 8 years ago

jayvdb commented 8 years ago

At the end of my course, I have a custom assignment for each student. It is a significant amount of work to set up, but it has great results.

I want to delegate the creation of assignments to a paid intern. I do not want to give them Owner rights on the GitHub org.

johndbritton commented 8 years ago

I want to delegate the creation of assignments to a paid intern. I do not want to give them Owner rights on the GitHub org.

@jayvdb This is a reasonable request. Do you have any suggestions for how to manage this access? How would you like to grant access to create assignments?

jayvdb commented 8 years ago

I'm flexible on how it is implemented. To be given the Classroom admin right they must be reasonable trusted people, but not necessarily trusted enough to be a github Owner.

Some ideas:

jayvdb commented 7 years ago

770 shows another reason for this feature request. Owner rights are likely to be removed proactively, while other roles and perms are not so concerning. If a Owner is de-Ownered, the assignments they created are unusable in the future.

ccannon94 commented 7 years ago

Agree strongly! I'm a TA and I'm leading the effort to introduce GitHub to our 2nd level CompSci intro course. Because the professor is new to GitHub and git, he tasks me to create all assignments, and myself along with 3 other TA's do the grading. Right now all four of us could potentially do way more than a TA should be permitted to with the student's code and the classroom as a whole. It would be great if there was a team for classroom admins, or really some way to control classroom roles for specific teams just like organization's teams can be given different repository admin roles.

melmo commented 7 years ago

Any progress on this? I would really like to set up Classrooms for a community based school I'm working at, but giving owner access to 40+ volunteer teachers makes this a non-starter for us.

nwoodthorpe commented 7 years ago

I like this idea. In my opinion, the cleanest way to do this would be to have a "GitHub Classroom Administrators" team on GitHub that represents members with this elevated privilege. It would default to being disabled (to avoid classrooms with an unfortunately named team accidentally giving users elevated privileges).

@johndbritton Thoughts?

johndbritton commented 7 years ago

to do this would be to have a "GitHub Classroom Administrators" team

If we implement this feature, rather than hard coding by name, I would make a UI in Classroom to select team(s) that should have elevated privileges with the possibility of creating a new team through the app. That way you can track escalated permissions by team id rather than team name.

stale[bot] commented 6 years ago

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.

jayvdb commented 6 years ago

Dear bot, this is still highly desirable.

SMUGSterling commented 5 years ago

2019 checking in. Please make this happen!

d12 commented 5 years ago

We could do this using the new maintainer and triage GitHub roles possibly. I'll add to the backlog to investigate.

d12 commented 5 years ago

We'll be starting work on this shortly :)