The Fandom codebase is stored in their GitHub repository. It is the central place where the code that runs Fandom and related projects is stored. Versions are tracked by the repository and histories are preserved. Fandom currently hosts its repositories on GitHub using the Git version control system. Fandom's code is mostly in private repositories. The rest of this article assumes you have access to their private UCP repo.
Downloading from the repository
- You need to have Git installed. Please see GitHub's setup page for the appropriate information on getting started.
- Navigate to Fandom's UCP repository on GitHub for instructions on how to clone the project repo.
Finding the latest version of the Fandom codebase
Deployed code is available in the tag view on GitHub. The most recent release-*
branch should be the latest deployable code. The dev branch is the location of incoming changes, that should be released in the next week.
Branches
We use branches to maintain and manage our code:
dev
- contains the most current version of the code
release-*
- contains snapshots of the development branch for release
PROJECT-NUMBER
- contains per ticket copies of the development branch with changes for a specific ticket (normally a bug fix or feature implementation) in the format where PROJECT represents the project the ticket relates to, and NUMBER represents the number of the ticket in the project's queue. These branches are then merged back into the development branch once code review has been completed.
File layout
This section details the organization of our dev
branch. Paths are relative to dev
root. Everything that is not listed here comes from MediaWiki core (note: this list might still be incomplete).
extensions/fandom/
- Most Fandom features, packaged as stand-alone extensions
includes/fandom/
- Dependencies, services and helper classes used in different places in the code
maintenance/fandom/
- Maintenance scripts, some DB schemas and misc. scripts