gitlab group projects in folders - gitlab

I`m a teacher and my students present their homework projects on gitlab. You can imagine that I'm now a member of hundreds of projects.
What I would like to do is to group these project under a directory structure. But I don't see anything like that on gitlab.
I'm not the owner of these projects,so I can't put them in a group.
I would like to be able to sort them by year, or by class
Any idea on how I could do that ?

One way you can solve this is to create a new Group for your class itself (not year-specific), then create Sub Groups for each year/semester where your students' projects would live. The structure might look something like this:
Topic 101 # Group
|
2020 Fall # Sub Group
|
Alice # Project
Bob # Project
|
2021 Spring # Sub Group
|
Lauren # Project
Daniel # Project
Once you create the Group+Sub Group structure, you can ask your students to Transfer their project to the right Sub Group (Project Settings->Advanced->Transfer Project).
For the next year/semester you can create the next Sub Group and create all the Projects for your students, then invite each student to their own project as Maintainers so everything is set up correctly from the beginning.
Take a look at this project as an example. Here, the codequality project is in the Ops Sub-Department Sub Group, in the Gitlab.Org Group.

Related

How to move projects that are included in a group to a new group on GitLab?

my goals
Among the projects included in group A,
I want to create a new group of projects B and C and move them.
What should I do?
I TRY METHOD
CREATE GROUP
create group name : repo
AFTER
join the repo group
Settings > General > Advanced Options > Group Transfer
No parent Group message output (not select)

How to add group as reviewers in Merge Request by non-group member in GitLab?

In a project if we give #GROUP NAME in the comment of merge request by any non-group member then for that non-group member that group DL is not displaying. Could you please let me know how the non-group members can use that internal group?
The auto-complete list for group mentions only populate with groups where a user is a direct member. Nevertheless, the user can still mention the group and it will work even if it doesn't show up in the auto-complete list.
Just make sure to use the full path.
For example, if you have a subgroup in gitlab.example.com/group/subgroup, you need to #group/subgroup.

Grouping of users in Gitlab

I have a set of users who are common to all of the groups and projects in the company. Presently, I have to add those "common members" individually to each and every group or project. Is there any way to group them by a name, thereby adding them to groups or projects?
For example, A, B anc C are the common members and can be grouped by name X, so that X can be added, instead of individually adding A, B and C
PS: Users are from LDAP
Users are from LDAP
Aynthing LDAP related would be, interm of group synchronization, related to GitLab EE (Enterprise Edition)
But, if you can simply define main group for your common team, and subgroup for your specific teams/projects, you can use EE/CE Namespaces
In GitLab, a namespace is a unique name to be used as a user name, a group name, or a subgroup name.
http://gitlab.example.com/username
http://gitlab.example.com/groupname
http://gitlab.example.com/groupname/subgroup_name
For example, consider a user named Alex:
Alex creates an account on GitLab.com with the username alex; their profile will be accessed under https://gitlab.example.com/alex
Alex creates a group for their team with the groupname alex-team; the group and its projects will be accessed under https://gitlab.example.com/alex-team
Alex creates a subgroup of alex-team with the subgroup name marketing; this subgroup and its projects will be accessed under https://gitlab.example.com/alex-team/marketing
(Here you can replace 'alex-team' by 'common-team', or any other more descriptive name)
By doing so:
Any team member mentions Alex with #alex
Alex mentions everyone from their team with #alex-team
Alex mentions only the marketing team with #alex-team/marketing

Bugzilla restrict bug status

We need a solution for one of our deployment in bugzilla.
Example of our scenario are as below :
Group : Staff,Students
project/product bugs : projectA , projectB
We need to know is there any way to :
1) Restrict the group of user from accessing the project.
Example= Students cannot access or view bugs in projectA.
2) Restrict other group of user from confirming or change the bug status
Example= Students cannot change the bug status of projectB from NEW to RESOLVED
3) Some members set of group can only file a bug but not close the file
Example= StaffA can only file a bug in ProjectA but cannot closed it whereas StaffB can file the bug and also can close the bug
From what I have search/Google, there are no documentation available which can explain this function in bugzilla.But maybe I have overlooked somehow.
Our current bugzilla is version 3.2rc1
Thanks in advance.
You didn't really say which version of Bugzilla you are using, so the URLs are for the latest release, 4.2. However, the same concepts apply to most recent versions. For instance, we use 3.6 and control whether certain users can change certain things in the same ways that I describe below.
1) Restricting users who are not in a group from seeing bugs is what Bugzilla's group security does:
http://www.bugzilla.org/docs/4.2/en/html/groups.html
One wrinkle in your case is that group security controls positive access rather than negative access. That is, it allows specifying which groups can view bugs in a product rather than groups that cannot. To keep members of students from viewing bugs in projectA, you'll need to have a group that can access projectA and devise a way to keep users in students out of that group.
Alternatively, you could put some custom code into Bugzilla::User::can_see_bug, Bugzilla::User::visible_bugs, or Bugzilla::Bug::check_is_visible to exert firmer control that users who are in group students can never see bugs in projectA
2) You can exercise a lot of granularity in allowing changes:
http://www.bugzilla.org/docs/4.2/en/html/cust-change-permissions.html
We do something like this. We have a set of users to whom we want to grant read-only access unless we have explicitly allowed read-write access. To do this, we have a group called allspecialusers to which these users belong based on email address. We have another group called approved_specialusers to which some of those users are added manually.
So, in our Bugzilla::Bug::check_can_change_field, we have code like:
if ($user->in_group('specialusers') &&
!$user->in_group('approved_specialusers')) {
$$PrivilegesRequired = 3;
return 0;
}
You can do what you want by checking if the bug is in product projectB and the user trying to make the change is in group students

Expression Engine: How Do I include a channel within another channel?

How would I include contents from one channel into another channel?
For instance, If I have a channel of projects. And then I'd like to add items within that project.
Project
- Item
- url
- caption
- Item
- url
- caption
There is an new free alternative to Matrix: Grid Lite
Matrix is maybe over the top for your needs, even if it is one of my favorite EE addon.
I can think of three approaches here:
Use a Matrix field within your Project channel to add multiple items to each project.
Make a "Project Items" channel, and in that channel add a relationship field (or Playa field) that points to your Projects channel. This would link each item with its parent Project. When displaying your Project on the front-end, you'd use reverse-related entries to display that Project's items.
Make each Project a category, and then assign each entry in your Project Items channel to the proper Project category. (The downside here is that categories can only have very limited data associated with them - name, description, and image.) On the front-end you'd use the Channel Categories tag to display your Projects (categories), then then list that Projects items below using the Channel Entries tag and the category parameter.
Each of these approaches would work!
It sounds like you already have these two channels set up, so Matrix or Grid Lite, while great solutions, would require a lot of migrating work on your part.
Do you have a custom field that relates the two channels right now? i.e. in the Items channel, is there a custom field that allows you to choose (or write) which project the item belongs to? If that's the case, I can work toward a solution from there.

Resources