User:Taavi/CentralAuth

List of things I would like to get done on CentralAuth. Most of these only clean up tech debt.

Replace CentralAuthUtils with a service

 * ✅ Add injectable CentralAuthUtilityService to replace CentralAuthUtils
 * remaining uses
 * CA special pages
 * CA hooks
 * CA antispoof
 * CA jobs
 * CA ID lookup
 * CA session providers
 * CentralAuthUser
 * global group management
 * others
 * CA global rename
 * CA wiki sets
 * CA API
 * CA maintenance scripts
 * CheckUser
 * SecurePoll
 * WikimediaMaintenance
 * Flow
 * Remove

New hook system

 * WIP patch, needs to be updated to CentralAuthUtilityService
 * WIP patch, needs to be updated to CentralAuthUtilityService

Wiki sets

 * Introduce WikiSetStore and WikiSetRecord
 * rewrite special page?

Global groups

 * Introduce GlobalGroupLookup and GlobalGroupStore
 * ✅ Require global group identifiers are all lowercase

CentralAuthUser

 * Remove everything that is not actually related to the user itself
 * Known wikis
 * global groups
 * Add value objects and a factory
 * Remove users
 * Remove

Test coverage

 * Special pages
 * API
 * CentralAuthUtilityService
 * Wiki set storage
 * Global group storage
 * Global rename
 * ... everything not yet listed

Multi datacenter things

 * Import all local names
 * Fix other special pages opening master connections on GETs

Docs

 * Rewrite setup docs
 * Figure out how single sign on works and write docs for that

Progress
see here
 * 3.16% on 24 January 2021

Decoupling
Maybe split things up in multiple extensions?
 * GlobalRename(Request)
 * Single sign on
 * core has a  concept, no need to make it CA specific?
 * clean up WikiSet/WikiList/SiteMatrix/$wgConf mess