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 configuration

The 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

  1. Install a site from Varbase Starter, or a Drupal CMS site, so that the core media configuration and Scheduler are already in place.
  2. Require this recipe and apply it: drush recipe recipes/contrib/varbase_media_base
  3. 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.
Command icon 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

rajab natshah created an issue. See original summary.

rajab natshah’s picture

Issue summary: View changes
Status: Active » Fixed

strict: 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.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.