feat: #3624670 Add a Remote audio media type for externally hosted audio
Adds a Remote audio media type so an editor can reference audio hosted on an external service (SoundCloud, Spotify, Mixcloud) from the same media library as uploaded audio files.
Issue: https://www.drupal.org/project/varbase_media_base/issues/3624670
Why
Drupal core ships a local audio media type (core/recipes/audio_media_type, already applied by this recipe) and a remote video one, but nothing for externally hosted audio. A site that wants an editor to pick, from one media field, either an uploaded audio file or a SoundCloud / Spotify / Mixcloud episode has no remote option, and no drupal_cms_* recipe provides one either.
Core's oEmbed source has exactly one derivative, oembed:video (Drupal\media\Plugin\media\Source\OEmbedDeriver), and the allowed providers are per media type in source_configuration.providers - so the core source plugin is reused as is and no new plugin is needed.
What changed
media.type.remote_audio- sourceoembed:video, providers SoundCloud, Spotify, Mixcloudfield.storage.media.field_media_oembed_audio(string) andfield.field.media.remote_audio.field_media_oembed_audio- default and media_library form displays, default and media_library view displays
- 17 permission lines in
recipe.yml: the same per-role permissions the recipe already grants forremote_video
It mirrors Drupal core's own remote_video_media_type recipe file for file. No new Composer or contrib dependency.
Note to the reviewer
This branch is based on the branch of issue #3624669, so the MR currently also shows that issue's one-line strict: false change. It will be rebased onto 1.0.x once #3624669 is merged.
AI-Generated: Yes
Checkpoints:
- File an issue
- Addition/Change/Update/Fix
- Testing to ensure no regression
- Automated unit testing coverage
- Automated functional testing coverage
- UX/UI designer responsibilities
- Readability
- Accessibility
- Performance
- Security
- Developer Documentation
- User Guide Documentation
- Reviewed by human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release notes snippet
- Release