Problem/Motivation
When I uninstall easy_breadcrumb I expect to be able to reinstall it without having to delete the configuration it introduces manually.
You can actually see where this was removed inadvertently in #3161765: Missing keys in config schema by Vacho while resolving patching conflicts https://www.drupal.org/project/easy_breadcrumb/issues/3161765#comment-13...
Steps to reproduce
Install easy breadcrumb module.
Uninstall same module
Look for easy_breadcrumb.settings in your config
See it exists
Install easy breadcrumb module
See error.
Proposed resolution
Add necessary configuration from: https://git.drupalcode.org/project/easy_breadcrumb/-/commit/f4c3227a0257...
dependencies:
module:
- easy_breadcrumb
enforced:
module:
- easy_breadcrumb
Remaining tasks
Add config dependency keys to installed config files
Add hook_post_update implementation to update existing sites configuration.
Add PHPUnit test to install, uninstall, and install the easy breadcrumb module again.
User interface changes
Users can now uninstall and reinstall easy bread crumb module from the UI, which would be previously impossible without special modules to delete config via the UI.
Introduced terminology
N/A
API changes
N/A
Data model changes
N/A
Release notes snippet
N/A
Issue fork easy_breadcrumb-3501451
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
greg boggsWow. Thank you. Epic code :)
Comment #6
trackleft2My code was broken in the update FYI
this line in easy_breadcrumb.install
use Drupal\Core\Update\UpdateException;should beuse Drupal\Core\Utility\UpdateException;Comment #7
trackleft2Additionally the PHPUnit test says the module is failing to uninstall, which I am unable to reproduce manually.
https://git.drupalcode.org/issue/easy_breadcrumb-3501451/-/jobs/4101038#L80
Comment #8
greg boggsnew MR encouraged =)
Comment #10
trackleft2TIL we don't need the dependency keys after all.
Seems Drupal now uninstalls module installed config automatically.
We can keep the test, but everything else can be removed.
New merge request here: https://git.drupalcode.org/project/easy_breadcrumb/-/merge_requests/142
Comment #11
greg boggsComment #13
trackleft2