Page MenuHomePhabricator

ptwikibooks: Migrate Flow boards to archival subpages
Closed, ResolvedPublic

Description

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
OpenNone
OpenNone
ResolvedTrizek-WMF
DuplicateNone
OpenNone
ResolvedTrizek-WMF
DuplicateNone
ResolvedSgs
ResolvedSgs
ResolvedTrizek-WMF
OpenNone
ResolvedMimurawil
ResolvedTchanders
In ProgressNone
OpenNone
DeclinedNone
ResolvedEsanders
ResolvedEsanders
ResolvedEsanders
OpenNone
ResolvedEsanders
ResolvedNone
ResolvedDLynch
OpenDLynch
ResolvedUrbanecm_WMF
ResolvedDLynch
ResolvedDLynch
OpenEsanders
ResolvedRyasmeen
ResolvedUrbanecm_WMF
ResolvedDLynch
ResolvedTrizek-WMF
Resolvedzoe
ResolvedRyasmeen
ResolvedBUG REPORTEtonkovidova
ResolvedTrizek-WMF
ResolvedNone
ResolvedPRODUCTION ERRORhubaishan
ResolvedTrizek-WMF
ResolvedDLynch
ResolvedTrizek-WMF
Resolvedppelberg
ResolvedQuiddity
Resolvedppelberg
Resolvedzoe
Resolvedzoe
ResolvedRyasmeen
Resolvedzoe
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedmatmarex
OpenNone

Event Timeline

Good news: looks like DiscussionTools exists by default and I don't need to enable it manually

We've come across a few pages (2 in the first 4,000) that trigger an exception in Parsoid, probably due to using and old version of Parsoid HTML:

UnexpectedValueException from line 730 of /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/DOMDataUtils.php: Unable to decode data-mw [{"parts":[{"template":{"target":{"wt":"fullurl:User talk:Raylton P. Sousa","function":"fullurl"},"params":{"action":{"wt":"edit&section=new"}},"i":0}}]}]
#0 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/DOMDataUtils.php(674): Wikimedia\Parsoid\Utils\DOMDataUtils::loadDataAttribs(Object(Wikimedia\Parsoid\DOM\Element), Array)
#1 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/DOMUtils.php(73): Wikimedia\Parsoid\Utils\DOMDataUtils::Wikimedia\Parsoid\Utils\{closure}(Object(Wikimedia\Parsoid\DOM\Element), Array)
#2 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/DOMUtils.php(77): Wikimedia\Parsoid\Utils\DOMUtils::visitDOM(Object(Wikimedia\Parsoid\DOM\Element), Object(Closure), Array)
#3 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/DOMDataUtils.php(673): Wikimedia\Parsoid\Utils\DOMUtils::visitDOM(Object(Wikimedia\Parsoid\DOM\Element), Object(Closure), Array)
#4 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Utils/ContentUtils.php(101): Wikimedia\Parsoid\Utils\DOMDataUtils::visitAndLoadDataAttribs(Object(Wikimedia\Parsoid\DOM\DocumentFragment), Array)
#5 /srv/mediawiki/php-1.46.0-wmf.3/vendor/wikimedia/parsoid/src/Html2Wt/WikitextSerializer.php(167): Wikimedia\Parsoid\Utils\ContentUtils::createAndLoadDocumentFragment(Object(Wikimedia\Parsoid\DOM\Document), '<span about="#m...', Array)

Change #1210584 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/Flow@master] FlowMoveBoardsToSubpages: Skip moves that throw exceptions

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

Change #1210584 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] FlowMoveBoardsToSubpages: Skip moves that throw exceptions

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

Change #1211008 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/Flow@wmf/1.46.0-wmf.3] FlowMoveBoardsToSubpages: Skip moves that throw exceptions

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

Change #1211008 merged by jenkins-bot:

[mediawiki/extensions/Flow@wmf/1.46.0-wmf.3] FlowMoveBoardsToSubpages: Skip moves that throw exceptions

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

