Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Building an episode class

A suggested content class for podcast or video episodes, built only from datatypes Exponential ships - title, show notes, audio or video, artwork, guests, release date, transcript, license - with the settings that make…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/podcasters/building-an-episode-class.md

On this page

Building an episode class

This page is for administrators and site builders who create an episode class for a show, and for producers who want to tell them what the show needs. Classes are edited under Setup > Classes by a user with the class policies (Content classes for websites). Every datatype named below is in kernel/classes/datatypes/ unless noted.

Contents

  1. A suggested class
  2. Choices that matter later
  3. Uploads into the class
  4. Wiring it to the rest
  5. A test before the first episode

A suggested class

Class name Episode, identifier episode, object name pattern <title>, not a container.

AttributeIdentifierDatatypeRequiredWhy
TitletitleText line (ezstring)yesthe episode title, also in the feed
Episode numberepisode_numberInteger (ezinteger)nofor lists and sorting on the site; the feed has no field for it
Short descriptionteaserText block (eztext)noone or two sentences for lists and the feed description
Show notesshow_notesRich text (ezxmltext)nolinks, chapters, credits, sponsor disclosure
AudioaudioMedia (ezmedia), player type Html5 Audioyesthe episode file and the feed enclosure
ArtworkimageImage (ezimage)noshown on the episode page
GuestsguestsObject relations (ezobjectrelationlist)nolinks to person items
Hosts and creditscreditsAuthors (ezauthor)nonames and e-mail addresses of contributors
Release daterelease_dateDate and time (ezdatetime)nofor the Wait until date event
TranscripttranscriptRich text (ezxmltext)nothe accessible text of the episode
Transcript filetranscript_fileFile (ezbinaryfile)noa downloadable transcript, if you have one
KeywordskeywordsKeywords (ezkeyword)notopics; or eztags on installations with that extension
LicenselicenseSelection (ezselection)nothe license you publish under (Rights and licensing)

For a video show, use Media with player type Html5 Video instead of Html5 Audio.

Choices that matter later

  • The media field's maximum size is set on the class attribute in MB (ContentClass_ezmedia_max_filesize_*, up to five digits). Leave it at 0 to rely on PHP's limits alone (Upload limits and large files).
  • Translatable fields. Each attribute can be translatable. A translatable media field means each language can carry its own audio file; make it not translatable if all languages share one file (Multilingual shows).
  • Searchable. Show notes and transcript should be searchable, so the site search finds episodes by what was said. Media and file fields are not searched for their content.
  • Identifiers are permanent in practice. Feeds, templates and the upload mapping name them; renaming one later means changing all of these.

Uploads into the class

If episodes should be created by uploading files on the upload page, the administrator maps the type to the class in an override of settings/upload.ini:

[CreateSettings]
MimeClassMap[audio/mpeg]=episode

[episode_ClassSettings]
FileAttribute=audio
NameAttribute=title
NamePattern=<original_filename_base>

The shipped [file_ClassSettings] and [video_ClassSettings] blocks follow the same pattern. Without the mapping, an uploaded MP3 becomes a File item (Choosing a class for episodes).

Wiring it to the rest

PartWhat to setPage
The feedA source per show with class Episode; map Title to title, Description to teaser, Enclosure to audioBuilding a podcast feed
SchedulingThe Wait until date event with Release date as its attributeScheduling a release
TemplatesA full view for the class in your design, if the default view is not enoughTemplate overrides
PermissionsEditors may create Episode below the show foldersRoles and policies

A test before the first episode

  1. Create a test episode with a short MP3 and publish it.
  2. Open the episode page signed out: the player shows and plays.
  3. Open the feed: the item is there with an enclosure whose type is audio/mpeg and whose length is the file size.
  4. Remove the test episode (to the trash, then empty it) before you submit the feed anywhere, so no app ever sees it.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x