openedx / openedx/openedx-platform

Various static assets served from LMS webapp rather than CDN

Open
#38,648 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

Open edX can be configured to load static assets from the URL defined in STATIC_URL_BASE, but not all parts of the system respect this. Instead, some static asset URLs are built as /static/... on the LMS domain. Historically, these were intercepted by the sidecar nginx and served from the staticfiles directory. (TODO: Check how Tutor currently handles this.)

This is an umbrella ticket for tracking down these static files references and changing them to respect STATIC_URL_BASE.

Known examples:

  • /static/css/bootstrap/lms-main.css from Learning MFE
    /static/proctoring/templates/student-proctored-exam-attempts-grouped.underscore from instructor dashboard on LMS. May require that static URL base supports CORS headers (same with some fonts).
    /static/dist/openassessment-lms.42bdf01af5d117224bc9.js from an xblock

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the listed references: Learning MFE's /static/css/bootstrap/lms-main.css, the instructor dashboard's proctoring template, and the xblock's openassessment JavaScript asset. Check how each constructs URLs relative to STATIC_URL_BASE, and review the sidecar nginx and Tutor note for deployment context. Done means the identified static assets consistently use the configured base and their cross-origin requirements are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx, python
Domain
infrastructure, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.