Page MenuHomePhabricator

Remove manual construction of WikiPage objects
Open, LowPublic

Description

The WikiPage class is not @newable, but there are a lot of deployed manual constructions.

See https://codesearch.wmcloud.org/deployed/?q=new%5Cs%2B%5C%5C%3FWiki(File%7CCategory)%3FPage%5Cs*%5C(&i=nope&files=&excludeFiles=&repos=

These should be replaced with uses of the WikiPageFactory service

Details

Related Changes in Gerrit:
SubjectAuthorRepoBranchLines +/-
D3r1ck01mediawiki/coremaster+31 -39
D3r1ck01mediawiki/extensions/ParserFunctionsmaster+3 -3
Umherirrendermediawiki/extensions/CirrusSearchmaster+17 -6
Umherirrendermediawiki/coremaster+13 -21
Umherirrendermediawiki/coremaster+59 -63
Umherirrendermediawiki/extensions/ReplaceTextmaster+6 -1
Umherirrendermediawiki/extensions/GraphVizmaster+25 -3
Umherirrendermediawiki/extensions/WikiLexicalDatamaster+73 -10
Umherirrendermediawiki/extensions/TranslateSvgmaster+31 -3
Umherirrendermediawiki/extensions/Widgetsmaster+7 -1
Umherirrendermediawiki/extensions/TinyMCEmaster+6 -1
Umherirrendermediawiki/extensions/PhabTaskGraphmaster+14 -2
Umherirrendermediawiki/extensions/PageExchangemaster+18 -3
Umherirrendermediawiki/extensions/NewsTickermaster+22 -3
Umherirrendermediawiki/extensions/MultiBoilerplatemaster+7 -1
Umherirrendermediawiki/extensions/LegalLoginmaster+6 -1
Umherirrendermediawiki/extensions/CreateUserPagemaster+6 -1
Umherirrendermediawiki/extensions/DocBookExportmaster+6 -1
Umherirrendermediawiki/extensions/CloneDiffmaster+8 -1
Umherirrendermediawiki/extensions/AutoCreateCategoryPagesmaster+14 -1
Umherirrendermediawiki/extensions/Wikibasemaster+5 -6
Umherirrendermediawiki/extensions/Genealogymaster+14 -11
Umherirrendermediawiki/extensions/BibManagermaster+1 -1
Umherirrendermediawiki/extensions/CommentStreamsmaster+4 -5
Umherirrendermediawiki/extensions/MissedPagesmaster+1 -2
Umherirrendermediawiki/extensions/ConfirmAccountmaster+2 -2
Umherirrendermediawiki/coremaster+1 -1
Umherirrendermediawiki/coremaster+11 -3
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change 640706 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Inject WikiPageFactory into SpecialMyLanguage

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

Change 640721 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in namespaceDupes.php

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

Change 640722 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in Article class

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

Change 640721 abandoned by Umherirrender:
[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in namespaceDupes.php

Reason:
Needs another strategy

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

Change 640722 abandoned by Umherirrender:
[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in Article class

Reason:
Needs another strategy

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

Change 640706 merged by jenkins-bot:
[mediawiki/core@master] Inject WikiPageFactory into SpecialMyLanguage

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

Change 640721 restored by Umherirrender:

[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in namespaceDupes.php

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

Change 640722 restored by Umherirrender:

[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in Article class

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

Change 640721 merged by jenkins-bot:

[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in namespaceDupes.php

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

Change 808364 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/BibManager@master] Use WikiPageFactory to create WikiPage object

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

Change 808366 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CommentStreams@master] Use WikiPageFactory to create WikiPage object

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

Change 808367 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/ConfirmAccount@master] Use WikiPageFactory to create WikiPage object

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

Change 808367 merged by jenkins-bot:

[mediawiki/extensions/ConfirmAccount@master] Use WikiPageFactory to create WikiPage object

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

Change 808374 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Genealogy@master] Use WikiPageFactory to create WikiPage object

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

Change 808376 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/MissedPages@master] Use WikiPageFactory to create WikiPage object

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

Change 808380 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Wikibase@master] Use WikiPageFactory to create WikiPage object

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

Change 808376 merged by jenkins-bot:

[mediawiki/extensions/MissedPages@master] Use WikiPageFactory to create WikiPage object

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

Change 808374 merged by jenkins-bot:

[mediawiki/extensions/Genealogy@master] Use WikiPageFactory to create WikiPage object

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

Change 808366 merged by jenkins-bot:

[mediawiki/extensions/CommentStreams@master] Use WikiPageFactory to create WikiPage object

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

Change 808364 merged by jenkins-bot:

[mediawiki/extensions/BibManager@master] Use WikiPageFactory to create WikiPage object

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

Change 808380 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use WikiPageFactory to create WikiPage object

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

Change 808453 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/AutoCreateCategoryPages@master] Use WikiPageFactory to create WikiPage object

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

