Description of the need
According to what @jenlampton suggested in https://github.com/backdrop/backdrop-issues/issues/2355 the config_clear()
wrapper was introduced as the equivalent of variable_del()
, which was also confirmed by @quicksketch' comment:
I would also avoid any abbreviation, "del" was used I imagine because it made "pretty" function names that were all the same length: variable_get/set/del. If we were to have wrappers for the delete method as well, I would be in favor of naming it
config_delete()
(in addition toconfig_clear()
for removing a single value).
However, if variable_del()
did work well for cleaning all the database entries upon deletion of modules on Drupal 7, in Backdrop we have not only database entries, but actual configuration files. So implementing the hook_uninstall()
in module_name.install
file as, for example:
/**
* Implements hook_uninstall().
*/
function mymodule_index_uninstall() {
config_clear('mymodule.settings', 'mymodule_content_types');
}
only clears configuration entries in the respective file, it does not delete the file itself.
Proposed solution
I am filing this as a feature request in case if the config_clear()
wrapper was never meant for deleting the config files, but only for clearing entries in config files. In this case, I suggest to introduce new config_delete()
wrapper to actually delete the config files when modules get uninstalled.
In case if the config_clear()
was meant not only delete the configuration lines, but also/instead delete the configuration files, then this should be re-classified as a bug report.
Until this issue is addressed the following code takes care of the configuration file:
/**
* Implements hook_uninstall().
*/
function $mymodule_uninstall() {
config('mymodule.settings')->delete();
}
Recent comments
I think given the warning on the source site: At this time, if your new project can afford to require PHP 5.5+, which it should, please use PHP's native password_hash() /...
July 31, 2025
I did a very quick test and if the Display format of the webform submission value is HTML then it appears but if plain text then it doesn't, so something is included regardless of if empty when...
"Hide rewriting if empty" has no effect
Just to clarify it appears that the item: Fix Search for "On the Web" module, is about the search on backdropcms.org at https://backdropcms.org/modules
July 31, 2025