Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for group projects #39

Open
LinuxMercedes opened this issue Jan 23, 2017 · 5 comments
Open

Support for group projects #39

LinuxMercedes opened this issue Jan 23, 2017 · 5 comments

Comments

@LinuxMercedes
Copy link
Member

Some classes, such as Software Engineering, do group projects. We'd like to support this; here are the ideas so far:

  • Each group will have a name chosen by the students or instructor.
  • Each group will consist of students from the roster.
  • Each group will have an associated GitLab repo.
  • Each student in the group will be individually given access to their team's repo--no GitLab groups aside from the class-wide one.

Considerations:

  • Should students be able to be members of several groups?
  • How do we differentiate between individual and group assignments in create, etc.?

Implementation:

  • The config.yml will get a new entry, groups. Each group will consist of a name and a list of the SSOs of the group's members. These SSOs must be present in roster.
  • We will need some ergonomic way of adding groups. I'd also like an ergonomic way of adding students to the class for people who aren't using an import feature, so I've made a separate issue for that: Ergonomic way for adding students #38.
@brhoades
Copy link
Member

brhoades commented Jan 23, 2017

Should students be able to be members of several groups?
This is interesting. I can only think of one case where this is necessary--- some sort of management class where a student is assigned to manage a couple of projects. I'd say yes though it could definitely be put off until this scenario appears.

How do we differentiate between individual and group assignments in create, etc.?
Individual assignments can follow the standard schema: someidentifier-section-#-user
Group assignments could have an additional portion someidentifier-section-g-#-userhash.

But do we need to account for a class where they swap between individual and group projects?

@LinuxMercedes
Copy link
Member Author

The only difference would be additional validation in the config parser, so multi-group membership would be easier than preventing that.

Group assignments could have something like someidentifier-section-#-groupname, with the group name appropriately sanitized.

I would definitely want to be able to support both group and non-group projects in the same class.

@brhoades
Copy link
Member

Group names also work if we don't mind more configuration.

@islamelnabarawy
Copy link
Member

Canvas has functionality for groups, and everything in there is accessible via their API. We could add a way to import the groups from Canvas, and have a different command for creating group assignments that would follow a different naming scheme.

@LinuxMercedes
Copy link
Member Author

Looks like Canvas groups also have names, so that'd be easy to interoperate with the ideas so far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants