Skip to content

Support for subteams that have subteams #1854

Closed
@fmease

Description

@fmease

Summary

Add support for subteams that have subteams (which rust-lang/team#1046 introduces) on the governance pages.
Subteams of subteams are to be laid out flat below their parent team on the respective root team page.
Although it's lacking practical relevance, subteams of arbitrary depth should be supported.

Motivation

In rust-lang/team#1040, we'd like to create the rustdoc subteam rustdoc-contributors. However rustdoc itself is already a subteam (namely of devtools) and we currently lack support for subsubteams (and so forth) in the teams repo and on the website.
It's easy to update the teams repo to make it understand deeply nested teams (just one check has to be removed). I'm pretty sure it's relatively straightforward to update the website, too. The creation of rustdoc-contributors isn't necessarily blocked on website support (the team just wouldn't show up1 if we were to add the team right now) but it'd certainly be nice to have.

Drawbacks

Laying out subnteams (n≥2) flat below their parent team might be confusing for website visitors who expect the list of teams to only contain “direct descendants”.

Rationale and alternatives

I think this design is the most straightforward one to implement.

Alternatively, we could lay out those subteams hierarchically where clicking on the section header of a subteam leads to another subpage and so on. This however would introduce an inconsistency since section headers of subteams without further subteams would be link anchors contrary to those with child teams.

Maintenance

This would only add new logic to the website internals but not any new data that would need to be maintained because everything would be pulled from the rust_team_data API. As this isn't a big feature, this can be maintained by the one who already maintains the team-related parts of the website.

Unresolved Questions

  • Should we add a paragraph or similar to the section of subnteams noting that team is actually a subteam of another subteam (where we specify the relevant parent team) or would that be too bloated?
  • Should we lay out subnteams flat or hierarchically (see Alternatives)?
  • Should there be a maximum supported depth (this limit can be enforced by the CI of the teams repo)?

Footnotes

  1. I've confirmed this by building the website locally with a patched teams repo & a patched rust_team_data static API.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions