Problem/Motivation

#3624658 (MR !40, merged 21 September 2026) moved the podcast content model out of RightUp and into Varbase Podcasts Base. Five pieces of the old model survived that move, and Varbase Podcasts Base #3624729 (MR !5) is about to change the field they describe.

Varbase Podcasts Base !5 replaces the episode's two audio fields, field_audio (a local file upload) and field_audio_url (a link), with ONE entity reference to a media entity, targeting the audio and remote_audio bundles. RightUp 1.0.x still carries:

  1. config/field.storage.node.field_audio.yml, a duplicate of the base recipe's storage, declaring type: file where the base now declares type: entity_reference with target_type: media. Under strict: false whichever imports first wins silently, so the site ends up with a field whose storage contradicts the recipe that owns it.
  2. config/field.storage.node.field_audio_url.yml, a duplicate of a storage that !5 deletes, and RightUp ships no instance for it.
  3. Three view displays each declaring a dependency on field.field.node.podcast.field_audio_url, which will not exist: config/core.entity_view_display.node.podcast.live_feed.yml, …search_index.yml and …search_result.yml. Each also lists field_audio_url: true under hidden:.
  4. The demo episodes in content/node/ reference a file entity directly in the old field shape, for example field_audio: [{description: '', entity: 6f82391f-127f-523d-bd59-784bfa697408}] with 6f82391f-127f-523d-bd59-784bfa697408: file in depends:. Against a media reference field these cannot load.

Ordering. This must land together with or immediately after Varbase Podcasts Base #3624729. Neither is safe alone: !5 alone leaves RightUp contradicting its dependency, and this alone removes storages nothing else provides yet.

Steps to reproduce

  1. Build a Drupal CMS site and require drupal/rightup:1.0.x-dev with drupal/varbase_podcasts_base carrying the change from #3624729.
  2. Pick the RightUp site template in the installer.
  3. The podcast episode field storage is imported twice with contradicting definitions, the three podcast view displays depend on a field instance that no longer exists, and the demo episodes' field_audio values point at a file entity a media reference field cannot accept.

Proposed resolution

  • Delete both duplicated field storages, field.storage.node.field_audio.yml and field.storage.node.field_audio_url.yml. The base recipe owns them.
  • Remove the field_audio_url dependency line and the field_audio_url: true hidden entry from the three view displays. Keep field_audio hidden in all three: those displays deliberately hide it.
  • Add an audio media entity under content/media/ per podcast audio file, and repoint every demo episode's field_audio at its media UUID, changing the depends: entry from file to media. Varbase Podcasts Base did exactly this in its own test content.
  • Update RightUp's Canvas node.podcast.full override (a simpleConfigUpdate action added by !40) so the audio binding walks the media reference, the way the base recipe's version does: field_audio > entity > media:audio > field_media_audio_file > entity > file > uri. The component bound to the removed field_audio_url goes with it.

Remaining tasks

  • ✅ File an issue
  • ✅ Addition/Change/Update/Fix
  • ❌ Testing to ensure no regression: verify on a fresh Drupal CMS build with the RightUp site template picked in the installer, not in place
  • ❌ Land together with or immediately after Varbase Podcasts Base #3624729
  • ➖ 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

Known limitation, carried over from #3624729 and not solved here: vartheme_bs5 has no audio SDC, so inside a Canvas template local audio renders through the video component and remote audio not at all.

User interface changes

  • An editor picks the episode audio from the media library, choosing an Audio or a Remote audio item, instead of choosing between a file upload field and a link field.

API changes

  • N/A

Data model changes

  • RightUp stops shipping the node.field_audio and node.field_audio_url field storages; Varbase Podcasts Base owns them.
  • Demo podcast episodes reference an audio media entity rather than a file entity.

Release notes snippet

  • The podcast episode audio is one media reference field, matching Varbase Podcasts Base. RightUp no longer ships its own copies of the audio field storages, and the demo episodes reference an audio media item.

Issue fork rightup-3624733

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 committed ea69b7f0 on 1.0.x
    task: #3624733 Adopt the single media audio field from Varbase Podcasts...
rajab natshah’s picture

Status: Active » Fixed

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.

rajab natshah’s picture

Issue tags: +rightup-1.0.0-alpha1

Status: Fixed » Closed (fixed)

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