Skip to content

Access and revisions

Content access

Viewing, editing, and exporting require both the relevant transcript permission and access to its source Media. Utterance and text-field access also apply to computed full text.

Exports validate access to the entire selected transcript. When a mapped speaker entity is inaccessible, its identity is omitted and the reader can display the raw speaker label.

Use the named JSON format and public services for transcript data. AI jobs and raw provider results have separate requester and administrator access.

Revision handling

A transcript revision references an ordered list of utterance revisions. Integrations must follow the selected parent’s target_revision_id references to retrieve historical text, timing, and speakers.

Save changes through TranscriptEditorInterface. Existing transcripts require the expected latest revision ID. A concurrent change raises RevisionConflictException; reload the transcript and reconcile the changes before retrying. Whether a save creates a new revision follows the transcription type's Create new revision setting unless the caller passes $newRevision.

Published revisions retain their utterances when later drafts change. Restoring a historical transcript creates a new revision and preserves intervening history. Run Drupal cron regularly for revision cleanup and AI job processing.

Views and retrieval

In Views, use the Owned utterance revision relationship and revision field tables for text, time ranges, and speakers. Joining utterances by entity ID can return current content for a historical transcript.

Views exclude a transcript when a joined utterance, text field, or speaker is inaccessible. For individual accessible utterances, use transcribe.query and include its returned cache metadata in rendered output.

Integration limits

  • Split utterances whose word data would exceed 8 MiB.
  • Use separate transcripts for language versions with independently aligned text.
  • Configure Content Moderation workflows at the site level.
  • Use a Media adapter for prepared remote audio or additional source types.
  • The supplied exporters support JSON, TXT, SRT, and WebVTT. Add other formats through exporter decoration.

Imports and JSON/TXT exports preserve exact text and separators. Browser textareas normalize line endings: unchanged submissions preserve the original bytes, edits to uniform CRLF text retain CRLF, and edits to mixed line endings normalize the changed value to LF.