MediaWiki user change events are needed for Incremental MediaWiki History to support weekly delivery of core contributor metrics.
This Incremental MWH sheet tracks the data field requirements.
MediaWiki hooks available for use (as of 2026-04):
- https://www.mediawiki.org/wiki/Manual:Hooks/LocalUserCreated
- https://www.mediawiki.org/wiki/Manual:Hooks/UserGetRights
- https://www.mediawiki.org/wiki/Manual:Hooks/UserGroupsChanged
- https://www.mediawiki.org/wiki/Manual:Hooks/BlockIpComplete
- https://www.mediawiki.org/wiki/Manual:Hooks/UnblockUserComplete
- https://www.mediawiki.org/wiki/Manual:Hooks/RenameUserComplete
- https://www.mediawiki.org/wiki/Manual:Hooks/UserSetEmail (maybe not needed?)
- https://www.mediawiki.org/wiki/Manual:Hooks/UserSaveSettings (maybe not needed?)
- https://www.mediawiki.org/wiki/Manual:Hooks/UserLoginComplete (probably not needed?)
- https://www.mediawiki.org/wiki/Manual:Hooks/UserLogoutComplete (probably not needed?)
- ...?
Some prior work for producing this kind of event data is done in the ServerSideAccountCreation legacy eventlogging stream, emitted by Extension:Campaign. It looks like instead of using a convenient Hook, Extension:Campaign implements a SecondaryAuthenticationProvider that will be called by MediaWiki core when a user logs in. If the log in happens to also be an account creation, they construct an event and produce it.
There doesn't seem to be a relevant CentralAuth hook, so we'll have to figure out how global accounts relate.
Done is
- new mediawiki/user/change(?) schema modeled on entity/user schema fragment
- new mediawiki.user_change stream emitted from EventBus
- new mediawiki.user_change has more signal than ServerSideAccountCreation does for Incremental MWH purposes