[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
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-projectgitlab-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.
Description | Mockup |
---|---|
Add README modal | ![]() |
Group README section when there is an existing README | ![]() |
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!
inqa/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