Problem/Motivation
In order to get a reliable and testable update environment, we have actively tried to avoid hooks during update and preached against them. It doesn't quite work tho.
Proposed resolution
ModuleHandler is pluggable, replace it with an UpdateModuleHandler during update. UpdateModuleHandler should throw an exception on you if a hook is fired. Also move module_enable,disable and uninstall into the ModuleHandler family, move update_module_enable under UpdateModuleHandler::enable.
Remaining tasks
Commit it the moment the testbot approves. (Aka. run and don't look back.)
User interface changes
None.
API changes
None. Although module_enable/disable/uninstall is deprecated
Related Issues
- #1941000: update_module_enable() does not update ModuleHandler::$moduleList
- #1848998: Problems with update_module_enable()
Attachment | Size | Status | Test result | Operations |
---|---|---|---|---|
umh.patch | 56.86 KB | Idle | PASSED: [[SimpleTest]]: [MySQL] 56,068 pass(es). | View details | Re-test |