Groups in Students' namespace

I’m using the assignment model wherein students create a private fork of the assignment and add me as a member so I can view for grading, etc. The issue I have is that students often forget to add me to the project, and so I’m having to contact students manually to get added to the project. I would LOVE if the students could create a group in their namespace, ie https://gitlab.com/johnsmith/work-for-course-A/ that would allow them to make me a member of that group ONCE, and then they would put all their forks in that namespace. Would help a ton for students who take several of my classes, because currently, I use simple slugs for assignments (ie. ‘hw1’) which would collide across classes.

I cannot find a way to create a group as a child of the user namespace.

Help?

Hi BjMuld!

I’m sorry for the delay in getting back to you about this.

As a former educator, I understand the students forgetting to add and the extra work of reminding them of that important step.

I want to make sure I understand: you’re hoping for the students to create a group in their namespace, and then add you as a member of that group once, and then you would automatically be a member of each project inside their group, correct?

Currently, adding the namespace at the end of the URL takes you to the profile of the person’s namespace. Unfortunately, I believe this means I don’t know if we could find a way to make that work.

I believe I may have a different solution: Courseware as Code.

Alejandro Rusi was an intern here for Google Summer of Code, and created a tool that, when run, can create a private copy of a specific project for each member of a group and still give you owner access to the group. It’s a work in progress, but we’ve been working on turning it into a workshop and would love to see if it could help you out.

Here’s the project free for you to fork.

Let us know if you have any other questions!

Thanks, PJ, for the response.

Currently, adding the namespace at the end of the URL takes you to the
profile of the person’s namespace. Unfortunately, I believe this means
I don’t know if we could find a way to make that work.
I’m not sure I understand what you mean here. I would like students to
be able to create groups in their own namespace and not in the global
Gitlab namespace. If I (as a user) want to create a group, I can only
do so in the global root namespace. I can then create subgroups inside
that group.

I’d like to have a group at
https://gitlab.com/studentUser/GLgroup4theCourse/

Regarding the Courseware as Code project: I use a client-side tool that
I’m developing (gitlab.com/bjmuld/glee) which can easily create multiple
projects, but I don’t want them inside our department’s namespace
(gitlab.com/um-ece) because project members will take up valuable
license seats, and we don’t have enough to keep all students forever and
ever (AND I want them to have ownership over their completed assignments).

1 Like

Thanks Barry.

So, I went looking in our docs, and it looks like that’s not quite a function we have available on GitLab as far as I can tell. The only thing you get with a URL where the username is after gitlab.com is the profile; any further additions to the URL only lead to a 404 page. Based on what I know, namespaces are either a user name URL or a group URL, so there’s not a way to create a group only within a username to get a URL like https://gitlab.com/studentUser/GLgroup4theCourse/

The only thing I can think to do is what you suggested: make a group that is the similar to the student’s username (since the URI Path is already taken), they grant you access to that group, and then the projects are all in that single group.

https://gitlab.com/studentUser1/GLgroup4theCourse/

I’m sorry I couldn’t be more helpful on this. I’m going to check my understanding with some other team members as well and see if there’s anything we can do to get you closer to what you’re asking for.

1 Like

Thank you!