Page MenuHomePhabricator

Make Quiz extension compatible with Parsoid
Open, MediumPublic

Description

Parsoid has its own extension API - see https://www.mediawiki.org/wiki/Parsoid/Extension_API.
In this first phase, we are targeting tag-hook extensions for migration.
The Quiz extension needs an update to work directly with Parsoid.

Known Blockers

  • fetchTemplateAndTitle support in Parsoid's Extension API

Event Timeline

Arlolra triaged this task as Medium priority.Feb 25 2021, 5:27 PM
Arlolra moved this task from Backlog to Missing Functionality on the Parsoid board.

A quiz id is assigned per quiz, based on a class variable that's incremented onParserFirstCallInit
https://github.com/wikimedia/mediawiki-extensions-Quiz/blob/master/includes/Quiz.php#L83-L84

However, the counter gets reset onParserAfterTidy

Since Parsoid calls the legacy parser for each instance on a page, that's always 0 and we get duplicate ids,
https://www.mediawiki.org/w/index.php?title=Help_talk%3ALint_errors%2Fduplicate-ids&diff=7798147&oldid=7798146

Change #1176320 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/extensions/Quiz@master] [WIP] Stop emitting duplicate ids

https://gerrit.wikimedia.org/r/1176320

Change #1176320 merged by jenkins-bot:

[mediawiki/extensions/Quiz@master] Try to help Parsoid avoid emitting duplicate ids

https://gerrit.wikimedia.org/r/1176320