The request in T338452 to migrate Wikibase to the HookContainer / HookRunner system introduced in Mediawiki 1.35 represents a substantial architectural change which will affect multiple extensions. As such, we want to introduce an ADR to describe the motivations and implications, and to record our decision to migrate to the new architecture.
Create an ADR for Wikibase outlining the migration for Wikibase and related extensions. Note that the ADR should include:
- creating HookRunner classes to wrap invocations of $hookContainer->run in a typesafe way
- creating PHP interfaces for the individual hooks
- implementing the Hook interfaces in both the HookRunner classes and on the hook targets (where such direct implementation of the interface does not create a new hard dependency between an extension and Wikibase)
- the explicit decision to make necessary changes in related extensions (ArticlePlaceholder, WikibaseLexeme, WikibaseQualityConstraints, WikimediaBadges, Wikibase(Lexeme)CirrusSearch and WikibaseMediaInfo)
Acceptance Criteria
- A Wikibase ADR has been created that outlines the motivations for and implications of making the architectural change.
- The ADR has been reviewed, accepted and merged