Problem/Motivation
The recipe does not set strict under config, so it runs with Drupal's strict default. Applying it to a site that already carries any of the media configuration it ships fails outright, instead of leaving the site's own configuration alone.
The configuration 'core.entity_form_display.media.audio.bulk_upload' exists already and does not match the recipe's configurationThe difference is real rather than cosmetic. The copy shipped in this recipe hides langcode; a current site hides Scheduler's publish_on, publish_state, unpublish_on and unpublish_state, because Scheduler is installed on those sites and the shipped copy predates it.
The consequence is that this recipe cannot be applied after install, and neither can any recipe that depends on it. Varbase Podcasts Base hits this first: it depends on Varbase Media Base, so it cannot be applied to a Varbase Starter or a Drupal CMS site at all.
Steps to reproduce
- Install a site from Varbase Starter, or a Drupal CMS site, so that the core media configuration and Scheduler are already in place.
- Require this recipe and apply it:
drush recipe recipes/contrib/varbase_media_base - The apply stops with the error above, and nothing is applied.
Environment: Drupal core ~11.4, Varbase Media Base 1.0.x-dev, PHP 8.4, MariaDB.
Proposed resolution
Set strict: false under config in recipe.yml. A single line, which brings this recipe in line with the other Varbase base recipes: Varbase Blog Base, Varbase News Base, Varbase Events Base and Varbase Podcasts Base all set it already.
With it, pre-existing configuration on the site is left as the site has it, and the recipe applies the rest.
The fix landed as part of the #3624670 squash. Merge request !17 was closed without merging, because by then its diff was empty.
Remaining tasks
- ✅ File an issue
- ✅ Addition/Change/Update/Fix
- ❌ Testing to ensure no regression
- ➖ Automated unit/functional testing coverage
- ➖ Developer Documentation support
- ➖ User Guide Documentation support
- ➖ UX/UI designer responsibilities
- ➖ Accessibility and Readability
- ❌ Reviewed by a human
- ❌ Code review by maintainers
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ❌ Update Release Notes
- ❌ Release
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- The recipe now applies with
strict: false, so it can be applied to a site that already carries some of the media configuration it ships, rather than failing.
Issue fork varbase_media_base-3624669
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:
- 3624669-media-strict-false
changes, plain diff MR !17
Comments
Comment #3
rajab natshahstrict: false is in the 1.0.1 release: https://www.drupal.org/project/varbase_media_base/releases/1.0.1
It landed inside the #3624670 squash, so !17 was closed with an empty diff.