Lets say I have next groups: companyname-opensource, companyname-marketing, companyname-sales. With nested group feature introduced I want to create one companyname group and move all existing groups as subgroups under it.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Transferring groups into another, or turning it into a subgroup, would be super beneficial to our company as well. We have several groups that could easily be put together with subgroups.
Since we want to start by bulk-moving groups, I think the place to add that action is in the destination group. In order to add subgroups to the GitLab.org group, we go to its page and we select that option under the New subgroup split button:
Taking from the Issue Board's new flow (#26205 (closed)), we show a modal with a list of groups you can select. This modal only shows you groups for which you have enough permissions.
You can select individual projects or use the Select all button. I also included a Filter by name bar that we could delay to a future iteration.
The groups are shown hierarchically in a tree following the new Group Dashboard UI (#25426 (closed)):
If the tree organization is not possible, we can show groups in a simple list by showing the full path to each group. Selecting a parent group automatically selects its existing subgroups too.
@tauriedavis The checks become active to indicate that their parent has been selected (gitlab-nested / frontend in this case), so they will be moved too. The become disabled because you can't move a parent and not its children.
I originally thought of that behavior for the tree version, but I see it doesn't translate as well for the list version
Ah, that makes sense! I do think the tree version works better. We are moving towards that design in other places so let's plan on using that here as well.
How are you determining what to show in this view immediately? Should there be a sort option like the group page?
I'm guessing only Masters+ would see this UI? And they would only see groups that they are also a Master+ of? If you search for a specific group that you are not a Master+ of, what do you see?
@tauriedavis I missed sorting options, thanks! We should use the same default sorting we use in the Explore projects page, which is Last created. I also included a sorting dropdown
Currently you're not shown the New subgroup button if you're not Master+, so you wouldn't be able to access the modal.
If there are no available groups for moving, we show a generic 'empty state' message, no matter the cause. Something like this (the copy should be improved)
We should also have an empty state for filtering like 'No matches found'
"Filter groups by name..." should also read "Search groups by name..." since they aren't filter options. (This needs to be updated on the group page as well).
@tauriedavis I thought the system would only present a list of the groups you have permissions over, so you wouldn't be able to perform a search across the instance. Instead, you would only be able to filter the presented list.
It seems these UX details depend on how the feature will be implemented, what do you think?
could we not do something super simple to start. For example, you could visit /groups/<groupname>/edit and there would be an option to transfer the group to another group in a similar way to how we move an issue to another project?
I don't think this use case will happen very frequently, and so I think we could put in a minimal and simple solution first.
@mydigitalself yeah, I think we should also do that. We should have a way to select a parent group both in the New group and Edit group screens, like we have for projects.
The designs I posted are for bulk-moving projects, which is the use case described in the issue, but we can start by moving single projects.
I thought the system would only present a list of the groups you have permissions over, so you wouldn't be able to perform a search across the instance. Instead, you would only be able to filter the presented list.
Yeah, you are right. That looks like how the groups page is working as well so I think what you have makes sense!
@cperessini@tauriedavis Funnily enough, the way I read the title and description of the issue, I felt that doing it one at a time was a perfectly reasonable first step and hadn't considered doing it all in one fell swoop.
Happy to change the title of this one to Bulk move and create another one for individual moves?
Taurie Davischanged title from Ability to transfer group to another group to Ability to bulk transfer groups to another group
changed title from Ability to transfer group to another group to Ability to bulk transfer groups to another group