Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
Problem/Motivation
#2416109: Validate configuration dependencies before importing configuration added lots of validation around installing and uninstalling modules and themes. However we forgot to take into account install profiles.
Proposed resolution
The config importer should:
- Not allow install profiles to be uninstalled
- Allow modules and themes which are dependencies of install profiles to be uninstalled. These are not real dependencies but really a list of extensions to installed during installation. This is more than a bit odd and yet another reason why install profiles should be allowed to be fully featured modules but this has not been changed by the configuration system.
Remaining tasks
- Review
- Commit
User interface changes
None
API changes
None
Comment | File | Size | Author |
---|---|---|---|
#8 | 2491987.8.patch | 7.16 KB | alexpott |
#8 | 3-8-interdiff.txt | 1.43 KB | alexpott |
#2 | 2491987.3.patch | 7.66 KB | alexpott |
#2 | 2491987.3.test-only.patch | 4.99 KB | alexpott |
Comments
Comment #1
alexpottRemoved
Although this appears sensible extension discovery already takes care of this for us - there can be only one profile. Manual testing by creating a profile in the modules directory proved this to be so.
Comment #2
alexpottComment #5
alexpottComment #6
Leksat CreditAttribution: Leksat at Amazee Labs commentedI've met the dependency issue. My STR:
1. installed Drupal with the Standard profile
2. created the second site instance
3. uninstalled the Contact module on the first instance
4. tried to import configuration on the second instance
Actual result: error message: Unable to uninstall the Contact module since the Standard module is installed.
After applying the patch #2, configuration was imported successfully.
Comment #7
catchIs this worth adding? It's a one-line method used once.
Otherwise looks good.
Comment #8
alexpott@catch - yep this is because at one point it wrapped some procedural code.
Leaving at rtbc cause this is a tiny change.
Comment #9
catchCommitted/pushed to 8.0.x, thanks!