github-education-resources / teachers

Join the discussion in the GitHub Education Community:
https://education.github.community
179 stars 21 forks source link

one student = one team #15

Open Drealmer opened 9 years ago

Drealmer commented 9 years ago

Hi,

I am not sure I am doing this right, but let me explain: I want each one of my students to have his own private repository that only teachers and himself will be able to access.

So I got a platinum GitHub organization account allowing me to create private repositories, and I am creating a private repository for each student. But to grant each student rights over his "own" repository it seems I can't add a single user, I have to add a team of collaborators. So right now I am creating a team for each student, each team containing a single account.

Is this the right way to achieve what I want? Am I abusing GitHub? Is there a risk I'll reach some kind of upper limit on teams?

Any info is appreciated, thanks.

++ Fabrice

jennybc commented 9 years ago

Hi Fabrice,

I believe you are doing the "right" thing. At least it overlaps a lot with what these folks did:

https://github.com/UCSB-CS-Using-GitHub-In-Courses/github-acad-scripts

I have a similar question but with a twist: I want each student to have push/pull access to their repo (presumably associated with a student singleton team) BUT I want the other students to have read access, so we can do peer review. And I want these repos to NOT be visible to the outside world.

From this page about Organizations and permissions:

https://help.github.com/articles/permission-levels-for-an-organization-repository

I had gotten excited that this was possible. But now I fear not :cry:

I chafe against this:

But I want these repos to be invisible to outside world, visible within our Organization, and only writable by individual student and the instructor / TAs.

@afeld Can you help?

Thanks, Jenny Bryan https://github.com/jennybc

Asking on behalf of https://github.com/STAT545-UBC

Drealmer commented 9 years ago

Hi Jenny,

Thanks a lot for that link, this is indeed what I am doing so I am a lot more confident now!

About your question, you just have to create another read-access team containing all the students, and add this team as a collaborator to each student's private repository. It works, that's how I am currently granting my students access to the repository holding the libraries they have to use but cannot modify.

Best regards, Fabrice

jennybc commented 9 years ago

Thank you Fabrice! The concept of a team having global types of privileges (e.g. students team being "read only") that apply to all repos is very weird to me. But I will try to get happy with it!

afeld commented 9 years ago

Yep! What @drealmer said.

afeld commented 9 years ago

P.S. The one-student-per-team setup is described here: https://education.github.com/guide/sandboxing#2-set-up-the-repositories

Drealmer commented 9 years ago

@jennybc : I was also surprised at first, global privileges on teams was a bit counter-intuitive, but on a second thought it is quite convenient.

@afeld : looks like a bad RTFM failure on my part :smiley: Thanks for the link!