The discussions around finding a place to organize and implement the Fedora Badges system have been going on for a while now, both during the Fedora Badges Community Roundtable meeting call[1] and on Discussion threads[2][3][4] - Long enough for it to amount for a separate discussion thread to have conversations around it.
Cutting to the chase
So here is how this goes. I would go on to propose a structure for our projects[5] down below with some makeshift diagrams and folks can feel free to suggest additions and improvements to it.
gitlab.com [ROOT] <Index G>
|__ fedora [GROUP] <Index F>
|__ websites-apps [SUBGROUP] <Index W>
|__ badges [SUBGROUP] <Index B>
| |__ liberation [REPOSITORY] <Index L>
| |__ collection [REPOSITORY] <Index C>
| |__ messages-consumer [REPOSITORY] <Index M>
| |__ accolades-api [REPOSITORY] <Index A>
| |__ accolades-cli [REPOSITORY] <Index S>
|__ documentation [REPOSITORY] <Index D>
Units involved
The following units will be involved and are proposed to be structured and utilized in the ways mentioned below.
Groups and subgroups
websites-apps
Existing namespace location →
https://gitlab.com/fedora/websites-apps/
- A subgroup under the
fedora
group - Has been used to manage team-wide goals and objectives
- Houses a bunch of asset repositories and subgroups
- Can create team-wide epics under the subgroup
badges
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges
- A subgroup under the
websites-apps
subgroup - Can be used to manage initiative-wide goals and objectives using epics
- Can house a bunch of asset repositories
- Housing more subgroups under this would lead to complications
Shared units
documentation
Existing namespace location →
https://gitlab.com/fedora/websites-apps/documentation
- An asset repository under the
websites-apps
subgroup - Can be used to manage team-wide documentation-related issue tickets, pull requests and goals
- Was moved here recently from the Pagure repository[6]
- Houses the documentation for the team and the projects[7] that fall under its remit
Internal entities
liberation
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges/liberation
- An asset repository under the
badges
subgroup - Can be used to manage repository-wide issue tickets, pull requests and goals
- Can house the assets for the web interface
- Issue tickets can be linked to epics belonging to parent subgroups/groups
collection
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges/collection
- An asset repository under the
badges
subgroup - Can be used to manage repository-wide issue tickets, pull requests and goals
- Can house the assets for the artworks and rules
- Issue tickets can be linked to epics belonging to parent subgroups/groups
messages-consumer
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges/messages-consumer
- An asset repository under the
badges
subgroup - Can be used to manage repository-wide issue tickets, pull requests and goals
- Can house the assets for the conditions listener
- Issue tickets can be linked to epics belonging to parent subgroups/groups
accolades-api
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges/accolades-api
- An asset repository under the
badges
subgroup - Can be used to manage repository-wide issue tickets, pull requests and goals
- Can house the assets for the backend service
- Issue tickets can be linked to epics belonging to parent subgroups/groups
accolades-cli
Proposed namespace location →
https://gitlab.com/fedora/websites-apps/badges/accolades-cli
- An asset repository under the
badges
subgroup - Can be used to manage repository-wide issue tickets, pull requests and goals
- Can house the assets for the client application and/or library
- Issue tickets can be linked to epics belonging to parent subgroups/groups
Taking away the takeaway
- Kanban boards and Gantt charts for managing the entire initiative can be housed under the
badges
subgroup (i.e. Index B in the makeshift diagram). - The aforementioned boards and charts can represent epics that pertain to the overall initiative and hence can be stored in the
badges
subgroup. - The checkpoints mentioned in the exhaustive ARC investigation roadmap[8] can be prime candidates for being epics housed in the
badges
subgroup. - We want to ensure that all the documentation for the projects that the Fedora Websites and Apps Team builds and maintains is housed in one repository[9] only.
- The said documentation repository is proposed to house, both the legacy[10] as well as the renewed documentation for the Fedora Badges system.
- Assets belonging to the internal entities, and the related issue tickets and pull requests are stored in the asset repositories under the
badges
subgroup. - These issue tickets can be linked with the epics belonging to the parent subgroups/groups to have a granular measurement of roadmap progress.
- Documentation specific to maintaining the asset repositories can be housed within their internal Wiki while general docs can be in the shared repository.
That’s about it from my end.
Thoughts? Opinions?
-
Please note that I am using the word “project” very loosely here, so this can include asset repositories, subgroups, planning boards and everything else in between. Rest assured, I explain what I mean when I mention the term “projects” whenever I use it here, on a case-by-case basis. ↩︎
-
Simply put, the websites and applications that we build and maintain ↩︎
-
https://fedora-arc.readthedocs.io/en/latest/badges/index.html#proposed-roadmap ↩︎