Page MenuHomePhabricator

Provide consistent native way to attribute offsite users in revision history
Closed, ResolvedPublic


Edit attribution for revisions converted from UseMod days or imported from another wiki are currently a little odd; the revision record stores an ID of 0 and the username directly.

We then can end up assigning those edits to whoever registers the account name locally... which usually is correct, but sometimes not. :)

It could be useful to be able to store some sort of source wiki identifier with that attribution, which might help with dealing with these cases; and might also be relevant for OpenID-type cross-wiki authentication situations.

On the other hand it might be really difficult to retrofit in. Needs some pondering...

Version: unspecified
Severity: enhancement

Event Timeline

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

See bug 323 on the conversion issue; not marking it as a blocker here but should be considered.

Wondering if this request has simply become a WONTFIX nowadays?

(In reply to Andre Klapper from comment #2)

Wondering if this request has simply become a WONTFIX nowadays?

There's quite a web of reports on this issue, if you follow the dependencies. Luis recently brought it up again, see e.g.

eranroz subscribed.

Perhaps in 2017 we already have some sort of crosswiki authentication system - CentralAuth.
With this in mind, It might be possible to take advantage of its capabilities and use it to redesign Special:Import to include option to import from any wikis included in the CentralAuth.

The import system has always assumed that any revisions attributed to user "X" in the import XML (that is, user X on the source wiki) should belong to the user X that exists on the target wiki, if such a user exists. In the pre-SUL days, this assumption was rather shaky at best, and is still troublesome when importing across wiki clusters. But in a world of SUL finalisation, the assumption is actually pretty reliable, so I don't see this as such a big problem as it used to be. That's not to say we shouldn't still fix it, though.

For posterity I'll note two approaches that have been taken to solve similar problems:

  • During SUL finalisation, unattached accounts for whom the SUL was already taken were renamed to username~dbname, such as TTO~enwiki.
  • When Wikitravel was imported to Wikivoyage, usernames were prefixed with (WT-xx) where xx was the language code, such as (WT-en) Paul Richter.

Change 386625 had a related patch set uploaded (by Anomie; owner: Anomie):
[mediawiki/core@master] Avoid DB rows with usable names but ID = 0 by introducing "interwiki" usernames

Change 386625 merged by jenkins-bot:
[mediawiki/core@master] Avoid DB rows with usable names but ID = 0 by introducing "interwiki" usernames

Anomie claimed this task.