Page MenuHomePhabricator

New attribute for imports in revision and archive table
Open, LowPublicFeature

Description

Imports are quite confusing: they potentially link to wrong user pages (T9240), mess up the version history, and bugs can be exploited to forge fake edits (with the importupload right).

Consequentially, imported versions should be marked in the page history - and for that, an attribute needs to be added in the revision and archive table.

I suggest something with default value null, so that performing the schema upgrade doesn't affect existing revisions.
Being able to filter for imported revisions on a page would also be nice. Please give input on which data type would be good for this.

Beside for imports, this could also be used for duplicated revisions (in case we implement CopyRevisions or CopyPage at some point in the future).


Version: unspecified
Severity: enhancement

Details

Reference
bz24353

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 11:06 PM
bzimport set Reference to bz24353.
bzimport added a subscriber: Unknown Object (MLST).

One could also think of giving the new field a wider range than 0 and 1, for future purposes. For example, one user suggested flagging revisions that have been restored with the old deletion schema. One could also think of the state "belonging to a deleted page". When we switch entirely to RevisionDelete, we still want to show revisions in the history that have been RevDeleted, but we don't want to show revisions of a previous attempt at writing the article.
E.g.:

  1. Vandal creates page A
  2. Page A gets deleted with RevisionDelete, revision X is marked as deleted
  3. GoodUser creates page A
  4. Oversight action on one specific revision Y in A
  5. How do we make Y show up in the history (because it belongs to the article), but not X (which has nothing to do with the current article)?

One simple way of doing this would be to only display RevDeleted revisions in the history, if there's an earlier revision that is *not* deleted. Another way would be to store this information directly in the database.

Perhaps use a bitfield (tinyint), just like in rev_deleted? One could name it rev_attrib.

Tacsipacsi subscribed.

What about simply adding a tag (MediaWiki-Change-tagging)? This doesn’t need new infrastructure, and I think it would qualify the requirements listed in the task description.

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 11:00 AM
Aklapper removed a subscriber: wikibugs-l-list.