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.
What happens
Section titled “What happens”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.
What the user sees
Section titled “What the user sees”| Visible text | Translation key |
|---|---|
| ”Add project” button on the list | Projects.add-project.button-text |
| Form tabs | Projects.tabs.project (visible), Projects.tabs.private (hidden during creation) |
| Field labels (sample) | Projects.project-details.projectName, Projects.project-details.funders, etc. |
| Save button while pending | Projects.project-registration.saving |
| Success toast | Projects.success-create |
| Failure toast | Projects.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.
What you can customise
Section titled “What you can customise”Translations
Section titled “Translations”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 form structure (which fields appear)
Section titled “The form structure (which fields appear)”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.
Variations for your deployment
Section titled “Variations for your deployment”| Your deployment | What’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, TEP | Standard field set; no supplier ID; no CDN genre columns. |
Need more detail?
Section titled “Need more detail?”For the form config, dirty-field tracking, and mutation flow, see Creating a project (engineering).