...
On Fresh Video Component
A transcript is uploaded for a language from video component. There will be a call to VAL and a new UUID
will be generated which will serve as video_id
in creating the corresponding record in VideoTranscript data model (the content will be uploaded to S3/whatever storage is configured). This UUID
will be returned back to Video Component. Video Component will have a new Video xField(non-editable) to contain the returned UUID
.
Video Component with existing Transcripts
For all the subsequent transcript uploads, Video Component video component will request VAL for to upload further transcripts via its UUID
. On retrieval, and VAL will be able to give all the transcripts attached to that UUID
. On deleting transcript a UUID
received from the video component. On removing a transcript, VAL will require the UUID
from the Video Componentalso be able to delete transcripts related to the received UUID from a video component.
Import / Export across the same platform
On the course export, all the transcripts (metadata + content) will be exported with course. On the course import, All the transcript metadata will be back into VideoTranscript data model . We and we can regenerate new UUIDs (which will serve as video_ids) for the imported transcripts , and these will be for video components that do not have an edx_video_id
– there will be chance for – This will benefit us when we import/export across the different platforms but there will be transcripts content duplication if we are exporting/importing in a same platform.
Import / Export across the different platforms (e.g. edX to Edge etc)
This is the case when we export a course (for example, from edX platform to edX Edge). On the course export, all the transcripts (metadata + content) will be exported with course. On the course import, there will be no chance that transcripts could conflict with existing records in VideoTranscript data model as we are regenerating new UUIDs for the imported transcripts.
Is this such an often Use Case frequent UseCase that we have to allow data-duplication? (not sure)