How We Use GitHub

Overview

The Training Team uses the GitHub repository https://github.com/WordPress/Learn to manage all of the following:

  • The code for https://learn.wordpress.org
  • Issues tracking content development for Learn WordPress
  • Issues tracking content translation for Learn WordPress
  • Issues tracking content topic ideas for Learn WordPress
  • Issues tracking admin tasks of the Training Team
  • Learn WordPress site bugs, content feedback, and other communication from learners

The team does this by maintaining long-term and short-term project boards, described below:

Project board namePrimary contributors
LearnWP Topic VettingSubject Matter Experts (SMEs)
LearnWP Content – DevelopmentContent Creators, Editors
LearnWP Content – LocalizationContent Translators
LearnWP Content – FeedbackEditors
LearnWP Website DevelopmentAdministrators (Triage Squad), Make WordPress MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team
Learning Pathways ProjectProject members as defined in the Project Thread: Learning Pathways on Learn WordPress

Each project has columns which represent the statuses issues move through. Each project board also has views which can be used to filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. issues by labels etc. (Example: a view from the Content Development project board)

Top ↑

Walkthrough of Training’s GitHub project boards

Some people find GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ to be a bit overwhelming to start with. Here’s a 56 minute walkthrough of the Training Team’s GitHub setup. The video discusses:

  • An overview of how the WordPress project uses GitHub
  • A look at the project boards set up for the Training Team
  • An introduction to the issue templates and workflows set up in the team’s repo
  • An explanation of custom fields

The remainder of this page lists GitHub triage activities needed to keep the Training Team’s GitHub repository nice and tidy. Please note, the following tasks can only be completed by members of the Learn Content Triage team.

Top ↑

Assign issues to project boards

GitHub Workflows have been set up so that most issues are added to the respective project board when created with an issue template. However, if a template was not used, then the issue will not be added to a project board, and will fall through the regular triage flows. The triage team should confirm all issues are assigned to a project board so that they are included in the respective triage process.

To do: If any issue appears under this GitHub filter, assign it to a project board.

Top ↑

Use sub-issues

In October 2024, GitHub introduced the sub-issues feature. The Training Team should actively use this feature when creating courses, so that each lesson’s issue is easily tracked within the main course issue. Here’s an example of sub-issues being used: https://github.com/WordPress/Learn/issues/2044

Top ↑

Triaging project boards

Below are details about triaging the team’s GitHub project boards.

Top ↑

LearnWP Topic Vetting

Project board: LearnWP Topic Vetting

Documentation: See Vetting Topic Ideas. As SMEs also work in this project board, triaging should focus on the following tasks:

Top ↑

LearnWP Content – Development

Project board: LearnWP Content – Development

Documentation: Triaging content development issues.

Top ↑

LearnWP Content – Feedback

Project board: LearnWP Content – Feedback

Documentation: Validating and Applying Content Feedback.

Top ↑

LearnWP Content – Localization

Project board: LearnWP Content – Localization

Documentation: Triaging content localization issues.

Top ↑

LearnWP Website Development

Project board: LearnWP Website Development

Documentation: Still to be created.

Last updated: