Page MenuHomePhabricator

B5. Spike: Namespace conversion for wikitext talk pages -- test conversion on testwiki, make reasonable fixes
Closed, ResolvedPublic2 Estimated Story Points

Description

Spike to make sure we're able to convert a whole namespace of wikitext pages to Flow.

This involves running a test conversion on testwiki, evaluating, and making reasonable fixes within a 2-point timebox.

If the evaluation and fixes turns out to be bigger than 2 points, then we should call this done, create a new ticket, and estimate it for another sprint.

Event Timeline

DannyH raised the priority of this task from to Medium.
DannyH updated the task description. (Show Details)
DannyH subscribed.
DannyH renamed this task from Spike: Namespace conversion for wikitext talk pages -- make sure we know how to do it, test it on testwiki, fixing small things to B5. Spike: Namespace conversion for wikitext talk pages -- make sure we know how to do it, test it on testwiki, fixing small things .May 6 2015, 8:45 PM
DannyH renamed this task from B5. Spike: Namespace conversion for wikitext talk pages -- make sure we know how to do it, test it on testwiki, fixing small things to B5. Spike: Namespace conversion for wikitext talk pages -- test conversion on testwiki, make reasonable fixes.May 7 2015, 12:03 AM
DannyH updated the task description. (Show Details)

I've tried on my local machine & submitted 2 more patches (https://gerrit.wikimedia.org/r/#/c/215330/ & https://gerrit.wikimedia.org/r/#/c/215331/)
They just fix some valid conditions under which import could "fail" (but not really). We just need to get those merged before doing a big import (to not spam output with exceptions for valid cases), but I can test the import without those.


Talk namespaces on testwiki & the amount of pages in each of them:

NS_TALK193
NS_USER_TALK2541
NS_PROJECT_TALK70
NS_FILE_TALK17
NS_MEDIAWIKI_TALK49
NS_TEMPLATE_TALK146
NS_HELP_TALK3
NS_CATEGORY_TALK10

I suggest to try NS_HELP_TALK or NS_CATEGORY_TALK first, then NS_TALK?


Steps:

  • Create Template:Wikitext_talk_page_converted_to_Flow & Template:Archive_for_converted_wikitext_talk_page (already exist)
  • Add namespace-to-convert to $wgFlowOccupyNamespaces, so new pages are automatically Flow boards from this point
  • Run mwscript extensions/Flow/maintenance/convertNamespaceFromWikitext.php namespace --wiki=testwiki
  • Profit

Test importing Help_talk ok!

All 3 pages were converted as expected:
http://test.wikipedia.org/wiki/Help_talk:Article_validation (archive at http://test.wikipedia.org/wiki/Help_talk:Article_validation/Archive_1)
http://test.wikipedia.org/wiki/Help_talk:Page_validation (archive at http://test.wikipedia.org/wiki/Help_talk:Page_validation/Archive_1)
http://test.wikipedia.org/wiki/Help_talk:%D7%90 (archive at http://test.wikipedia.org/wiki/Help_talk:%D7%90/Archive_1)

I didn't add Help_talk to $wgFlowOccupyNamespaces, which means that new pages in that namespace will still be wikitext pages (that needs a config change, which needs to be deployed right away - there was no reason to go through this to test conversion)

Script output:

