Page MenuHomePhabricator

Log entries for automatic global group membership changes are created on local wikis, not Meta
Closed, ResolvedPublic

Description

Log entries for automatic global group membership changes are created on local wikis, not Meta. For example: https://en.wikibooks.org/wiki/Special:Log/gblrights (taken from T397224#11376026).

Is this expected? Until now I thought that all global group membership changes should happen on Meta. On the other hand, https://en.wikipedia.org/wiki/Special:Log/gblrights also has some real global group membership changes from 2014 and earlier. Is this something we changed at some point (maybe T19308?), or is it still okay?

Event Timeline

They should only be on metawiki.

Stewards used to be able to make such changes on any wiki, but T207531 / this change moved the relevant rights from the global group to the local metawiki one so that the logs would be centralized.

Here is our original discussion on logging: T376315#10413649.

My understanding is that this is considered to be acceptable because the checkuser and suppress groups are updated via meta.

This fitted our use-case (though we didn't think of the case where a user who is currently in one of those groups is only added to the global group when some other local group changes - T416541).

But I guess it would need revisiting for T415588, if bot could be added anywhere.

Change #1237587 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/core@master] Logging: Support interacting with log entries from other wikis

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

Change #1237589 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/CentralAuth@master] GlobalGroupAssignmentService: Insert log entries into central wiki

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

MediaWiki has some cross-wiki capabilities, but they are not complete in this area, and so I had to make some workarounds. I think this is acceptable, but if it isn't, another approach we could take would be to insert the log entry from a job that would always run on Meta-Wiki, but could be scheduled cross-wiki (we do something similar for account vanishing).

Change #1239518 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] Logging: more tests for DatabaseLogEntry

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

Change #1237587 merged by jenkins-bot:

[mediawiki/core@master] Logging: Support interacting with log entries from other wikis

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

Change #1237589 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] GlobalGroupAssignmentService: Insert log entries into central wiki

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

Change #1239518 merged by jenkins-bot:

[mediawiki/core@master] Logging: more tests for DatabaseLogEntry

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

This will be fixed for future log entries (once the new code rolls out to all wikis this Thursday).