Page MenuHomePhabricator

Make WikiPage a ProperPageIdentity
Closed, ResolvedPublic

Description

Before WikiPage can be made compatible with PageRecord, we first have to make sure WikiPage alwas represents a page that can exist on the wiki. A WikiPage should never be a SpecialPage, a section link, and interwiki link, etc.

  • deprecate construction of WikiPage with a Title that does not represent a proper page

Once we are sure that the deprecation warning isn't triggered by anything that WMF uses:

  • make WikiPage implement PageIdentity, make the constructor trigger a deprecation warning when given a PageIdentity that isn't proper.
  • make WikiPage implement ProperPageIdentity (i.e. make PageRecord extend ProeprPageIdentity), make the constructor throw when given a PageIdentity that isn't proper.

We may even wait until 1.36 is branched.

Related Objects

StatusSubtypeAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenFeatureNone
OpenBUG REPORTNone
OpenNone
StalledNone
OpenFeatureNone
DuplicateNone
ResolvedNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
ResolvedNone
ResolvedNone
OpenFeatureNone
StalledNone
OpenNone
OpenNone
Opendaniel
OpenNone
OpenNone
OpenNone
ResolvedNone
Resolveddaniel
Resolveddaniel
Resolveddaniel
ResolvedJdforrester-WMF
ResolvedPRODUCTION ERRORUmherirrender
Resolveddaniel
Resolveddaniel
Resolveddaniel

Event Timeline

Change 657173 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] WikiPage: deprecated construction on bad titles

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

Change 657134 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Make WikiPage a (non-proper) PageIdentity

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

Change 656906 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Make WikiPage a ProperPageIdentity

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

Change 656944 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/extensions/FlaggedRevs@master] Use FlaggableWikiPage only for real pages

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

daniel triaged this task as Medium priority.
daniel raised the priority of this task from Medium to High.Jan 19 2021, 9:40 PM
daniel lowered the priority of this task from High to Medium.
daniel moved this task from Doing to Blocked on the Platform Team Workboards (MW Expedition) board.

Change 656944 merged by jenkins-bot:
[mediawiki/extensions/FlaggedRevs@master] Use FlaggableWikiPage only for real pages

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

Change 657173 merged by jenkins-bot:
[mediawiki/core@master] WikiPage: deprecated construction on bad titles

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

Change 657134 merged by jenkins-bot:
[mediawiki/core@master] Make WikiPage a (non-proper) PageIdentity

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

daniel updated the task description. (Show Details)

Is this task still blocked?

No, this is good to go now!

Change 656906 abandoned by Daniel Kinzler:

[mediawiki/core@master] Make WikiPage a ProperPageIdentity

Reason:

stale

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

Is this task still blocked?

No, this is good to go now!

Thank you! I'm going to send a commit then. I'd love to be able to typehint against ProperPageIdentity as a replacement of WikiPage, rather than using PageIdentity and then having to change it later on.

Change 715494 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/core@master] Make WikiPage a ProperPageIdentity

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

Change 715494 merged by jenkins-bot:

[mediawiki/core@master] Make WikiPage a ProperPageIdentity

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

Daimona updated the task description. (Show Details)
Daimona removed a project: Patch-For-Review.