Skip to content

Editing contributors

This is the day-to-day management view for the contributors on a project: bulk upload, edits, deletions, QR codes for self-service sign-up. For the canonical “invite a single contributor and watch them complete the survey” journey, see Inviting a contributor.

The producer opens the project, switches to the Contributors tab, and sees a table split between Crew and OnScreen lists. They can:

  • Add a single contributor (covered in detail by the Inviting a contributor flow)
  • Upload a CSV to add many contributors at once
  • Edit existing rows in the table directly
  • Delete contributors with a confirmation
  • Generate QR codes for some roles so contributors can sign themselves up

A table with one row per contributor. Columns include name, email, unique ID (if Diamond Code is enabled), role, character (OnScreen only), and the episodes they worked on.

ColumnTranslation key
NameProjects.manage-contributors.name
EmailProjects.manage-contributors.email
Unique ID (Diamond Code)Projects.manage-contributors.unique-id
RoleProjects.manage-contributors.role
Character (OnScreen)Projects.manage-contributors.character

The Upload List button opens a multi-step modal:

  1. Import data — file picker for the CSV
  2. Map data — match the CSV columns to the app’s fields
  3. Select episodes — which episodes to apply these contributors to
  4. Edit data — review and tweak before committing; with intelligent role suggestions and warnings

The CSV upload replaces the entire contributor set for that type (Crew or OnScreen) — it doesn’t merge with what’s already there. This is the most common gotcha.

Clicking delete on a row opens a confirmation dialog. The wording differs slightly depending on context (“upload” vs “manage”) and how many contributors are being deleted:

ContextTranslation key
Manage singleProjects.manage-contributors.delete-dialog.manage-single-title
Manage multipleProjects.manage-contributors.delete-dialog.manage-multiple-title
Upload singleProjects.manage-contributors.delete-dialog.upload-single-title
Upload multipleProjects.manage-contributors.delete-dialog.upload-multiple-title

For certain roles (the set defined by your client config as “QR-eligible”), a QR Code button opens a modal:

Visible textTranslation key
Modal titleProjects.manage-contributors.qr-modal.title
Role selectProjects.manage-contributors.qr-modal.role-label
Episodes selectProjects.manage-contributors.qr-modal.episodes-label
”All episodes” optionProjects.manage-contributors.qr-modal.all-episodes-option

The QR code points at the same URL a contributor would receive in their invitation email, only it bypasses the email step — useful on set when a runner can hand a tablet to a crew member.

After certain operations (e.g. a project transfer), the new owner may temporarily see contributors as read-only with a banner: Projects.project-details.readonly-private-data.

All contributor-management text lives under Projects.manage-contributors.* in tep-configuration/translations/{locale}/main/projects.json. Override per client.

The set of roles that get a “Generate QR code” option is defined per client (QR_ELIGIBLE_ROLE_ID_SET). Typically these are crew roles that are predictable on set — keys grip, sound mixer, focus puller, etc. — and not on-screen talent.

When editing a contributor’s role, the app checks the chosen role against the project’s content form and surfaces warnings if there’s a mismatch (e.g. assigning an on-screen role to a documentary project where it doesn’t fit). The role taxonomy and the validation rules come from your client’s configuration.

Your deploymentWhat’s different
Diamond Code enabledThe Unique ID column appears in the table and is editable
Diamond Code disabledNo Unique ID column
Clients with custom role taxonomiesThe role list and the QR-eligible role set reflect your taxonomy

For the mutation set (single update, CSV replace, delete), the role-validation orchestration, and the field-error mapping pattern, see Editing contributors (engineering).