Régis Behmo
Open edX end-of-year celebration, Dec. 14th 2021 (video)
I'm Régis Behmo :-)
Freelance software engineer @ Overhang.IO
160+ pull requests on Open edX
Principal Tutor maintainer
$ pip install tutor
$ tutor local quickstart
==================================================
Interactive platform configuration
==================================================
Are you configuring a production platform? [y/N] y
Your website domain name for students (LMS) [local.overhang.io] mydomain.com
Your website domain name for teachers (CMS) [studio.mydomain.com]
Your platform name/title [My Open edX] Merry 🎅 Open edX!
Your public contact email address [contact@mydomain.com]
The default language code for the platform [en] zh-cn
Activate SSL/TLS certificates for HTTPS access? [y/N] y
...
Your Open edX platform is ready and can be accessed at the following urls:
https://mydomain.com
https://studio.mydomain.com
Intuitive CLI
Transparent Docker commands
All data in ~/.local/share/tutor
Stateless containers
Idempotent commands
Docker layer cache
Minimal "core"
platform
https://docs.tutor.overhang.io
https://pypi.org/project/tutor
https://github.com/overhangio/tutor
Dec. 20th 2021, Maple release: Tutor replaces the native installation as the default community installation.
Future plans: replace the Devstack.
Community maintainers (see handbook)
edX for financial support
Configuration management
$ tutor config save --set LMS_HOST="mydomain.com"
$ grep LMS_HOST ~/.local/share/tutor/config.yml
LMS_HOST: mydomain.com
Template rendering
$ git grep LMS_BASE -- tutor/templates/apps/openedx/config/lms.env.json
"LMS_BASE": "{{ LMS_HOST }}",
$ grep LMS_BASE ~/.local/share/tutor/env/apps/openedx/config/lms.env.json
"LMS_BASE": "mydomain.com",
Command line interface
$ tutor local quickstart
$ tutor local createuser --superuser --staff admin admin@overhang.io
$ tutor local importdemocourse
$ tutor k8s scale lms 11
$ pip install cookiecutter
$ cookiecutter https://github.com/overhangio/cookiecutter-tutor-plugin.git
...
$ pip install -e ./tutor-contrib-myplugin
$ tutor plugins enable myplugin
$ tutor local quickstart
config = {"add": {"MYSETTING": "value"}}
{{ patch(...) }}
tutor myplugin ...
“Why would you want to do that?”
“Does that mean more community support?”
“Open edX administration should be left to experts”
“1. Increase access to high-quality education for everyone, everywhere.
2. Enhance teaching and learning on campus and online.
3. Advance teaching and learning through research.”
Our mission, https://www.edx.org/about-us
“I want to teach a billion learners.”
Anant Agarwal, 2013
Education must be free, open and decentralized
Technology must not be adversarial
Startups are not healthy examples to replicate
regis@behmo.com
@regis on discuss.openedx.org
(press z to dance)
Gabriel D'Amours, Xavier Antoviaque, Jhony Avella, Ned Batchelder, Dennis Bates, Sofiane Bébert, Sarina Canelake, Suman Chapai, Shimul Chowdhury, Zia Fazal, Matjaz Gregoric, Asad Iqbal, Nizar Mahmoud, Ghassan Maslamani, Peter Pinch, Phillip Shiu, Max Sokolski, Kevin Valencia, Michael Wheeler