Problem/Motivation

This is the media, news and magazine site template, and the design it implements carries a Podcasts entry in its main navigation alongside Studios, Architecture, Product, Branding, Process and Culture. The template ships no podcast content type, so there is nowhere for an editor to put an episode: no audio, no duration, no episode number, and no episode page.

The template's only editorial bundle today is blog, which comes from varbase_blog_base. A podcast episode is specific to a media template rather than something every Varbase site wants, so it belongs in this template rather than upstream.

Proposed resolution

Add a podcast node type with all four parts a complete Varbase bundle has, following varbase_blog_base as the reference:

  • the node type, its fields and a grouped edit form;
  • card view displays for the view modes the design actually uses;
  • Drupal Canvas content templates for the full page and for those cards;
  • a path pattern, editorial workflow membership and role permissions.

Four new fields are specific to an episode - an audio file, an audio URL, a duration and an episode number. Everything else reuses the shared field storages the template already has, so the bundle adds no duplicate storage for a description, body, featured image, tags or SEO fields.

Only two card view modes ship, card and text_card_medium, because those are the two the design uses. Cloning all nineteen of the blog view modes would add maintenance for placements no frame calls for.

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

  • A new "Podcast episode" content type, with its fields grouped into tabs on the edit form.
  • Episode pages at /podcast/[title], rendering the audio player, the cover image and the body.

API changes

  • N/A

Data model changes

  • New node type podcast.
  • Four new field storages: field_audio, field_audio_url, field_duration, field_episode_number.
  • Eight field instances on the bundle; the other four reuse existing shared storages.

Release notes snippet

  • Added a Podcast episode content type, with its episode page, card layouts and listing configuration.

Issue fork rightup-3621520

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.

  • rajab natshah committed 07902e6b on 1.0.x
    feat: #3621520 Add the podcast episode content type and its Canvas...