Classification of the types of hooks and extension registry properties
Hypothesis: ''If we make a classification of the types of hooks and extension registry properties used to influence the behavior of MediaWiki core, we will be able to focus further research and interventions on the most impactful.''
Objective
We want to discover patterns in how the ~180 extensions WMF uses in production use hooks and other extension interfaces to implement their business logic. These patterns will allow us to design experiments for making the extension interfaces more expressive and robust which will eventually make extension development easier and more sustainable.
Approach
We will classify the usage of hooks by extensions by analyzing a sample of the ~1400 hook handlers implemented by extensions used by WMF projects along with other extension mechanisms they use.
Resources
- Wiki: https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Artifacts/KR_5.2:_Simplify_feature_development/Details_and_updates#5.2.1
- Survey instructions: https://docs.google.com/document/d/1HBpIh9HE_vjGYyTUwt4oGNw_kjoUFIuOFnPCykfUPY4/edit#heading=h.mij1zlk8rc89
- Asana: https://app.asana.com/0/1207613292438371/1207613292438371
Artifacts
- Hook Usage (automated): https://docs.google.com/spreadsheets/d/14CX7wFaAjnkCmi3z9lykX9DPlbv1Zc3XpM73ToxRtNI
- Extension Registration (automated): https://docs.google.com/spreadsheets/d/1xrSDYMNOR5TTjW-x5wiomJNaK7lB96HHdTNBuxkdxPU
- Hook Survey (manual): https://docs.google.com/spreadsheets/d/1osfn5j5uWCjTX8xsqBFsgk7xCpAGUvmwMKIwR-hlSMw/edit?gid=1284399522#gid=1284399522