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:
config/field.storage.node.field_audio.yml, a duplicate of the base recipe's storage, declaringtype: filewhere the base now declarestype: entity_referencewithtarget_type: media. Understrict: falsewhichever imports first wins silently, so the site ends up with a field whose storage contradicts the recipe that owns it.config/field.storage.node.field_audio_url.yml, a duplicate of a storage that !5 deletes, and RightUp ships no instance for it.- 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.ymland…search_result.yml. Each also listsfield_audio_url: trueunderhidden:. - The demo episodes in
content/node/reference a file entity directly in the old field shape, for examplefield_audio: [{description: '', entity: 6f82391f-127f-523d-bd59-784bfa697408}]with6f82391f-127f-523d-bd59-784bfa697408: fileindepends:. 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
- Build a Drupal CMS site and require
drupal/rightup:1.0.x-devwithdrupal/varbase_podcasts_basecarrying the change from #3624729. - Pick the RightUp site template in the installer.
- 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_audiovalues point at a file entity a media reference field cannot accept.
Proposed resolution
- Delete both duplicated field storages,
field.storage.node.field_audio.ymlandfield.storage.node.field_audio_url.yml. The base recipe owns them. - Remove the
field_audio_urldependency line and thefield_audio_url: truehidden entry from the three view displays. Keepfield_audiohidden in all three: those displays deliberately hide it. - Add an
audiomedia entity undercontent/media/per podcast audio file, and repoint every demo episode'sfield_audioat its media UUID, changing thedepends:entry fromfiletomedia. Varbase Podcasts Base did exactly this in its own test content. - Update RightUp's Canvas
node.podcast.fulloverride (asimpleConfigUpdateaction 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 removedfield_audio_urlgoes 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_audioandnode.field_audio_urlfield storages; Varbase Podcasts Base owns them. - Demo podcast episodes reference an
audiomedia 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
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
rajab natshahReleased in rightup 1.0.0-alpha1.
Comment #6
rajab natshah