Change 808454 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CloneDiff@master] Use WikiPageFactory to create WikiPage object

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

Change 808455 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CreateUserPage@master] Use WikiPageFactory to create WikiPage object

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

Change 808456 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/DocBookExport@master] Use WikiPageFactory to create WikiPage object

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

Change 808458 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/GraphViz@master] Use WikiPageFactory to create WikiPage object

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

Change 808459 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/LegalLogin@master] Use WikiPageFactory to create WikiPage object

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

Change 808460 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/MultiBoilerplate@master] Use WikiPageFactory to create WikiPage object

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

Change 808461 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/NewsTicker@master] Use WikiPageFactory to create WikiPage object

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

Change 808462 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/PageExchange@master] Use WikiPageFactory to create WikiPage object

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

Change 808464 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/PhabTaskGraph@master] Use WikiPageFactory to create WikiPage object

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

Change 808466 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/ReplaceText@master] Use WikiPageFactory to create WikiPage object

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

Change 808468 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/TinyMCE@master] Use WikiPageFactory to create WikiPage object

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

Change 808469 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/TranslateSvg@master] Use WikiPageFactory to create WikiPage object

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

Change 808470 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Widgets@master] Use WikiPageFactory to create WikiPage object

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

Change 808474 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/WikiLexicalData@master] Use WikiPageFactory to create WikiPage object

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

Change 808453 merged by jenkins-bot:

[mediawiki/extensions/AutoCreateCategoryPages@master] Use WikiPageFactory to create WikiPage object

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

Change 808454 merged by jenkins-bot:

[mediawiki/extensions/CloneDiff@master] Use WikiPageFactory to create WikiPage object

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

Change 808456 merged by jenkins-bot:

[mediawiki/extensions/DocBookExport@master] Use WikiPageFactory to create WikiPage object

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

Change 808455 merged by jenkins-bot:

[mediawiki/extensions/CreateUserPage@master] Use WikiPageFactory to create WikiPage object

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

Change 808458 merged by jenkins-bot:

[mediawiki/extensions/GraphViz@master] Use WikiPageFactory to create WikiPage object

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

Change 808459 merged by jenkins-bot:

[mediawiki/extensions/LegalLogin@master] Use WikiPageFactory to create WikiPage object

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

Change 808460 merged by jenkins-bot:

[mediawiki/extensions/MultiBoilerplate@master] Use WikiPageFactory to create WikiPage object

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

Change 808461 merged by jenkins-bot:

[mediawiki/extensions/NewsTicker@master] Use WikiPageFactory to create WikiPage object

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

Change 808462 merged by jenkins-bot:

[mediawiki/extensions/PageExchange@master] Use WikiPageFactory to create WikiPage object

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

Change 808464 merged by jenkins-bot:

[mediawiki/extensions/PhabTaskGraph@master] Use WikiPageFactory to create WikiPage object

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

Change 808466 merged by jenkins-bot:

[mediawiki/extensions/ReplaceText@master] Use WikiPageFactory to create WikiPage object

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

Change 808468 merged by jenkins-bot:

[mediawiki/extensions/TinyMCE@master] Use WikiPageFactory to create WikiPage object

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

Change 808470 merged by jenkins-bot:

[mediawiki/extensions/Widgets@master] Use WikiPageFactory to create WikiPage object

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

Change 808469 merged by jenkins-bot:

[mediawiki/extensions/TranslateSvg@master] Use WikiPageFactory to create WikiPage object

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

Change 808474 merged by jenkins-bot:

[mediawiki/extensions/WikiLexicalData@master] Use WikiPageFactory to create WikiPage object

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

Umherirrender triaged this task as Low priority.

Change 808540 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] tests: Use WikiPageFactory to create WikiPage object

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

Change 808540 merged by jenkins-bot:

[mediawiki/core@master] tests: Use WikiPageFactory to create WikiPage object

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

Change 640722 abandoned by Umherirrender:

[mediawiki/core@master] Use WikiPageFactory to instance WikiPage in Article classes

Reason:

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

Change 869288 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CirrusSearch@master] Use WikiPageFactory to create WikiPage object

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

Change 869288 merged by jenkins-bot:

[mediawiki/extensions/CirrusSearch@master] Use WikiPageFactory to create WikiPage object

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

Change #1309786 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/extensions/ParserFunctions@master] tests: Use WikiPageFactory instead of constructing WikiPage directly

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

Change #1309787 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] Do not construct `WikiPage` directly, use WikiPageFactory service

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

Anything left to do here?

Yes! Running the query in the task description returned 2 more callers in deployed code; I've updated them. Both patches have been submitted to Gerrit. You're invited to review if you like.

Change #1309786 merged by jenkins-bot:

[mediawiki/extensions/ParserFunctions@master] tests: Use WikiPageFactory instead of constructing WikiPage directly

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