Skip to content

[MVC] - README or "About" for groups - design

Problem

When we access a group or a user under https://gitlab.com/groups/namespace or https://gitlab.com/u/namespace what we see first is the activity of that user/group. We have tabs to navigate to their projects, groups, personal projects, etc. So far so good. However, we actually don't know anything about that user or that group besides the short description below its name.

Proposal

Add the ability to display README on group overview.

Group overview

  • If a sub-project gitlab-profile exists and contains a README.md, display the README below projects table
  • The README header should link to the associated project/README.md

image

Group Settings

  • Add a new section Group README
  • Add a button to trigger a modal with text describing the process
  • Clicking the Create and add README modal action button should create the sub-project gitlab-profile and take the user to the project and launch the add readme flow (similar to add README in projects)
  • If there is an existing README in the associated project, display a button that links to the file ie examplegroup/gitlab-profile/-/blob/master/README.md).
  • Deleting the associated README or project should remove the README from the group overview page.

image

Description Mockup
Add README modal image
Group README section when there is an existing README image

MVC Implementation Plan - Frontend

  • Pin a particular project in a group as a "ReadMe Project" and display the ReadMe from that project as proposed here. Because groups do not have repositories as of today, going via a project is a good compromise.
  • Backend adds an attribute to Namespace to reference the project
  • Frontend adds a field to set the reference, and render the markdown

Availability and Testing

  • A new E2E test will be planned as a part of 15.8 Manage:Organization Test Additions and Upd... (#378943 - closed) once this feature is complete
  • Currently, the "Subgroups and projects" tab is the default selected tab when visiting a group's page. If this changes (ex: README becomes the default tab or content to show), minor changes will be needed for our E2E test framework. In fabricate! in qa/qa/resource/group.rb, we will need to first click on the "Subgroups and projects" tab before proceeding to check if a subgroup exists.
Edited by Mike Nichols