Page MenuHomePhabricator

Port Parsoid tokenizer to PHP
Closed, ResolvedPublic


This task tracks ongoing work to port the tokenizer component of Parsoid to PHP. The general plan is:

  • Fork PEG.js, rebranding as WikiPEG (complete).
  • Implement rule parameters in WikiPEG, in order to simplify the grammar and improve performance (implementation complete, but should have more testing).
  • Add a PHP generator backend to WikiPEG
  • Port the action code embedded within the Parsoid grammar from JS to PHP.
  • Port functions called by the action code to PHP. Only a mock implementation is needed for this subproject.
  • Analyse performance of the PHP code and do any necessary optimisation work.


Related Gerrit Patches:
mediawiki/services/parsoid : masterPort tokenizer to PHP

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 26 2019, 10:56 PM
tstarling updated the task description. (Show Details)Mar 26 2019, 10:57 PM
tstarling triaged this task as Medium priority.Mar 26 2019, 11:02 PM
ssastry edited projects, added Parsoid-PHP; removed Parsoid.Mar 26 2019, 11:41 PM
ssastry moved this task from Backlog to Porting on the Parsoid-PHP board.Mar 27 2019, 12:07 AM

Change 497448 had a related patch set uploaded (by Tim Starling; owner: Tim Starling):
[mediawiki/services/parsoid@master] Port tokenizer to PHP

Change 497448 merged by jenkins-bot:
[mediawiki/services/parsoid@master] Port tokenizer to PHP

ssastry closed this task as Resolved.Apr 2 2019, 9:51 PM
  • Analyse performance of the PHP code and do any necessary optimisation work.

I am going to create a separate task for it.

Mentioned in SAL (#wikimedia-operations) [2019-04-03T20:29:56Z] <arlolra> Updated Parsoid to 0b3bb10 (T219337)