Apologies if this has already been submitted. Did quite a bit of searching and was surprised to not be able to find it in the Issues queue.
Basically, disabling/uninstalling modules with a dependency tree is an enormous pain. I just uninstalled the Variable and i18n modules to find that I had to do this, in this order if I remember correctly (each with a separate form submission of the Modules admin page!):
1) Disable i18n_variable
2) Disable i18n
3) Disable variable_realm and variable_store
4) Disable variable
5) Switch to the Uninstall tab, and do all these steps over again.
So, eight total form submissions to uninstall a few modules. An idea: use #states for the module installation/uninstallation forms. When you uncheck a dependent module (to disable it), the checkbox for its dependency(ies) becomes enabled. Of course, the _validate() handler would check to make sure the right modules are disabled. Then, the handler could iterate through the dependency tree, disabling dependent modules until it gets to the least dependent module. Same thing with the Uninstall tab.
Let me know if this makes sense. Thanks!
Comments
Comment #1
bleen commentedThis is a change that would have to be made in D8 ...
Comment #2
longwaveDuplicate of #468208: Allow uninstalling modules with dependents by offering to recursively uninstall their dependents as well.