Group and project (Tenant Scale) settings improvements
# UX Review: GitLab Settings > General ## Project & Group Settings Improvements --- ## Executive Summary Both Project and Group settings pages suffer from **settings accumulation syndrome**: years of feature additions without rethinking information architecture. Users face 15-25+ settings in flat, undifferentiated lists where critical choices (visibility, 2FA) receive the same visual treatment as niche options (emoji reactions, character warnings). **Key problems:** - No visual hierarchy signaling importance - Feature dependencies invisible to users - Group inheritance impact unclear - Lifecycle actions (archive, delete) buried under misleading "Advanced" label **Proposed solution:** Apply consistent design patterns across both pages while respecting their different purposes: Projects are feature-focused, groups are governance-focused. --- ## Shared Design Patterns These patterns apply to both Project and Group settings: ### 1. Visibility Card (High Priority) Elevate visibility from a radio button list to a prominent, visually distinct card with color-coded options. This is the most consequential setting on both pages. ### 2. Quick Overview Bar Display 4-5 key current states at the top (e.g., `Private · CI/CD enabled · 2FA not enforced`) allowing users to scan without expanding sections. ### 3. Settings Search Add a search field to filter settings. Critical given the volume on both pages. ### 4. Logical Section Grouping Replace mega-accordions with multiple focused sections organized by user intent, not feature chronology. ### 5. Lifecycle Actions Section ("Project/Group Management") Rename "Advanced" and reorder actions by consequence: Export → Change path/URL → Archive → Transfer → Delete. Add visual severity indicators (gray → amber → red). ### 6. Consistent Toggle Patterns Standardize on toggle + optional dropdown for access level. Remove mixed checkbox/dropdown patterns. ### 7. Sticky Save Footer Persistent save/cancel bar so users always know when they have unsaved changes. --- ## Project Settings > General ### Current State Problems | Problem | Impact | |---------|--------| | 20+ feature toggles in flat list | Users can't find what they need | | Service Desk config embedded in settings | Complex SMTP setup doesn't belong here | | Feature dependencies invisible | Disabling Repository breaks 4 other features silently | | Mixed control patterns | No reliable mental model for users | ### Proposed UI Changes #### Section Restructure | Current | Proposed | |---------|----------| | Naming, description, topics | **Naming & Description** (name, avatar, description, topics) | | Visibility, project features, permissions (mega-accordion) | Split into: **Visibility** (card), **Core Features**, **DevOps & Deployment**, **Specialized Features** | | Badges | **Badges** (unchanged) | | Service Desk (full config) | **Service Desk** (toggle only + "Configure →" link) | | Advanced | **Project Management** (reordered lifecycle actions) | #### Feature Groupings **Core Features** - Issues, Repository, Merge requests, Wiki, Snippets, Forks, Git LFS **DevOps & Deployment** - CI/CD Pipelines, Container Registry, Package Registry, Environments, Releases, Monitor, Infrastructure **Specialized Features** - Analytics, Security & Compliance, Feature Flags, Model Experiments, Model Registry, Pages #### Dependency Visualization Indent dependent features under their parent. Example: ``` Repository ├─ Merge Requests (requires Repository) ├─ Forks (requires Repository) └─ Git LFS (requires Repository) ``` When Repository is disabled, dependent features show warning: "Requires Repository." #### Project Management Section Order 1. Export project (gray) 2. Change project path (gray) 3. Archive project (amber) 4. Transfer project (amber) 5. Delete project (red) #### What to Remove from This Page - Full Service Desk configuration → move to dedicated page - Keep only enable/disable toggle with link --- ## Group Settings > General ### Current State Problems | Problem | Impact | |---------|--------| | 15+ governance settings in flat list | Security audit requires scanning everything | | Inheritance impact buried in helper text | Users unknowingly affect all subgroups/projects | | Security settings scattered | 2FA, tokens, forking, protocols all in different spots | | Premium/Beta features undifferentiated | Users can't tell what's available to them | ### Proposed UI Changes #### Section Restructure | Current | Proposed | |---------|----------| | Naming, description, visibility | **Visibility** (card) + **Naming & Description** (section) | | Permissions and group features (mega-accordion) | Split into: **Access & Sharing**, **Security & Authentication**, **Membership Governance**, **Creation Permissions**, **Notifications**, **Features** | | Badges | **Badges** (unchanged) | | Advanced | **Group Management** (reordered lifecycle actions) | #### Section Contents **Access & Sharing** - Restrict group invitations (cascade) - Restrict project sharing (cascade) - Prevent forking outside group (cascade) - Disable group mentions **Security & Authentication** - Require two-factor authentication (cascade) + enforcement delay + subgroup override - Require token expiration dates - Git access protocols **Membership Governance** - Allow access requests - Prevent adding users directly to projects (cascade) - Seat control (open access vs. user cap) - Placeholder user confirmation (Premium badge) - Remove dormant members (Beta badge, cascade) **Creation Permissions** - Minimum role to create projects - Roles allowed to create subgroups **Notifications** - Enable email notifications (cascade) + diff previews toggle - Token expiry notification recipients **Features** - Git LFS (cascade) - Pages public access (cascade) - Customer relations (CRM) #### Cascade Indicators Add "↓ Cascades" badge to any setting that affects subgroups and projects. Tooltip explains: "This setting applies to all subgroups and projects within this group." #### Scope Indicator In Quick Overview bar, show: `3 subgroups · 12 projects` so users understand the blast radius. #### Tier Badges - **Premium** badge (amber) for paid-tier features - **Beta** badge (blue) for experimental features - Disabled state + visual dimming for unavailable features #### Group Management Section Order 1. Export group (gray) 2. Change group URL (gray) 3. Archive group (amber) 4. Transfer group (amber) 5. Delete group (red) — note: "includes all subgroups and projects" --- ## Implementation Priority ### Tier 1: Quick Wins (Low effort, high impact) | Change | Page | Effort | |--------|------|--------| | Add subheadings within existing accordions | Both | CSS/template | | Visibility card treatment | Both | CSS/template | | Cascade indicators for groups | Group | CSS + minor logic | | Dependency warnings on hover | Project | JS + CSS | | Reorder lifecycle actions + severity colors | Both | Template | ### Tier 2: Medium Effort | Change | Page | Effort | |--------|------|--------| | Split mega-accordion into multiple sections | Both | Template restructure | | Quick Overview bar | Both | New component | | Relocate Service Desk config | Project | Page creation + redirect | | Nested settings (2FA delay, etc.) | Group | Conditional rendering | | Premium/Beta badge system | Group | CSS + logic | ### Tier 3: Larger Investment | Change | Page | Effort | |--------|------|--------| | Settings search | Both | Search/filter logic | | Inheritance visualization ("→ 3 subgroups → 12 projects") | Group | API + UI component | --- ## Design Mockups ### Project Settings **Quick Overview + Visibility Card** ![Screenshot_2026-01-22_at_14.33.57](/uploads/78a4d294a6521ae39c5ece5a04d480ab/Screenshot_2026-01-22_at_14.33.57.png){width=860 height=600} **Feature Sections with Dependencies** ![Screenshot_2026-01-22_at_14.34.28](/uploads/98d1327ccb45fda4fe2969d2ca5cf958/Screenshot_2026-01-22_at_14.34.28.png){width=900 height=525} **Project Management Actions** ![Screenshot_2026-01-22_at_14.36.35](/uploads/7ab6d3464408ecb8b5cb1aad08452846/Screenshot_2026-01-22_at_14.36.35.png){width=900 height=340} ### Group Settings **Quick Overview with Scope + Visibility Card** ![Screenshot_2026-01-22_at_15.05.47](/uploads/18e6bf63ac085e73031eaed3486ce94a/Screenshot_2026-01-22_at_15.05.47.png){width=790 height=600} ![Screenshot_2026-01-22_at_15.03.05](/uploads/33a0e2943991d9438d9cfdd71a1d7b29/Screenshot_2026-01-22_at_15.03.05.png){width=900 height=579} **Governance Sections with Cascade Indicators** ![Screenshot_2026-01-22_at_15.03.44](/uploads/8475bb09c5bd78e9a86ce20b2ef03d29/Screenshot_2026-01-22_at_15.03.44.png){width=900 height=409} **Membership & Security with Tier Badges** ![Screenshot_2026-01-22_at_15.04.37](/uploads/33aac1d132515eea98ea12ad3a299382/Screenshot_2026-01-22_at_15.04.37.png){width=866 height=600} **Group Management Actions** ![Screenshot_2026-01-22_at_15.04.56](/uploads/5a6c4479013c03b062649b0d1de8f952/Screenshot_2026-01-22_at_15.04.56.png){width=866 height=600}
epic