Voting starts in March for the Drupal Association Board election.
Entities with missing modules will result in fatal errors everywhere.
Add an uninstall validate method to the module_installer service added in. Also make uninstall call it if it wasn't called before having a uninstall_validated array on the class listing the modules already validated for uninstall. This method should call a helper on entity manager that checks for any entities provided by that module (handwaving a bit here -- who discovers how an entity provides which module types).
The uninstall method should validate the whole list of modules after all dependencies are resolved.
Then the ModulesUninstallForm can call this validate handler to inform the user why a module can not be uninstalled.
Make the uninstall form handle this. Much better than running (number of entity types) queries on _system_rebuild_module_data...
Implement the module_installer service so that EntityManager can be injected into it without having a circular dependency between entity_manager and module_handler.
|Task||Novice task?||Contributor instructions||Complete?|
|Add automated tests||Instructions|
|when this is fixed, unpostpone|
User interface changes
- As of #53, modules that are uninstallable because content entities exist are not shown on the uninstall form. That may or may not be the behavior we want.
- As of #104, modules that are uninstallable because content entities exist are disabled on the uninstall form and provide a message with a reason.
- ModuleInstallerInterface->validateUninstall() has been added.
- Module uninstall validators can register themselves with the module_install.uninstall_validator tag and implement \Drupal\Core\Extension\UninstallValidatorInterface
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,177 pass(es). View
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,101 pass(es). View
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,091 pass(es). View