The main table in user/permissions.md is poorly structured
Problem to solve
The permissions table is huge and it's hard to read. We should look into redoing how it's sorted. Right now it's somewhat sorted by permission level, which makes it easy for an administrator to see what permissions users get for each level. The downside is that it is very hard to find permissions for specific features within the table, as they aren't necessarily located near related features.
Many permissions were added a long time ago, and some of the feature names have changed slightly, so it isn't clear which permissions are being discussed.
As an MVC, we need to crosslink permissions to their features to make it easier to understand what the permissions relate to. These crosslinks can serve as categories, and in a future iteration can aid in splitting up the large table into multiple smaller tables.
Details
Current list of permissions: https://docs.gitlab.com/ee/user/permissions.html#project-members-permissions
Crosslink group/categories to add, based on !67098 (diffs) (This MR was too big, so splitting it up to review each section):
-
Analytics - (!67390 (merged)) -
Application security - (!67391 (merged)) -
CI/CD - (!67394 (merged)) -
Clusters - (!68816 (merged)) -
Container Registry - !68342 (merged) -
GitLab Pages - (!68816 (merged)) -
Issues - (!67397 (merged)) -
License Compliance - (!69259 (merged)) -
Merge requests - (!67397 (merged)) -
Metrics dashboards - (!69259 (merged)) -
Package registry - !68342 (merged) -
Project operations - !68342 (merged) -
Projects - (!67398 (merged)) -
Releases - (!68342 (merged)) -
Repository - (!67399 (merged)) -
Requirements Management - (!69259 (merged)) -
Security dashboard - - (!67391 (merged)) -
System hooks - (!69259 (merged)) -
Terraform - (!68816 (merged)) -
Test cases - (!68816 (merged))