Requirements to PoC
- installer should not require existing LocalSettings.php file before installation
- installer should not require code injected via hook into installer
- installer will scan extension directory for extension.json files that implement database support
- perhaps use type field (https://www.mediawiki.org/wiki/Manual:Extension.json/Schema#type).
- Non-standard location for extension directory is out of scope
- if a database loaded from an extension is selected, then when the installer prompts for which extensions/skins to enable:
- the selected database extension should be pre-selected and it should not be possible to disable it
- no other database extensions should be listed/selectable
- selected extensions are loaded before the database is created
determine if there is anything else that needs to happen for this to work correctly
it should be possible to check in CI that an extension that is marked as a database extension implements required interfaces/hooks for that to be so
Definition of done:
- proof of concept of the above approach
- decision on how to identify a database extension in extension.json
- document what interfaces/hooks must be implemented in an extension for it to satisfy requirements to provide database support