Comments (2)
The problem this issue references is as follows:
- Student wants to enroll in a course
- Teacher accepts student enrollment
- QuickFeed creates personal repository for student:
Student-labs
- QuickFeed adds student as outside collaborator for
assignment
,info
andStudent-labs
- QuickFeed accepts outside collaborator invites on behalf of the user
At a later point, the student creates a group:
- Student creates a group
studentgroup
- Teacher accepts group
- QuickFeed creates group repository
studentgroup
- QuickFeed creates a GitHub team
studentgroup
for the group - Student is added to the
studentgroup
GitHub team- Student is automatically invited by GitHub to the organization as a member
- QuickFeed does not accept the member invite on behalf of the user
In order for the student to see their group repository they need to be part of the studentgroup
team.
For a GitHub user to be able to join a GitHub team, the user has to be a member of the organization.
To make matters worse, GitHub invites expire after 7 days. This may cause invites to expire before the student starts working on group related stuff. In these cases teachers currently have to manually re-send invites.
#1081 introduces a much simpler fix than the proposed webhook solution.
In #1081 we simply edit organization membership to member
upon enrolling a student. This will invite the student to the organization as a member, and we will accept the invite on behalf of the user.
This way the student will already be a member when added to a team as part of group creation, and will be able to see their group repository without requiring further action.
from quickfeed.
Maybe the GitHub app manifest needs to be updated to select organization.
from quickfeed.
Related Issues (20)
- Tests are failing due to `go list -m -f {{.Dir}}` returning two entries
- Chore: Remove unused Status message from requests.proto
- Frontend performance improvements
- Allow teachers to run tests from their -labs repository HOT 1
- Add slip days for group labs, or move to individual grading
- Improve coloring scheme
- Switching between teacher and student mode needs improvement
- Branching on group repositories runs tests and updates scores
- Lab information in Result view gets hidden at bottom or squashed when test name is long
- Log details view is cut off short; it could expand to the bottom of the result view portion HOT 2
- Unable to delete a group that has not been approved
- Display percentage impact of individual tests based on score and weight
- Groups with similar names are "merged" on GitHub
- Approvelist support now requires manual steps to enable support for PATs HOT 1
- Avoid calling go list to find quickfeed's root folder
- approvelist: may display too many approved assignments
- Remove team creation on github to simplify management of groups
- Replace SCM mock tests HOT 2
- chore: Void comment no longer relevant and can be removed
- chore: Remove excessive use of gorm uniqueIndex
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quickfeed.