Core Platform Team/Initiative/Unify Parsers-Phase 1/Initiative Description
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The Core Platform Team and its initiatives do not exist anymore. See MediaWiki Engineering Group instead since 2023. |
- Summary
Parsoid is a Node.js codebase. This project aims to (a) port Parsoid to PHP (b) integrate it with MediaWiki core (c) Deploy Parsoid/PHP on the Wikimedia cluster and switch over all clients to use Parsoid/PHP.
- Significance and Motivation
The larger project is to make Parsoid the default parser for MediaWiki starting with the Wikimedia cluster wikis. The simplest and shortest path to getting there is to port Parsoid to PHP.
The reasoning for this is covered on Parsing/Notes/Moving Parsoid Into Core#Why move Parsoid into Core? and in the Tech Talk about making Parsoid the default MediaWiki parser (see the Links and Resources section below).
But, the TLDR is that porting lets us (a) fix the architectural complaints about Parsoid as a standalone service (b) leverage code from the MediaWiki core codebase to bring Parsoid and the legacy PHP parser closer together (c) provide simpler installation options for non-Wikimedia wikis while providing VisualEditor and Wikitext Linting out of the box (d) reduce some of the async-related complexity from the codebase.
- Outcomes
This is a step in a larger project, as such the metric is about completing the porting process so we can get to the next phase of development. The best way to do this is to ensure no clients are using the JS version of Parsoid. The next phase will focus on the ultimate goal of moving to a single parser.
- Baseline Metrics
- Percentage of clients using Parsoid: 0%
- Target Metrics
- Percentage of clients using Parsoid: 100%
- Stakeholders
- Client teams: Web, VE, CX, Android, Growth (for Flow)
- Editing community
- Core Platform
- Known Dependencies/Blockers