Skip to content

System Context — ODL Video Service

Generated 2026-06-24 17:02 UTC · c4gen dev

The widest view: ODL Video Service and every external actor and system it exchanges data with. Edges shown are curated and code-verified; raw graph-derived candidates are listed under Dependencies & Cycles.

Interactive

Drag to pan, scroll to zoom. Click the ODL Video Service box to drill into its container view.

External systems & peers

System Role
Keycloak (SSO) OAuth2/OIDC IdP (via social-auth-app-django) federating MIT Touchstone SAML; supplies user_groups claim.
MIT Touchstone MIT institutional SAML IdP that Keycloak federates to for authentication.
AWS MediaConvert Managed transcoder (via mitol-django-transcoding). Reads source from S3, writes HLS + MP4 + thumbnails to the transcode/thumbnail buckets, and notifies on completion.
CloudWatch / SNS MediaConvert job-state-change events route through CloudWatch/EventBridge to SNS, which POSTs the job result to the OVS transcode-jobs webhook.
CloudFront CDN Delivers private video (HLS/MP4), thumbnails, and subtitles via RSA-signed URLs; invalidated on retranscode and thumbnail replacement.
Dropbox Source of uploaded videos; browser Chooser selects shared links that Celery streams server-side to S3.
YouTube Data API Public videos in YOUTUBE-stream collections are uploaded to YouTube with captions; status polled back.
Mailgun Transactional email — video status notifications to collection admins.
MITx Online Open edX MITx Online / MIT Learn self-hosted Open edX (courses.learn.mit.edu). OVS registers transcoded video metadata into its edxval API (/api/val/v0/videos/) so videos play inside MIT Learn courses.
xPRO Open edX xPRO self-hosted Open edX (courses.xpro.mit.edu). OVS publishes video metadata to its edxval API for xPRO course videos. OVS posts per-collection to every linked EdxEndpoint (DB-configured base_urls; also the residential MITx deployment, which is not mapped here).
Sentry Error and performance monitoring.
MIT Learn SOA discovery platform. Its Celery ETL pulls OVS public videos + transcripts daily to index them as learning resources (downstream consumer of the OVS public API).