1. We're working with the OAuth permission model that exists today, but I've passed along your feedback to our platform team. The generic use case for Classroom for GitHub is to create a new organization to use for student assignments and use Classroom for GitHub to manage that organization. If / when you decide to stop using Classroom for GitHub you can remove your organization and it will clean up after itself.
3. I'm having a hard time understanding your situation, but would appreciate it if you could file an issue at https://github.com/education/classroom/issues/new, can't promise that it will be fixed immediately, but need to gather feedback like this.
Thanks for the response! Related to (1), the issue was more that when a _student_ visits an assignment page, they get the same big permission list as an instructor; it makes sense that instructors might need a plethora of permissions. Is that necessary for students?
A couple of things I've found, using GitHub for individual assignments (I also use it in another unit for a class-wide project, where it works very well)
- user management is a bit of a pain. Students are always late getting their github usernames to me, often with typos, and there are three different dates during term when the class-list changes (last day to enrol, last day to withdraw without incurring a HECS fee, last day to withdraw without academic penalty). If you could do an LTI endpoint, that would be helpful, as most LMSs support LTI. At the moment, we're considering running GitLab instead, as that supposedly has LDAP and so can use our university server logins.
- using teachers-pet (GitHub's command-line tools) for assignments this term, I found an issue where a student made a public fork of their assignment repository. Unfortunately this is problematic, as it could cause students to (accidentally) run into trouble with university plagiarism policies (where putting your work up for others to plagiarise in an assignment is also outlawed).
Those are two very common issues that we've tried to address with Classroom for GitHub.
You no longer need to collect usernames, just distribute an invitation URL and have your students include their student number or name in the repository description or README.md.
Forking is intended as a collaboration tool, so it makes sense that every member of the network can see all forks in the network. In a classroom setting, however, this might not make sense. Classroom for GitHub doesn't utilize forking, instead it creates independent repositories and pushes the starter code without using forks.
2. GitHub Enterprise is not supported, but others have requested this feature: https://github.com/education/classroom/issues/240
3. I'm having a hard time understanding your situation, but would appreciate it if you could file an issue at https://github.com/education/classroom/issues/new, can't promise that it will be fixed immediately, but need to gather feedback like this.