I'm evaluating edX in an offline setup, i.e. installing on a server in a LAN with no internet.
There are quite a few things I need to change for this to work, since edX very much expects to have an internet connection.
- Loads in specific dependencies from CDN - Mathjax.js, possibly others?
- Makes requests to youtube API, even if the video is not a youtube video but hosted on a webserver on the LAN
- Some theme elements fetched directly from files.edx.org instead of included in the theme itself
I haven't used the ecommerce service or analytics pipeline - they may have similar external dependencies.
Would it make sense to bundle the external static dependencies (Mathjax, theme elements) with edx, make it more self-contained?
Is it possible to disable all youtube integration? If not, should it be possible?
Is it possible to completely disable user registration, and again - should it be? In an offline environment, e.g. company intranet, you might not want users to register themselves, but simply bulk create the accounts.
I'm asking these questions to determine if submitting pull requests would be worthwhile, or if I should expect to maintain my own fork.
Having a network with no internet connection may sound like an obscure use case, but I would argue the dependencies on external services and having a working internet connection are points of failure that aren't necessary.