[2015-06-03 11:02:37] Starting conversion of Help_talk namespace
[2015-06-03 11:02:37] Archiving page from Help talk:א to Help talk:א/Archive 1
[2015-06-03 11:02:40] Importing to Help talk:א
[2015-06-03 11:02:41] Importing header
[2015-06-03 11:02:42] Imported 1 revisions for header
[2015-06-03 11:02:42] Imported 1 items, failed 0
[2015-06-03 11:02:43] Completed import to Help talk:א from Help talk:א/Archive 1
[2015-06-03 11:02:43] Archiving page from Help talk:Article validation to Help talk:Article validation/Archive 1
[2015-06-03 11:02:44] Importing to Help talk:Article validation
[2015-06-03 11:02:44] Importing header
[2015-06-03 11:02:50] Imported 1 revisions for header
[2015-06-03 11:02:50] Imported 1 items, failed 0
[2015-06-03 11:02:50] Completed import to Help talk:Article validation from Help talk:Article validation/Archive 1
[2015-06-03 11:02:50] Archiving page from Help talk:Page validation to Help talk:Page validation/Archive 1
[2015-06-03 11:02:51] Importing to Help talk:Page validation
[2015-06-03 11:02:51] Importing header
[2015-06-03 11:02:54] Imported 1 revisions for header
[2015-06-03 11:02:54] Imported 1 items, failed 0
[2015-06-03 11:02:54] Completed import to Help talk:Page validation from Help talk:Page validation/Archive 1
[2015-06-03 11:02:54] Exception while importing: Help talk:א
[2015-06-03 11:02:54] exception 'Flow\Exception\FlowException' with message 'Not allowed to convert: Help talk:א' in /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php:125
Stack trace:
#0 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php(108): Flow\Import\Converter->convert(Object(Title))
#1 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(58): Flow\Import\Converter->convertAll(Object(EchoCallbackIterator))
#2 /srv/mediawiki-staging/php-1.26wmf8/maintenance/doMaintenance.php(103): ConvertNamespaceFromWikitext->execute()
#3 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(63): require_once('/srv/mediawiki-...')
#4 /srv/mediawiki-staging/multiversion/MWScript.php(97): require_once('/srv/mediawiki-...')
#5 {main}
[2015-06-03 11:02:54] Exception while importing: Help talk:Article validation
[2015-06-03 11:02:54] exception 'Flow\Exception\FlowException' with message 'Not allowed to convert: Help talk:Article validation' in /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php:125
Stack trace:
#0 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php(108): Flow\Import\Converter->convert(Object(Title))
#1 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(58): Flow\Import\Converter->convertAll(Object(EchoCallbackIterator))
#2 /srv/mediawiki-staging/php-1.26wmf8/maintenance/doMaintenance.php(103): ConvertNamespaceFromWikitext->execute()
#3 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(63): require_once('/srv/mediawiki-...')
#4 /srv/mediawiki-staging/multiversion/MWScript.php(97): require_once('/srv/mediawiki-...')
#5 {main}
[2015-06-03 11:02:54] Exception while importing: Help talk:Page validation
[2015-06-03 11:02:54] exception 'Flow\Exception\FlowException' with message 'Not allowed to convert: Help talk:Page validation' in /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php:125
Stack trace:
#0 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/includes/Import/Converter.php(108): Flow\Import\Converter->convert(Object(Title))
#1 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(58): Flow\Import\Converter->convertAll(Object(EchoCallbackIterator))
#2 /srv/mediawiki-staging/php-1.26wmf8/maintenance/doMaintenance.php(103): ConvertNamespaceFromWikitext->execute()
#3 /srv/mediawiki-staging/php-1.26wmf8/extensions/Flow/maintenance/convertNamespaceFromWikitext.php(63): require_once('/srv/mediawiki-...')
#4 /srv/mediawiki-staging/multiversion/MWScript.php(97): require_once('/srv/mediawiki-...')
#5 {main}

Those 3 exceptions were expected: 3 wikitext pages were moved & a flow-board was created for them, after which it encountered the flow-boards and skipped them. One of the patches in gerrit will make those silent, so we don't get those confusing exceptions anymore.

NS_TALK converted as well.

I've checked a couple of pages and conversion seems fine. E.g.:

If anyone's interested in checking more, here's a list of all pages in that namespace: https://phabricator.wikimedia.org/P717

There were a couple of failures, but all seem acceptable:

Subpage without matching subject page

  • Talk:Main Page/Archive 1
  • Talk:Main Page/Archive 2
  • Talk:Main Page/en
  • Talk:Blah/Blah
  • Talk:Foo/bar/foobar/Karl Valentin (test)
  • Talk:Foo/no complications
  • Talk:Itzhak Katzenelson/other spellings
  • Talk:Main Page/test
  • Talk:Move talk subpages target/sub
  • Talk:Move talk subpages/sub
  • Talk:MoveSubpageTest/Subpage
  • Talk:Reciprocal System of Theory/Archive 5
  • Talk:Sandbox/Archive 1
  • Talk:SyntaxHighlight GeSHi/Comments
  • Talk:JSCB BORNEO INTERNATIONAL/Archive 1
  • Talk:Mvtest00/8

Redirect

  • Talk:Bob ON WHEELS!!!
  • Talk:Foo
  • Talk:Test54
  • Talk:Test54/blah
  • Talk:Move talk subpages
  • Talk:MoveSubpageTest
  • Talk:TestMoveTalkSubpage
  • Talk:TestMoveTalkSubpage/Subpage
  • Talk:Draft:afch-test
  • Talk:Riley Huntley and Company
  • Talk:Wikipédia Discussão: Teste2
  • Talk:Tehnewtest
  • Talk:Teste9 test9
  • Talk:Teste9 test10
  • Talk:Teste9 test11
  • Talk:Letter-small reclam:Q0
  • Talk:Mvtest
  • Talk:Mvtest/8
  • Talk:Mvtest0
  • Talk:Mvtest0/8
  • Talk:Frogs2

Already Flow

  • Talk:Flow QA
  • Talk:Sandbox
  • Talk:Frogs
  • Talk:LQT
  • Talk:Poem
  • Talk:LQT Test 2015-04-30 1
  • Talk:Ballet
  • Talk:LQT Test 2015-05-07 1
  • Talk:LQT test 2015-05-11

Script output: https://phabricator.wikimedia.org/P716 - all other failures in this file are when pages-that-have-just-been-converted are revisited and ignored (because they're already a Flow board)

Spike is done, thanks!