6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-11-16 01:57:16 +00:00
Commit Graph

234 Commits

Author SHA1 Message Date
Régis Behmo
49c71f8af2 Add scorm xblock to the openedx docker image 2020-04-25 14:20:13 +02:00
Régis Behmo
33ab52bfeb Make it easy to add custom translation strings to edx-platform
Users can now add custom translation strings to a locale folder at build
time, very much in the same way as custom themes or requirements. This
is quite convenient, although is does require quite a bit of time to
rebuild the docker images.
2020-04-16 19:30:08 +02:00
Régis Behmo
76d1078382 Make it possible to pull nodejs packages from custom npm registry
During an incident at npmjs.org it was extremely difficult to pull
nodejs packages -- so we made it possible to pull from a custom
registry, deployed for instance with Verdaccio (https://verdaccio.org/).
2020-04-16 19:26:02 +02:00
Régis Behmo
38d6644ef2 Fix docs on waffle switch creation 2020-04-16 11:31:33 +02:00
Régis Behmo
48ca6eb4b0 Fix updates to the course structure in the LMS
When we were changing unit titles in the CMS, the changes were taking a
long time to be reflected in the LMS. That's because the cache key that
corresponds to the course structure was not being updated. It was the
responsibility of an asynchronous LMS celery worker to update this cache
entry. However, this was impossible in most cases because tasks
triggered in the CMS were only processed by CMS workers. That is, unless
we are using a custom celery router:
https://celery.readthedocs.io/en/latest/userguide/routing.html#routers

This is what edx-platform does in the devstack: certain CMS tasks are
forwarded both to CMS and to LMS workers. This is achieved by defining
the ALTERNATE_WORKER_QUEUES="lms" django setting in the CMS.

Adding this setting to Tutor solves the problem in production. However,
in development mode Open edX runs without workers
(`CELERY_ALWAYS_EAGER=True`). This means that the course structure will
not be automatically updated when running `tutor dev` commands, which is
a shame. The alternative is to define the
"block_structure.invalidate_cache_on_publish" waffle switch. This can be
done from the UI (in /admin/waffle/switch/add/) or by running:

    tutor dev run lms ./manage.py lms waffle_switch block_structure.invalidate_cache_on_publish on --create

However, this flag seems to slow down access to the LMS for the first
user who tries to access the course after it has been updated.

Close #302
2020-04-14 19:16:52 +02:00
Régis Behmo
1d8c8e9d53 Improve "what's next instructions" 2020-04-06 09:56:04 +02:00
Régis Behmo
411327662e Add encrypt template filter
This is convenient for htpasswd-based authentication to nginx, for
instance.
2020-04-04 18:22:15 +02:00
Régis Behmo
11fdbaf874 Add uninstallation docs
See
https://discuss.overhang.io/t/how-can-i-completely-uninstall-tutor/370
2020-03-27 09:49:08 +01:00
Régis Behmo
ae2af6b1f8 Fix minor docs issues 2020-03-16 22:33:56 +01:00
Régis Behmo
328e70b8b5 Various docs improvements
There is still a lot of work to do. In particular, local.rst and
configuration.rst are a mess. But that's a job for another time.
2020-03-16 22:27:04 +01:00
Régis Behmo
390c39fa19 Better installation docs 2020-03-16 22:14:36 +01:00
Régis Behmo
325deb4210 Better docs on logs 2020-03-16 21:30:26 +01:00
Régis Behmo
41f14d528b Better explanation of how templates work
Close #273
2020-03-16 21:24:40 +01:00
Régis Behmo
6f2589d7fa Clarify custom theme compilation in dev mode
Close #280
2020-03-16 18:26:14 +01:00
Régis Behmo
244c9d2913 Clarify the RAM requirements, especially for Mac OS.
Close #299.
2020-03-16 18:12:57 +01:00
Régis Behmo
43e841b1cb Add instructions for xblock development
As per
https://discuss.overhang.io/t/best-practice-xblock-development-in-tutor-dev-mode/345
2020-03-16 17:56:09 +01:00
Régis Behmo
cf041568d0 Add a big fat warning against "sudo"
Also, the permission error that is frequently encountered is added at
the top of the list of frequent issues in the docs.
2020-03-16 17:43:55 +01:00
Régis Behmo
28c761fe76 Better docs organization
With this reoreganization, we have a cleaner TOC and more intuitive
content navigation.
2020-03-16 12:07:58 +01:00
Régis Behmo
797167d48a Do not include too many themes to avoid long image build time
To minimize image build time and size, we do not build non-default
themes.
2020-03-13 19:27:01 +01:00
Régis Behmo
5c43d6ee25 Add "settheme" command
This makes it much easier to switch to a new theme.
2020-03-13 19:27:01 +01:00
Régis Behmo
16819bd697 Rename *_PROTOCOL to *_SCHEME 2020-03-12 09:37:22 +01:00
Régis Behmo
00ec6930ae Add simple gunicorn reload script to openedx image 2020-03-10 10:37:14 +01:00
Régis Behmo
0325e7ad95 Rename worker containers from x_worker to x-worker
This is more coherent with k8s.
2020-03-10 10:37:14 +01:00
Régis Behmo
702e8cca7d Make it possible to run an Elasticsearch service on https
This is useful when running elasticsearch from 3rd-party vendors.
2020-03-10 10:37:14 +01:00
Régis Behmo
ef2ae1a9b2 Clarify database dumps 2020-02-27 18:08:04 +01:00
Régis Behmo
872883e36f Switch edx-platform from ironwood.2 to ironwood.master
There are too many patches on top of ironwood.2, and it's not practical
to pull them all one by one. We still want to build on top of a specific
version, and not a branch, so we use a dirty hack to guarantee that the
docker image is properly rebuilt by CI when we change it.
2020-02-27 17:42:43 +01:00
Régis Behmo
83459d43d5 Fix broken elasticsearch configuration
Because we are running a version of elasticsearch older than Methusalem,
the docker environment variables were not properly taken into account.
For instance, the cluster name and "mlockall" settings were incorrect,
as we could see by running:

    $ tutor local run lms curl elasticsearch:9200 | grep cluster_name
    ...
      "cluster_name" : "elasticsearch",
    $ tutor local run lms curl elasticsearch:9200/_nodes/process?pretty | grep mlock
      ...
     "mlockall" : false

See
https://discuss.overhang.io/t/elastic-container-is-not-being-removed/312/3
for discussion.

This fix also introduces a new tutor configuration setting to adjust the
elasticsearch heap size.
2020-02-26 11:47:43 +01:00
Régis Behmo
ff3fea6930 Restore more recent Android app tagged release
A prior change used the ironwood.1 tag to build the Android app in an
attempt to solve #289. Turns out that this change was unnecessary. So
here we revert to a more recent release of the Android app. Instead of
building from the master branch (which might create suprises) we build
from a fixed release tag.

The source repo and version are customisable via build arguments.
2020-02-25 17:29:53 +01:00
Régis Behmo
de57812c2c Minor docs improvements 2020-02-25 17:11:11 +01:00
Régis Behmo
38a49e2ca7 Remove useless docs configuration
We don't need epub/htmlhelp/latgex output.
2020-02-25 17:03:11 +01:00
Régis Behmo
fffc90442e Add youtube videos to docs
This is possible thanks to a custom youtube tag. See
https://jasonstitt.com/youtube-in-restructured-text
2020-02-25 17:02:39 +01:00
Régis Behmo
a35f35f77e Fix "those that are" docs typo 2020-02-25 11:35:36 +01:00
ToddLichty
4c4865cc1b Add instructions for database dumps
Changes proposed in https://github.com/overhangio/tutor/issues/290
2020-02-12 17:05:48 +01:00
Claudio Acciaresi
313f7172ed Updating documentation on how to renew certificates. 2020-01-29 17:52:00 +01:00
Régis Behmo
8dcb2d50a9 Minor doc improvement in theme installation 2020-01-16 10:44:43 +01:00
Régis Behmo
e3444d668c Add support for simple, yaml-based plugins
Those plugins are stored as yaml files in ~/.local/share/tutor-plugins
and follow the same specifications as entrypoint plugins.
2020-01-14 17:35:51 +01:00
Régis Behmo
9b10c1b470 Fix link to cloud install on doc landing page 2020-01-13 22:52:28 +01:00
Régis Behmo
460a7dfc79 Minor docs improvements 2020-01-10 19:03:53 +01:00
Florian Haas
d073481385 doc: Add instructions for running Tutor on Podman
https://podman.io/ is meant to be a drop-in replacement for Docker.
Thus, with some tweaking to the installation environment, it appears
to be perfectly feasible to run Tutor in a Docker-less environment
that only has Podman and podman-compose installed.

Add installation instructions for doing just that.
2020-01-10 18:45:48 +01:00
Régis Behmo
e8248b26d6 Tutor docker images should point to docker.io, too 2020-01-10 17:22:01 +01:00
Régis Behmo
461b0f5746 Remove comment related to cloud install 2020-01-10 16:44:47 +01:00
Régis Behmo
4078c380db Add more links to tutor lts 2020-01-10 15:46:56 +01:00
Régis Behmo
cd0ec8c22a Clarify that tutor runs ironwood 2020-01-10 15:15:56 +01:00
Régis Behmo
899e4dfb9a Upgrade to v3.7 for docker-compose service definition
We were encountering issues when overriding service definitions with
"x-...". These were solved by upgrading docker-compose and switching to
3.7 service definition. As a consequence, the minimum supported docker
version is 18.06.0, as specified by
https://docs.docker.com/compose/compose-file/#compose-and-docker-compatibility-matrix
2020-01-10 11:10:54 +01:00
Régis Behmo
52f094937c Improve troubleshooting instructions
Close #274.
2020-01-10 11:10:54 +01:00
Régis Behmo
d17fdaa658 More feature-complete dev/local docker-compose commands
By de-duplicating the code between dev.py and local.py, we are able to
support more docker-compose run/up/stop options passed from tutor. To do
so, we had to disable some features, such as automatically mounting the
edx-platform repo when the TUTOR_EDX_PLATFORM_PATH environment variable
was defined.
2020-01-10 11:10:54 +01:00
Régis Behmo
9620447a4d Add the lts plugin to the tutor binary 2019-12-25 01:09:53 +01:00
Régis Behmo
0b1cac5134 Make it possible to run plugin subcommands 2019-12-15 18:52:58 +01:00
Régis Behmo
13de3c8adc Move "-r/--root" option to parent command level 2019-12-15 18:52:58 +01:00
Claudio Acciaresi
e9f200a102 Adding missing plugin reference. 2019-12-13 10:00:59 +01:00
Régis Behmo
302e1fc986 Get rid of the local portainer command
It makes more sense to document this command instead of adding it to the
`local` commands. If need be, in the future we should be able to re-add
it as a plugin.
2019-12-05 11:54:44 +01:00
Régis Behmo
0fb9bfe008 Get rid of the indexcourses command
This command adds a burden on the `local` and `k8s` command. It does not
make sense to provide this command out of the box, and not other
administration commands. Instead, we should better document how to run
regular `manage.py` commands from tutor.

Close #269.
2019-12-05 11:49:53 +01:00
Régis Behmo
f66ad1ca32 Docs: install -> installation
"install" is a verb and "installation" is a noun.
2019-11-22 09:32:50 +01:00
Régis Behmo
cac7e947b6 Fix minor internal ref issue in config docs 2019-11-19 21:08:35 +01:00
Régis Behmo
9b6afa20c2 Improve soft link note in dev docs 2019-11-14 11:36:22 +01:00
teruun
c7fba15e00 note softlink not work in theme 2019-11-14 11:32:18 +01:00
Régis Behmo
b1d0039d66 Clarify binary download compatibility with plugins 2019-11-08 10:38:50 +01:00
Régis Behmo
6d419bc8b5 Add favicon to docs 2019-10-25 10:53:59 +02:00
Régis Behmo
85769715a4 Document plugin cookiecutter 2019-10-24 20:28:20 +02:00
Régis Behmo
b01f4d9c0e Better dev environment
The `dev` commands now rely on a different openedx-dev docker image.
This gives us multiple improvements:

- no more chown in base image
- faster chown in development
- mounted requirements volume in development
- fix static assets issues
- bundled ipdb/vim/... packages, which are convenient for development

Close #235
2019-10-24 20:03:36 +02:00
Régis Behmo
d1f7d02470 Improve docs
- Add tutor logo
- add "edit on github" links
- modify theme colors
- and various other things...
2019-10-17 17:21:35 +02:00
Régis Behmo
8d4f335716 Fix erroneous docs on unsupported features. 2019-10-10 15:38:03 +02:00
Régis Behmo
b04b9e19c1 docs: include user testimonials 2019-10-08 22:25:20 +02:00
Régis Behmo
7361c60845 Clarify init command in docs
"init" command should be run after "start".
2019-10-07 19:27:24 +02:00
Régis Behmo
617e190aed Fix upgrading title level in documentation 2019-10-07 14:44:04 +02:00
Régis Behmo
2b8c0778b2 Fix readme compilation 2019-10-07 14:40:49 +02:00
Régis Behmo
5e6ad893a6 Coolify readme 2019-10-07 14:26:17 +02:00
Régis Behmo
8659b6e7ac Added config values for #gunicorn workers 2019-09-19 15:39:18 +02:00
Régis Behmo
7790028cf7 Move tutor-minio to dedicated plugin repo 2019-08-20 17:46:53 +02:00
Régis Behmo
be1ff08917 Add all plugins (with data) to binary bundle
All existing plugins are added to the binary bundle, in their latest
version, so that users don't need to pip install tutor.

Also, the tutor MANIFEST.in file was removed to simplify the management
of package data.

Close #242.
2019-08-20 17:03:46 +02:00
Omar Al-Ithawi
67ec24765a Fix tutor binary permission error on MacOSX 2019-07-24 12:53:15 +02:00
Omar Al-Ithawi
82b985d326 Fix tutor binary permission error on MacOSX 2019-07-24 12:53:15 +02:00
Régis Behmo
87cd65fe28 Document new and existing plugins 2019-07-11 14:09:39 +08:00
Régis Behmo
002d9edccc Improve plugin config documentation 2019-07-11 11:05:57 +08:00
Régis Behmo
d7477ba348 Add support for SMTP SSL, in addition to TLS
Note that SSL and TLS are incompatible.

Close #231.
2019-07-08 06:24:35 +08:00
Régis Behmo
a68dc4f68f Add support for external SMTP server with TLS
Note that this setting will not work with the default namshi smtp server
shipped with tutor.

Close #231.
2019-07-07 10:17:49 +08:00
Régis Behmo
931dac2e68 Add pre-init hook
The 0003 migration from the certificates app of the LMS requires that
the S3-like platform is correctly setup during initialisation. To solve
this issue, we introduce a pre-init hook that is run prior to the LMS
migrations.
2019-07-05 14:19:23 +08:00
Régis Behmo
c07032f826 Fix CI image building 2019-07-04 17:29:30 +08:00
Régis Behmo
11e735f4e5 Migrate notes to a dedicated plugin 2019-07-04 09:31:12 +08:00
Régis Behmo
07a0323d8e Move Xqueue to a dedicated plugin
This gives us the opportunity to develop new hooks: build-image and
remote-image.
2019-07-04 09:31:12 +08:00
Matthieu Falce
99d3dfc704 Change typo in FAQ
First / third person description mismatch.
2019-07-01 16:01:09 +02:00
Régis Behmo
18e908cebc Minor docs space formatting 2019-06-25 15:53:24 +02:00
Régis Behmo
edc844fd51 Fix docs formatting 2019-06-25 14:46:43 +02:00
Régis Behmo
dbab2337b6 Minord docs change: update release instructions 2019-06-24 12:41:19 +02:00
Régis Behmo
b7937c8c5b Push plugin packages to pypi 2019-06-23 23:11:07 +02:00
Régis Behmo
866aae5cfe Remove references to Regis' dockerhub account 2019-06-23 23:11:07 +02:00
Régis Behmo
de5b82fd63 Migrate github repo to overhangio organization 2019-06-23 23:11:07 +02:00
Régis Behmo
dce234bc1e Move tasks from travis-ci to gitlab CI
We only keep travis-ci for building MacOS/Linux binaries.
2019-06-23 23:11:07 +02:00
Régis Behmo
7a89e3ae70 Fix WEB_PROXY docs in k8s quickstart
WEB_PROXY=true is not automatically setup during k8s quickstart, user
should define this configuration parameter manually.
2019-06-23 10:35:38 +02:00
Régis Behmo
3a444a2e05 Document required k8s cluster/client versions 2019-06-19 11:56:26 +02:00
Régis Behmo
84f2060d33 Working Kubernetes quickstart
The k8s quickstart command is now functional, with suppport for https,
xqueue, notes and minio. There are still a few bugs to get rid of,
though.
2019-06-17 22:38:55 +02:00
Régis Behmo
d9b6895629 Pin docker image tags to tutor versions
Having an identical "ironwood" tag for all releases is not practical, in
particular for breaking changes. Thus, docker images are now pinned to
the tutor version that they were build with.
2019-06-17 20:40:46 +02:00
Régis Behmo
bc21102cf4 Make configuration silent (non-interactive) by default
Thus, we remove the -y/--yes options, which were kind of unintuitive,
and we add instead `-i/--interactive`. The quickstart commands remain
interactive by default, but can be silenced with `-I/--non-interactive`.
2019-06-07 22:49:45 +02:00
Régis Behmo
18d05fcbbb Replace databases command by init.
Since initialisation does not only refer to database migrations, it
makes more sense to rename this command.
2019-06-07 22:49:45 +02:00
Régis Behmo
334f3e720e Towards a stable Kubernetes integration
Missing features:
- https certificates
- xqueue
- lms/cms workers

Moreover, we scalability issues due to the uploaded file storage in the
lms/cms. To address this issue we need to develop the MinIO plugin so
that it becomes compatible with Open edX.

Close #126 #179 #187
2019-06-07 22:49:45 +02:00
Régis Behmo
7a3c0e2f84 Upgrade from ironwood.1 to ironwood.2
Because https://github.com/edx/edx-platform/pull/20325/ was merged in
ironwood.2, we no longer need this patch.
2019-06-07 22:49:45 +02:00
Régis Behmo
3362308ad3 Improve lms/cms logging
- deduplicate stdout logs
- don't persist celery logs
- persist logs to all.log by default
2019-05-29 09:53:15 +02:00
Silvio Tomatis
b79cd1799b Make it possible to persist lms/cms logs to files
By symlinking /dev/stdout to a .log file, we make it possible for users
to manually persist lms/cms logs to a file.
2019-05-29 09:53:15 +02:00
Régis Behmo
ea6c276b69 Add missing quotes in documentation 2019-05-22 20:03:46 +02:00
Régis Behmo
4e98b020db Include lighting talk video in docs 2019-05-20 18:38:43 +02:00