Restructure Group page to reduce length of right nav

Problem to solve

  • The Groups page has become a one stop shop for all Group configuration and setup procedures. As a result, the right navigation is long and not scannable.
  • Some procedures could do with being updated with additional navigational steps, but CTRT work is probably beyond the scope of this issue. This issue focuses on more of a structural and localised IA change rather than a re-write.

Proposal

The page has dozens of procedures that might benefit from being split out into separate pages.

This re-structure would be tackled in the following order:

  1. Categorize topics based on:
    • Management: Creating, editing, deleting, user and project management.
    • Access and Permissions: Settings that control what can and can't be done with/to a group.
  2. Create new pages with logical titles in the left nav to house topics based on categories.
  • The topic Mention a group in an issue or merge request could probably be moved to https://docs.gitlab.com/ee/user/discussions/index.html#mentions
  • Related topics is just a long list of links that can probably be removed, but for now the link list will remain as it's needed for /help users who don't have access to the left nav.

Structure round 1

Click to expand
classDiagram
    Groups --|> GroupSettings
    Groups --|> GroupAccessAndPermissions
    Groups : Intro paragraph
    Groups : Group visibility
    Groups: Namespaces
    Groups: View groups
    Groups: Create a group
    Groups: Transfer a group
    Groups: Request access to a group
    Groups: Add users to a group
    Groups: Share a group with another group
    Groups: Remove a group
    Groups: Remove a group immediately
    Groups: Restore a group
    Groups: Filter and sort members in a group
    Groups: Group activity analytics
    Groups: Add projects to a group
    Groups: Mention a group in an issue or merge request
    Groups: Troubleshooting
    class GroupSettings{
        Change the owner of a group
        Change the group path
        Change the default branch protection of a group
        Use a custom name for the initial branch
        Enable delayed project deletion
        Disable group mentions
        Disable email notifications
        User cap for groups
        Group file templates
        Group merge request approval settings
        Export members as CSV
    }
    class GroupAccessAndPermissions{
        Group push rules
        Specify who can add projects to a group
        Group access restriction by IP address
        Prevent group sharing outside the group hierarchy
        Prevent a project from being shared with groups
        Prevent users from requesting access to a group
        Prevent project forking outside a group
        Prevent members from being added to projects in a group
        Manage group memberships via LDAP
    }

Structure round 2

classDiagram
    Groups --|> ManageGroups
    Groups --|> GroupAccessAndPermissions
    Groups: Intro paragraph
    Groups: Group visibility
    class ManageGroups{
        View groups
        Create a group
        Remove a group        
        Remove a group immediately
        Restore a group
        Filter and sort members in a group         
        Change the owner of a group
        Change the group path
        Change the default branch protection of a group
        Use a custom name for the initial branch
        Add users to a group
        Add projects to a group
        Request access to a group        
        Share a group with another group        
        Transfer a group        
        Enable delayed project deletion
        Export members as CSV
        Disable group mentions
        Disable email notifications
        User cap for groups
        Group file templates
        Group merge request approval settings
        Group activity analytics
        Troubleshooting            
    }
    class GroupAccessAndPermissions{
        Group push rules
        Specify who can add projects to a group
        Group access restriction by IP address
        Prevent group sharing outside the group hierarchy
        Prevent a project from being shared with groups
        Prevent users from requesting access to a group
        Prevent project forking outside a group
        Prevent members from being added to projects in a group
        Manage group memberships via LDAP
        Troubleshooting
    }
  • Namespaces will be moved to its own page.

Who can address the issue

TW assigned to ~"group::workspace"

Other links/references

Edited by Fiona Neill