Skip to content

Creating a project

This is the entry point for any new piece of work being tracked in the app. A producer opens the projects list, clicks “Add project”, fills in a form, and ends up on the new project’s detail page ready to add episodes and contributors.

The producer clicks an “Add project” button on the projects list. The app navigates to a new-project form (/projects/new). The form has the same shape as the project-edit form, just with empty fields and no “private” tab (which doesn’t exist until the project does). Once they save, the project gets created in the system and they’re redirected to the project’s detail page.

Visible textTranslation key
”Add project” button on the listProjects.add-project.button-text
Form tabsProjects.tabs.project (visible), Projects.tabs.private (hidden during creation)
Field labels (sample)Projects.project-details.projectName, Projects.project-details.funders, etc.
Save button while pendingProjects.project-registration.saving
Success toastProjects.success-create
Failure toastProjects.project-registration.save-failed

The exact set of fields depends on your client’s projectFormConfig — your deployment can show or hide fields and adjust labels.

All project-creation text lives under Projects.* in tep-configuration/translations/{locale}/main/projects.json. Override per client in clients/{client}/translations/{locale}/overrides.json.

The fields on the form aren’t hardcoded — they’re driven by projectFormConfig, which is part of your client configuration. You can:

  • Show or hide individual fields
  • Mark fields required or optional
  • Add custom validation patterns
  • Restrict certain fields to specific company tiers (e.g. commissioner-tier funders see a “supplier ID” field that other tiers don’t)

The genre and broadcast columns on the episodes table (covered in Editing episodes) are similarly configurable — they only appear if your client config requests them.

Your deploymentWhat’s different
CDN (Diamond 2)Includes supplier-ID field for commissioner-tier funders. Genre columns and CDN-specific broadcast columns appear on the episodes table.
NZ, Omni, TEPStandard field set; no supplier ID; no CDN genre columns.

For the form config, dirty-field tracking, and mutation flow, see Creating a project (engineering).