Skip to content

Editing episodes

This is where producers manage the list of episodes on a multi-episode project. Episodes are presented as a table where rows can be edited in place, much like a spreadsheet.

The producer opens the project, switches to the Episodes tab (or clicks “Manage episodes” from the save bar), and works through a table of episode rows. They can edit cells, add new rows, and save the lot.

A table with one row per episode and a Save bar at the bottom. The exact columns depend on your client config — every client sees the basic ones; CDN deployments also see Ofcom genre columns and CDN-specific broadcast columns.

Common columns (always shown):

ColumnTranslation key
Episode numberProjects.columns.eps
TitleProjects.columns.title
Start dateProjects.columns.startDate
Delivery dateProjects.columns.deliveryDate
Slot length, release date, cast/crew countsProjects.columns.*

CDN-only columns (when your client config has Ofcom and CDN broadcast columns enabled):

  • Ofcom genre
  • Ofcom super-genre
  • Commissioner genre
  • CDN-specific broadcast fields
ButtonTranslation key
Save Episodes (label)common.save (or section-specific key)
While savingProjects.project-registration.saving
Success toastProjects.success-update

The Save button is disabled until at least one cell is edited.

After a project’s delivery date passes (plus 30 days), episodes lock for editing. A lock icon appears in each cell of a locked row. The producer can still view the values but can’t change them.

Some users (e.g. funders viewing a project they don’t own) see the table in read-only mode — no edit cursors, no Save bar. This is decided by the app based on permission.

All episode-related text lives under Projects.columns.* and Projects.project-registration.* in tep-configuration/translations/{locale}/main/projects.json. Override per client.

Two client-config flags control optional columns:

  • showOfcomGenreColumns — shows the three Ofcom genre columns
  • shouldShowCdnEpisodeTableColumns — shows CDN-specific broadcast columns

These are typically set per client when the deployment is configured.

Field validation comes from shared schemas in tep-configuration and the app’s bundled Zod schemas. The basics:

  • Episode number is required and numeric
  • Delivery date must be after start date
  • Dates are in YYYY-MM-DD format (the UI handles the conversion from ISO datetimes)
Your deploymentWhat’s different
CDNOfcom genre + CDN broadcast columns appear
NZ, Omni, TEPCommon columns only

The cast and crew count columns are read-only on every deployment — they reflect data populated from the Editing contributors flow.

For the inline-editing pattern, optimistic cache updates, and the date-normalisation logic, see Editing episodes (engineering).