Page MenuHomePhabricator

Normalise centralauth.gu_hidden
Closed, ResolvedPublic

Description

-- If true, this account should be hidden from most public user lists.
-- Used for "deleting" accounts without breaking referential integrity.
gu_hidden varbinary(255) not null default '',

The column is often '', but also includes values like lists and suppressed.

Also, it doesn't seem to be ever true, at least beyond not being '' (which I guess PHP would evaluate to being true ;))

Event Timeline

Those values match the CentralAuthUser::HIDDEN_* constants. Not sure what you propose to do here?

They can be turned into integer. That would reduce its size quite a bit.

Change 743661 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] Normalize gu_hidden

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

Change 743661 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Normalize gu_hidden

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

Change 743923 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] beta: WRITE_BOTH for centralauth hidden level migration

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

Change 743923 merged by jenkins-bot:

[operations/mediawiki-config@master] beta: WRITE_BOTH for centralauth hidden level migration

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

Change 751077 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] Operate internally on normalized hidden values

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

Change 751385 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] prod: WRITE_BOTH for centralauth hidden level migration

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

Change 751385 merged by jenkins-bot:

[operations/mediawiki-config@master] prod: WRITE_BOTH for centralauth hidden level migration

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

Mentioned in SAL (#wikimedia-operations) [2022-01-04T12:52:39Z] <taavi@deploy1002> Synchronized wmf-config/InitialiseSettings.php: Config: [[gerrit:751385|prod: WRITE_BOTH for centralauth hidden level migration (T289068)]] (duration: 00m 57s)

Mentioned in SAL (#wikimedia-operations) [2022-01-11T06:21:30Z] <taavi> starting extensions/CentralAuth/maintenance/migrateHiddenLevel.php on a mwmaint1002 screen session - T289068

Mentioned in SAL (#wikimedia-operations) [2022-01-11T07:12:33Z] <taavi> extensions/CentralAuth/maintenance/migrateHiddenLevel.php finished - T289068

Change 751077 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Operate internally on normalized hidden values

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

Change 758038 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] beta: READ_NEW for CentralAuth hidden level migration

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

Change 758038 merged by jenkins-bot:

[operations/mediawiki-config@master] beta: READ_NEW for CentralAuth hidden level migration

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

Change 758443 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] prod: READ_NEW for CentralAuth hidden level migration

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

Change 758443 merged by jenkins-bot:

[operations/mediawiki-config@master] prod: READ_NEW for CentralAuth hidden level migration

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

Mentioned in SAL (#wikimedia-operations) [2022-02-02T12:11:20Z] <taavi@deploy1002> Synchronized wmf-config/InitialiseSettings.php: Config: [[gerrit:758443|prod: READ_NEW for CentralAuth hidden level migration (T289068)]] (duration: 00m 50s)

Change 759725 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] beta: WRITE_NEW for CentralAuth hidden level migration

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

If true, this account should be hidden from most public user lists.

Well, this is not exactly true :) (shall the description on the file be amended?) gu_hidden just makes the account invisible on Special:GlobalUsers but they're still visible elsewhere e.g. Special:ListUsers, page histories and logs. If T23097 is ever fixed it'd be interesting to use it for these, globally.

Change 760260 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] api: Update setglobalaccountstatus to normalized hidden values

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

Change 759725 merged by jenkins-bot:

[operations/mediawiki-config@master] beta: WRITE_NEW for CentralAuth hidden level migration

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

Change 760953 had a related patch set uploaded (by Zabe; author: Zabe):

[operations/puppet@production] wmcs: stop accessing gu_hidden in maintain-views

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

Change 761599 had a related patch set uploaded (by Majavah; author: Majavah):

[operations/mediawiki-config@master] prod: WRITE_NEW for CentralAuth hidden level migration

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

Change 761599 merged by jenkins-bot:

[operations/mediawiki-config@master] prod: WRITE_NEW for CentralAuth hidden level migration

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

Mentioned in SAL (#wikimedia-operations) [2022-02-14T08:45:44Z] <taavi@deploy1002> Synchronized wmf-config/InitialiseSettings.php: Config: [[gerrit:761599|prod: WRITE_NEW for CentralAuth hidden level migration (T289068)]] (duration: 00m 49s)

Change 771346 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] Drop support for CentralAuthHiddenLevelMigrationStage

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

Change 771347 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] Drop gu_hidden column

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

Change 771346 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Drop support for CentralAuthHiddenLevelMigrationStage

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

Change 771347 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Drop gu_hidden column

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

Change 760953 merged by Marostegui:

[operations/puppet@production] wmcs: stop accessing gu_hidden in maintain-views

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

How is this supposed to work for third parties / developement environments, without any automated schema migration?

Apparently CentralAuth doesn't support automated schema migrations whatsoever. That's sad. Filed T305807: DatabaseUpdater cannot handle non-default databases about it.

CA has in its documentation [1] that it's not suitable for third parties and I don't know any place that uses it. In the long-term it really should get replaced with a better system in wikimedia production too (T252244#6339170) so I'm not sure making CA work with third parties would be worth the effort.

[1]:

CentralAuth was designed specifically for Wikimedia projects which already had millions of accounts that needed to be merged into a global table. If you are starting a new wiki farm from scratch and have no need to merge existing accounts into a global table, it is much easier to set up global accounts using $wgSharedDB rather than using CentralAuth

Miraheze use CentralAuth although we don't ever use update.php

CA has in its documentation [1] that it's not suitable for third parties and I don't know any place that uses it. In the long-term it really should get replaced with a better system in wikimedia production too (T252244#6339170) so I'm not sure making CA work with third parties would be worth the effort.

Nevertheless, it is used quite a bit, and automated updates would reduce friction for using CA in local development environments, too.
Once T305807 (which affects several other extensions) gets fixed, adding schema updates to CA is a trivial effort.

Change 810476 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] Cleanup remains of the gu_hidden migration

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

Change 810476 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Cleanup remains of the gu_hidden migration

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