Mentioned in SAL (#wikimedia-operations) [2025-11-25T14:19:06Z] <tchanders@deploy2002> Started scap sync-world: Backport for [[gerrit:1211008|FlowMoveBoardsToSubpages: Skip moves that throw exceptions (T402552)]], [[gerrit:1201814|Drop $wgCampaignEventsCountrySchemaMigrationStage (T408932)]]

Mentioned in SAL (#wikimedia-operations) [2025-11-25T14:23:32Z] <tchanders@deploy2002> daimona, esanders, tchanders: Backport for [[gerrit:1211008|FlowMoveBoardsToSubpages: Skip moves that throw exceptions (T402552)]], [[gerrit:1201814|Drop $wgCampaignEventsCountrySchemaMigrationStage (T408932)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-11-25T14:28:00Z] <tchanders@deploy2002> Finished scap sync-world: Backport for [[gerrit:1211008|FlowMoveBoardsToSubpages: Skip moves that throw exceptions (T402552)]], [[gerrit:1201814|Drop $wgCampaignEventsCountrySchemaMigrationStage (T408932)]] (duration: 08m 54s)

After the first ~4,000 flow boards moved successfully, we appear to have thousands of broken Flow boards now:

Examples:

The /Flow archive pages just don't exist:

I had a look in IA, and it seems at least some of these pages had content in the board description, if not any Flow threads:
https://web.archive.org/web/20250617223301/https://pt.wikibooks.org/wiki/Discuss%C3%A3o:Livros_ap%C3%B3crifos/Capa

The conversion script does not throw any errors on these pages, in fact it reports that as having being moved successfully, but when run again, the script doesn't recognise them as having being moved and again reports successfully moving them:

First run:

Moved 'Utilizador Discussão:Julia~ptwikibooks' to 'Utilizador Discussão:Julia~ptwikibooks/Flow'
Created stub at 'Utilizador Discussão:Julia~ptwikibooks'

Second run:

Moved 'Utilizador Discussão:Julia~ptwikibooks' to 'Utilizador Discussão:Julia~ptwikibooks/Flow'
Created stub at 'Utilizador Discussão:Julia~ptwikibooks'

So for these pages, there is an entry in the page table with a page_title of <old title> and there is an entry in flow_workflow withe workflow_title_text of <old title>/Flow. Which suggests that the page has only been partially moved.

FlowFixInconsistentBoards detects this broken boards in a dry run, but when trying to actually fix, triggers the same Parsoid error as above. Looks like we will need to get that Parsoid fix deployed, then fix the boards, then try the moves again.

The Parsoid fix was deployed and the broken board moves have all been fixed. Re-running the move script...

The move script has resumed and appears to be working:

Moved 'Utilizador Discussão:Rafael Canhête L. Filho' to 'Utilizador Discussão:Rafael Canhête L. Filho/Flow'
Created stub at 'Utilizador Discussão:Rafael Canhête L. Filho'
Moved 'Utilizador Discussão:Julia~ptwikibooks' to 'Utilizador Discussão:Julia~ptwikibooks/Flow'
Created stub at 'Utilizador Discussão:Julia~ptwikibooks'
Moved 'Utilizador Discussão:Juulinha' to 'Utilizador Discussão:Juulinha/Flow'
Created stub at 'Utilizador Discussão:Juulinha'
Moved 'Utilizador Discussão:Jonas AGX' to 'Utilizador Discussão:Jonas AGX/Flow'
Created stub at 'Utilizador Discussão:Jonas AGX'
Moved 'Wikilivros Discussão:Portal comunitário/Apresente-se' to 'Wikilivros Discussão:Portal comunitário/Apresente-se/Flow'
Created stub at 'Wikilivros Discussão:Portal comunitário/Apresente-se'
Moved 'Utilizador Discussão:Julimaq' to 'Utilizador Discussão:Julimaq/Flow'
Created stub at 'Utilizador Discussão:Julimaq'
Moved 'Utilizador Discussão:Franprarod' to 'Utilizador Discussão:Franprarod/Flow'
Created stub at 'Utilizador Discussão:Franprarod'
Moved 'Utilizador Discussão:GArantes' to 'Utilizador Discussão:GArantes/Flow'
Created stub at 'Utilizador Discussão:GArantes'
...

The move script is completed. 50 page were skipped for either being "standalone Flow pages" (in a subject namespace) or having no associated subject page:

Skipped 'Wikilivros:Plantão de dúvidas' as it is a standalone Flow page
Skipped 'Utilizador:Alustriel/Arquivo 3' as it is a standalone Flow page
Skipped 'Wikilivros:Enquete' as it is a standalone Flow page
Skipped 'Wikilivros:Predefinições/Discussões' as it is a standalone Flow page
Skipped 'Wikilivros:LiquidThreads' as it is a standalone Flow page
Skipped 'Wikilivros:Comentários' as it is a standalone Flow page
Skipped 'Wikilivros:Robôs' as it is a standalone Flow page
Skipped 'Wikilivros:Filtro de edições/Problemas' as it is a standalone Flow page
Skipped 'Wikilivros:Filtro de edições/Pedidos' as it is a standalone Flow page
Skipped 'Discussão:Teste' as it has no associated subject page
Skipped 'Discussão:Introdução' as it has no associated subject page
Skipped 'Discussão:Java/O porquê de se estudar Java' as it has no associated subject page
Skipped 'Discussão:Logística/Arquivo' as it has no associated subject page
Skipped 'Discussão:Larry David' as it has no associated subject page
Skipped 'Discussão:Suor Angelica' as it has no associated subject page
Skipped 'Discussão:YDreams' as it has no associated subject page
Skipped 'Discussão:Etano' as it has no associated subject page
Skipped 'Discussão:Louis Vuitton' as it has no associated subject page
Skipped 'Discussão:Referência rápida de C++/' as it has no associated subject page
Skipped 'Wikilivros Discussão:Portal comunitário/Arquivo/Página' as it has no associated subject page
Skipped 'Wikilivros Discussão:Wikilivros:Diálogos comunitários/Arquivo/Diálogos comunitários-Discussão' as it has no associated subject page
Skipped 'Wikilivros Discussão:Wikilivros:Diálogos comunitários/Arquivo/Diálogos comunitários-Discussão/Arquivo' as it has no associated subject page
Skipped 'Wikilivros Discussão:Página principal/Arquivo 2' as it has no associated subject page
Skipped 'Wikilivros Discussão:Página principal/Arquivo 3' as it has no associated subject page
Skipped 'Wikilivros Discussão:Página principal/Arquivo 4' as it has no associated subject page
Skipped 'Wikilivros Discussão:Pedidos de eliminação de páginas/Arquivo 1' as it has no associated subject page
Skipped 'Wikilivros Discussão:Biblioteca/Arquivo' as it has no associated subject page
Skipped 'Ficheiro Discussão:Gazpar2dmod.gif' as it has no associated subject page
Skipped 'Ficheiro Discussão:Gazpar3d.gif' as it has no associated subject page
Skipped 'Ficheiro Discussão:Como usar Blueprints 01.jpg' as it has no associated subject page
Skipped 'Ficheiro Discussão:Pentagono regular e seus elementos.svg' as it has no associated subject page
Skipped 'MediaWiki Discussão:Whatlinkshere' as it has no associated subject page
Skipped 'MediaWiki Discussão:Copyrightwarning' as it has no associated subject page
Skipped 'MediaWiki Discussão:PDF Template Blacklist' as it has no associated subject page
Skipped 'MediaWiki Discussão:Newsectionsummary' as it has no associated subject page
Skipped 'MediaWiki Discussão:Livros' as it has no associated subject page
Skipped 'MediaWiki Discussão:Common.js/Topo' as it has no associated subject page
Skipped 'MediaWiki Discussão:Pageinfo-footer' as it has no associated subject page
Skipped 'MediaWiki Discussão:Welcomecreation' as it has no associated subject page
Skipped 'Discussão:Vegetarianismo/Malefícios do Carnivorismo' as it has no associated subject page
Skipped 'Discussão:Luis Banda Capenba' as it has no associated subject page
Skipped 'Discussão:Silo Meno' as it has no associated subject page
Skipped 'Discussão:Italiano/Aula1' as it has no associated subject page
Skipped 'Discussão:Denkou Choujin: Gridman' as it has no associated subject page
Skipped 'Discussão:Valter Bitencourt Júnior' as it has no associated subject page
Skipped 'Discussão:Factos que você não sabia sobre a Desciclopedia!' as it has no associated subject page
Skipped 'Discussão:Ricardo Pavanelly' as it has no associated subject page
Skipped 'Discussão:Russo/Exercícios/Caso prepositivo' as it has no associated subject page
Skipped 'Discussão:Peeragogy Handbook V1.1 (pt-Brazilian)' as it has no associated subject page
Skipped 'Discussão:Dicionário Brasileiro de Linguagem Jurídica/Fale conosco' as it has no associated subject page

Of these pages only https://pt.wikibooks.org/wiki/Wikilivros:Plant%C3%A3o_de_d%C3%BAvidas has had any meaningful activity in the last 5 years.

Change #1213430 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/Flow@master] FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board

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

Change #1213442 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/Flow@wmf/1.46.0-wmf.4] FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board

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

Change #1213430 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board

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

Change #1213442 merged by jenkins-bot:

[mediawiki/extensions/Flow@wmf/1.46.0-wmf.4] FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board

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

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:47:39Z] <esanders@deploy2002> Started scap sync-world: Backport for [[gerrit:1213442|FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board (T402552)]]

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:49:39Z] <esanders@deploy2002> esanders: Backport for [[gerrit:1213442|FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board (T402552)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-12-01T14:54:10Z] <esanders@deploy2002> Finished scap sync-world: Backport for [[gerrit:1213442|FlowMoveBoardsToSubpages: Add 'title' option for moving a specific board (T402552)]] (duration: 06m 31s)

Of these pages only https://pt.wikibooks.org/wiki/Wikilivros:Plant%C3%A3o_de_d%C3%BAvidas has had any meaningful activity in the last 5 years.

This page has been moved manually. The rest can be archived in place. Here is the list of unmoved boards for reference: https://pt.wikibooks.org/wiki/Utilizador:ESanders_(WMF)/skipped

Change #1213501 had a related patch set uploaded (by Esanders; author: Esanders):

[operations/mediawiki-config@master] Set Flow to read-only on ptwikibooks

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

Okay, most of those skipped pages were unhelpful noise from 2015 where either both the Flow board and the LQT archive should be deleted or the Flow board should be deleted with the LQT archive taking its place - full details at https://meta.wikimedia.org/wiki/Global_sysops/Requests

Change #1213501 merged by jenkins-bot:

[operations/mediawiki-config@master] Set Flow to read-only everywhere

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

Mentioned in SAL (#wikimedia-operations) [2025-12-03T14:29:09Z] <esanders@deploy2002> Started scap sync-world: Backport for [[gerrit:1213501|Set Flow to read-only everywhere (T402552)]]

Mentioned in SAL (#wikimedia-operations) [2025-12-03T14:31:25Z] <esanders@deploy2002> esanders: Backport for [[gerrit:1213501|Set Flow to read-only everywhere (T402552)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-12-03T14:38:53Z] <esanders@deploy2002> Finished scap sync-world: Backport for [[gerrit:1213501|Set Flow to read-only everywhere (T402552)]] (duration: 09m 44s)

Esanders moved this task from Doing to Ready for Sign Off on the Editing-team (Kanban Board) board.

🕯️ Goodbye Flow...

ppelberg awarded a token.