Page MenuHomePhabricator

Introduce PageRecord and ExistingPageRecord interfaces
Closed, ResolvedPublic

Description

PageRecord is to represent an editable page on the wiki. It roughly corresponds to a row in the page table. It is intended to replace many usages of WikiPage.

To allow for an easy transition from WikiPage to PageRecord, PageRecord has to be allowed to represent a non-existintg page initially. We introduce ExistingPageRecord as a derived interface with the added guarantee that the page exists. ExistingPageRecord will be implemented by the PageRecordValue class. Once WikiPage has been removed, we can guaranteed that a PageRecord always exists, and make ExisingPageRecord an alias for PageRecord. This strategy is similar to how we are introducing PageIdentity with weak guarantees that are compatible with the behavior of Title, and provide ProperPageIdentity as a temporary stronger version of the interface.

PageRecord shall extend ProperPageIdentity, and ExistingPageRecord shall extend PageRecord. PageRecordValue shall extend PageIdentityValue.

Related Objects

StatusSubtypeAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenFeatureNone
OpenBUG REPORTNone
OpenNone
StalledNone
OpenFeatureNone
DuplicateNone
ResolvedNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
ResolvedNone
ResolvedNone
OpenFeatureNone
OpenNone
OpenFeatureNone
StalledNone
OpenNone
Opendaniel
Openpmiazga
ResolvedNone
InvalidNone
OpenNone
ResolvedNone
Resolveddaniel
Resolveddaniel
Resolveddaniel
Resolveddaniel

Event Timeline

Change 644281 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] DNM: Introduce PageRecord interface

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

daniel raised the priority of this task from Medium to High.
daniel lowered the priority of this task from High to Medium.Feb 23 2021, 5:41 PM

Change 644281 merged by jenkins-bot:
[mediawiki/core@master] Introduce PageRecord interface

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