Applying changes to common/lib/xmodule/xmodule/video_module/video_xfields.py

Over here I was advised that if I wanted to disable video transcripts by default, I needed to edit common/lib/xmodule/xmodule/video_module/video_xfields.py

I did that by doing:

  1. tutor local run lms bash
  2. apt-get update
  3. apt-get -y install vim
  4. vim ./common/lib/xmodule/xmodule/video_module/video_xfields.py

And then a tutor local quickstart

But I didn’t see any change in behavior. Video transcripts were still enabled by default for all new videos. So I suspect this is another one of those things which behaves slightly differently in tutor than basic installs. So what’s the right way to get changes to that file to get picked up?

When you make changes to the files inside a Docker container, your changes are not picked up until the server is restarted. But at that point, the container is also restarted, thus discarding your changes…

The Docker Way Of Doing Things© is to fork edx-platform, apply your changes in your fork, and then re-build the openedx Docker image with your fork (Configuration and customisation — Tutor documentation).

The problem with the above approach is that you will have to rebase your changes with every upgrade, which is costly and error-prone. The Open edX Way Of Doing Things© (which is better) is to propose a change upstream, in edx-platform, to make it possible to customize the setting default value.

Yeah, I had filed a JIRA ticket. But given that I see stuff over a year old having never been triaged, I don’t hold out much hope there… So I guess I’ll have to fork it eventually, and make the instructors deal with it in the meantime.