This task is the first step towards solving T242541 and draws on the discussions and experimental patch in that task.
Creating the infrastructure for blocking specific actions will involve:
- Introducing a service for defining blockable actions
- Defining one blockable action (potentially 'upload' to begin with - T6995)
- Introducing a new subclass of MediaWiki\Block\Restriction\AbstractRestriction for action restrictions
- Handling the new action restriction in SpecialBlock (including adding a new checkbox to the form, as illustrated in F34274815)
This work should be done behind a feature flag, e.g. $wgEnablePartialActionBlocks