7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-17 12:52:21 +00:00
Commit Graph

649 Commits

Author SHA1 Message Date
Régis Behmo
1d6dc5f609 v3.3.7 (2019-04-28)
- [Bugfix] Fix "Timeout after 20s" on running migrations
2019-04-28 08:31:43 +02:00
Régis Behmo
a2241a07c6 v3.3.6 (2019-04-27)
- [Bugfix] Fix KeyError on first quickstart
- [Improvement] De-duplication of prod/dev settings. Thanks @silviot! 😺
2019-04-27 10:49:45 +02:00
Régis Behmo
dafd5d2fc8 Fix changelog version typos 2019-04-25 21:57:44 +02:00
Régis Behmo
555845474d v3.3.5 (2019-04-22)
- [Feature] Pluggable LMS/CMS/forum
- [Improvement] Safer environment overwrite. Thanks @silviot! 👐
- [Security] Fix Jinja2 vulnerability
- [Improvement] Improve CLI cold start performance
- [Improvement] Allow uppercase "Y" and "N" as answers to boolean
questions
2019-04-22 16:50:09 +02:00
Régis Behmo
d1f386c149 Pluggable lms/cms/forum
LMS, CMS and forum can now be independently (de)activated. This will be
useful to deploy Tutor on multiple servers.
2019-04-22 11:59:53 +02:00
Régis Behmo
97c646f875 Crash on env overwrite in non-interactive mode
We took the opportunity to replace the custom ask_bool code by
click.confirm, which just simpler.
2019-04-20 00:02:47 +02:00
Régis Behmo
d2f6783306 Fix security issue with jinja2 requirement
https://nvd.nist.gov/vuln/detail/CVE-2019-10906

To fix this issue, all requirements were simply upgraded to the latest
version.
2019-04-17 08:18:45 +02:00
Régis Behmo
b2d8c1b6cc Improve cold start time by moving kubernetes import
"import kubernetes" takes a long time. Moving this import improves
"tutor --version" from 0.8s to 0.3s.
2019-04-09 18:30:12 -07:00
Régis Behmo
becd03cbf8 Allow uppercase "Y" and "N" as answers to boolean questions 2019-04-09 13:38:56 -07:00
Régis Behmo
695cc0d18a v3.3.4 (2019-04-09)
- [Improvement] Rename `--silent` option to `-y/--yes`
- [Bugfix] Fix (again) login from studio when https is activated (#193)
2019-04-09 11:50:09 -07:00
Régis Behmo
3b9880ec74 Rename --silent option to -y/--yes 2019-04-09 11:17:19 -07:00
Régis Behmo
6c13710c79 Fix (again) login from studio when https is activated
Login from studio with https was broken by the fix for localhost login.

Close #193.
2019-04-09 11:11:32 -07:00
Régis Behmo
016210e899 v3.3.3 (2019-03-29)
- [Bugfix] Fix `pip install tutor-openedx`
2019-03-29 06:36:19 -07:00
Régis Behmo
a034f95f83 Fix pip install tutor-openedx
Installing from pip was broken because, for some reason, the
templates/apps/xqueue/settings/ folder contained a __pycache__ folder
with compiled *.pyc files. Rendering the binary files was failing
miserably.
2019-03-29 06:27:34 -07:00
Régis Behmo
e2b0f3bfde Fix login from localhost
Login from localhost/studio.localhost was broken on Ironwood because the
session cookie was configured to be stored under the production domain
name. We fix this by setting the SESSION_COOKIE_DOMAIN to None: in the
edx-platform code, this corresponds to using the current request domain.
2019-03-27 08:16:44 -07:00
Régis Behmo
7c0f3f2d76 v3.3.2 (2019-03-27)
- [Bugfix] Fix Android app image build
2019-03-27 07:57:08 -07:00
Régis Behmo
75a6a2d44c Fix missing configuration parameters for android environment 2019-03-27 07:35:28 -07:00
Régis Behmo
c72fee217e v3.3.1
- [Improvement] Improve assets building for development
- [Improvement] Support CMS login when the CMS is not a subdomain of the
LMS
2019-03-25 07:43:15 -07:00
Régis Behmo
6c44406ba4 use update_assets instead of the custom openedx-assets script
Now that the correct webpack settings are loaded by the `update_assets`
command in Ironwood, we can stop relying on the `openedx-assets` script.
Actually, we could probably remove it.
2019-03-25 07:41:17 -07:00
Régis Behmo
a7ab1c5ace Add missing CMS config (just in case)
I don't think this affects the CMS behaviour, but SESSION_COOKIE_DOMAIN
is used by the CMS, so rather be safe than sorry.
2019-03-23 16:15:51 -07:00
Régis Behmo
76f9f5bb97 v3.3.0
- [Feature] Upgrade from Hawthorn to Ironwood
2019-03-22 23:39:50 +01:00
Régis Behmo
7462f208de Upgrade to Ironwood
Here, we upgrade all images from Ironwood to Hawthorn, except for the
locales, which we did not generate yet.
2019-03-22 23:37:59 +01:00
Régis Behmo
8cb3dde706 v3.2.2
- [Feature] Multiple platforms on a single server \o/
- [Feature] Easily configure web proxy on the host
- [Bugfix] Fix `images pull all` command which failed on "all" image
- [Improvement] Add configurable mongodb, SMTP and rabbitmq
authentication
- [Improvement] Harmonize mysql username/password configuration
parameters
- [Feature] Configurable and pluggable data storage backends (#114)
2019-03-21 19:11:28 +01:00
Régis Behmo
a70d48c6bb Easily launch multiple platforms on a single server
By using a web proxy on the host, it's now extremely easy to launch
multiple platforms on a single server.
2019-03-21 19:06:08 +01:00
Régis Behmo
f45a24caea Easily configurable web proxy
A web proxy is a web server on the host that will forward request to the
tutor web server. We support Apache2 and Nginx.
2019-03-21 17:38:01 +01:00
Régis Behmo
b0d07ef3fe Fix incorrect vendor image pulling 2019-03-21 14:13:15 +01:00
Régis Behmo
a85ee37682 Configurable mongodb username/password/port 2019-03-21 00:47:42 +01:00
Régis Behmo
e35efa3302 Configurable Rabbitmq authentication 2019-03-20 19:02:39 +01:00
Régis Behmo
0a02d65760 Configurable SMTP server authentication
We can now define non-empty username/password for sending email.
2019-03-20 18:52:57 +01:00
Régis Behmo
7e2bfaf217 Harmonize mysql usernames and passwords
We were using the same password both for the root and the openedx user.
This used to be fine, but alas it is so no longer.
2019-03-20 18:45:20 +01:00
Régis Behmo
259b8961c8 Pluggable SMTP service
This is part of #114
2019-03-20 18:45:09 +01:00
Régis Behmo
ba394669fe v3.2.1
- [Feature] Enable grade downloads by default (#143)
- [Improvement] Remove orphan containers on `local start`
2019-03-19 01:04:45 +01:00
Régis Behmo
abfbf1cc21 Enable grade download by default
It was tricky to define correct settings: the "localfs" default storage
backend was causing incorrect urls of the form "/media/<id>/<name>.csv".

Close #143
2019-03-19 01:02:08 +01:00
Régis Behmo
98c24ee243 Remove orphan containers on local start 2019-03-18 23:04:07 +01:00
Régis Behmo
ed47177ca5 v3.2.0
- [Improvement] `images pull` now also pulls vendor images
- [Feature] Add convenient `config printvalue` command
- [Feature] Customize docker registry
- [Feature] Load configuration parameters from the system environment
- [Improvement] Automatic environment re-generation after
re-configuration
- [Improvement] Error and interrupt handling in UI and web UI
- [Bugfix] Fix missing webui env directory
2019-03-18 22:56:03 +01:00
Régis Behmo
6a746eada0 Pull vendor images from the command line
Vendor docker image versions are no longer hardcoded in environment
files.
2019-03-18 22:40:37 +01:00
Régis Behmo
b84b0a6eed Add convenient "config printvalue" command 2019-03-18 22:38:55 +01:00
Régis Behmo
bccbd58e20 Easily customise the docker registry
As a consequence, `images` commands lose the `--namespace/--version`
arguments, which were confusing anyway.
2019-03-18 21:53:18 +01:00
Régis Behmo
e3b10b72f2 Load configuration values from environment
Configuration values can be loaded from the system environment by adding
a "TUTOR_" prefix.

Environment values supersede values from the user configuration file, so
that we can set values from the command line with "KEY=VAL tutor config
save --silent" even when KEY is already present in the user
configuration file.
2019-03-18 21:47:59 +01:00
Régis Behmo
07b3d113d4 Simplify environment generation
Environment is no longer generated separately for each target, but only
once the configuration is saved.

Note that the environment is automatically updated during
re-configuration, based on a "version" file stored in the environment.
2019-03-18 18:34:42 +01:00
Régis Behmo
63a633b3fc Handle command errors and ctrl+d commands in UI 2019-03-16 12:20:28 +01:00
Régis Behmo
9d7a67bb69 Fix missing webui env directory 2019-03-10 18:02:20 +01:00
Régis Behmo
bb8be6eaed v3.1.0
- [Improvement] Install python requirements in virtual env in docker
image
- [Bugfix] Add missing volume for theme development
- [Improvement] Rename "config [non]interactive" command to "config save
[--silent]"
- [Improvement] More explicit logging during environment generation
- [Improvement] Configurable docker images (#122)
- [Bugfix] Fix "android pullimage" command
- [Improvement] Do not upgrade images as part of quickstart
- [Bugfix] Fix USERID setup in development mode and various dev-related
docs (#177)
2019-03-09 17:53:34 +01:00
Régis Behmo
3e5e494bd8 Install python requirements in venv in docker image
Installing the requirements in a virtualenv is necessary to run "pip
install ..." commands in development mode, when the USERID is != 0.
2019-03-09 17:51:25 +01:00
Régis Behmo
b7c31d770f Add missing volume for theme development
The documentation instructions could not be working, as the theme folder
was not being mounted in the dev container.
2019-03-09 15:39:33 +01:00
Régis Behmo
970ab607b5 Rename "config [non]interactive" command to "config save [--silent]" 2019-03-09 11:27:51 +01:00
Régis Behmo
9b35490449 More explicit env generation logging 2019-03-09 11:17:48 +01:00
Régis Behmo
6d19b99b66 Configurable docker images
Docker images for each service can now be configured one by one.

Close #122.
2019-03-09 11:17:48 +01:00
Régis Behmo
976453c838 Fix "android pullimage" command 2019-03-09 11:17:48 +01:00
Régis Behmo
9d6874fc0e Fix USERID setting in development mode
USERID environment variable was no longer passed to docker image in
development mode.

We take the opportunity to improve the documentation regarding the dev
environment.

Close #177.
2019-03-09 11:16:12 +01:00
Régis Behmo
64eb8e0c92 v3.0.6
- [Bugfix] Fix import/export of demo course (#175)
2019-02-26 20:54:22 +01:00
Régis Behmo
e54a3cc8ca v3.0.5
- [Feature] Add cloud deployment script
- [Improvement] Run `images pull` command
- [Improvement] Run `indexcourses` on importing demo course
- [Improvement] Add `runserver stop` command
2019-02-14 08:39:11 +01:00
Régis Behmo
877a2239f7 Make tutor ready for the AWS cloud 2019-02-13 23:55:15 +01:00
Régis Behmo
b3288613c7 Add runserver stop command 2019-02-13 17:25:17 +01:00
Régis Behmo
da84299c8b v3.0.4
- [Minor] Minimum required `click` version is 7.0 (#171)
- [Bugfix] Fix `runserver` dev command (#172)
- [Minor] Fix non-https link to documentation in pypi
- [Minor] Fix `createuser` documentation
2019-02-13 17:15:18 +01:00
Régis Behmo
5b4beed1d1 Minimum required click version is 7.0
Close #171
2019-02-13 17:14:10 +01:00
Régis Behmo
22aff4dbf5 Fix runserver dev command
Close #172
2019-02-13 17:09:07 +01:00
Régis Behmo
bdc93769f0 Fix http link to docs in pypi 2019-02-12 17:43:01 +01:00
Régis Behmo
484bb59ec6 v3.0.3
- [Bugfix] Add missing template data to pypi package
- [Bugfix] Fix quickstart on Kubernetes (#164)
- [Improvement] Add datatases task to Kubernetes quickstart (#167)
2019-02-12 09:21:31 +01:00
Régis Behmo
ab2098b7f5 Run databases task on k8s quickstart
Close #167
2019-02-12 09:17:18 +01:00
Régis Behmo
253b816a0a Fix k8s quickstart
Close #164
2019-02-12 09:11:38 +01:00
Régis Behmo
4aad412b6a Fix missing templates in pypi install
Close #165.
2019-02-12 09:09:44 +01:00
Régis Behmo
e738a3b13f v3.0.2
- [Bugfix] Fix import paths -- 🚀 thanks @silviot!
- [Improvement] Properly set docker project name in mysql logs -- 🦊
thanks again @silviot!
2019-02-12 08:37:37 +01:00
Régis Behmo
486e5c5794 Fix settings import paths 2019-02-12 08:26:50 +01:00
Régis Behmo
ed8606e63c v3.0.1
- [Bugfix] fix mysql initialization (#159, #160)
- [Improvement] Better handling of continuous integration
- [Bugfix] fix `tutor --version` (#156)
- [Improvement] Absolute settings imports -- 📯 thanks @tonytan4ever!
2019-02-11 09:39:19 +01:00
Régis Behmo
09fdc30784 Fix mysql connection errror on boot
Mysql triggers "Host 'xxx' is not allowed to connect to this MySQL
server" error because of race condition.

This was an issue that had been (painfully) solved in v2 and has reared
its ugly head again in v3.

Close #159
Close #160
2019-02-11 09:38:34 +01:00
Régis Behmo
5974cb5f50 Better CI 2019-02-11 09:38:34 +01:00
Régis Behmo
4331bc5712 Tutor v3 complete rewrite
Replace all make commands by a single "tutor" binary. Environment and
data are all moved to ~/.tutor/local/share/tutor. We take the
opportunity to add a web UI and revamp the documentation.

This is a complete rewrite.

Close #121.
Close #147.
2019-02-09 20:30:01 +01:00
root
5a34a1191a Fix download of user-uploaded media
Nginx volumes for downloading user-uploaded files has been accidentally
removed at some point.

Close #139
2019-01-27 13:40:25 +01:00
Régis Behmo
6d70dedce0 Make it easy for users to override production settings
Close #131.
2019-01-20 09:24:44 +01:00
Régis Behmo
c9314e196d Switch license to AGPL 2019-01-16 17:24:42 +01:00
Régis Behmo
d7ffd439ef Fix xqueue consumer command
This should address issue #109.
2019-01-04 10:22:37 +01:00
Régis Behmo
ab4f94f030 Upgrade node to 5.5.1 in openedx image 2018-12-26 19:27:08 +01:00
Régis Behmo
3b215c9f88 Package static assets inside the openedx image
This allows us to deploy much faster: all we have to do is to copy the
assets from the container to the shared volume.

We also changed the way themes are managed: similarly to static assets,
they are now packaged inside the docker image.
2018-12-25 19:25:23 +01:00
Régis Behmo
0e670837cf 🎏 Download extra locales to the openedx docker image
This allows anyone to run a German 🇩🇪 or Japanese 🇯🇵 (for example)
platform without a transifex account or running any extra command.
2018-12-02 13:44:13 +01:00
Régis Behmo
62fa700b31 Easily change openedx docker image
Just add the OPENEDX_DOCKER_IMAGE variable to the .env file.
2018-11-28 20:18:10 +01:00
Régis Behmo
9f60686fcd Enable customized themes
This makes assets collection faster because we no longer compile assets
from the themes bundled with edx-platform.

Close #88
2018-11-28 20:03:49 +01:00
Régis Behmo
74533df152 Get rid of datadog 2018-11-28 19:22:25 +01:00
Régis Behmo
421b2d4124 Upgrade docker images to ubuntu 18.04
All images (except the openedx image, which requires ubuntu 16.04) are
upgraded.
2018-11-28 19:21:15 +01:00
Régis Behmo
f4558a6ca7 Interactively change default platform language 2018-11-28 18:28:46 +01:00
Régis Behmo
e94fee1767 Document how to run forked edx-platform 2018-11-26 12:07:58 +01:00
Régis Behmo
c9d1db1447 Local filesystem storage for ORA2 uploads
By default, open response assessment files are sent to S3. Here, we
store uploaded files with the "filesystem" backend instead. To do so, we
must install a forked version of ora2 that fixes a couple issues.

Note that the "django" backend is not very usable, as file extensions
are lost on upload.

Close #97
2018-11-25 11:48:47 +01:00
Régis Behmo
1d8fd232a5 Accelerate container bootstrapping
We don't need to run "chmod" on openedx files outside of development
mode. So, there is no need to set the USERID environment variable in
most cases. This should considerably accelerate pretty much all commands
that involve the openedx container.

For discussion consult PR #98.
2018-11-23 13:48:02 +01:00
Régis Behmo
080341a32e Remove persistent data in openedx containers
VOLUME statements in a container make the data persist in this folder.
There is no need to do so, so we just remove the statements.
2018-11-20 17:10:16 +01:00
Frank Anderson
2f9766a3a1 More simple nginx port mapping
Added the possibility to easily change the ports that nginx listens to.
This is useful, for instance when Apache or Nginx already runs on the
host. With this change, it is no longer necessary to edit the
docker-compose file to modify these ports.

To deploy with alternate ports, add a `.env` file with the following
contents:

```
OPENEDX_NGINX_PORT=8080
OPENEDX_NGINX_TLSPORT=8443
```
2018-11-17 09:04:56 +01:00
Frank Anderson
b949a44a78 Add "restart-openedx" make command
Close #91
2018-11-17 08:42:59 +01:00
Régis Behmo
79274f48b6 Make it easier to install extra XBlocks
As per issues #35 and #84
2018-11-13 18:40:01 +01:00
Régis Behmo
dfbc8547c8 Make sure rabbitmq restarts on failures
Rabbitmq was not configured to restart on failures. It does not explain
why rabbitmq crashes (with exit code 255, see issue #80), but this should be sufficient
as a quick fix.
2018-10-30 09:33:11 +01:00
Régis Behmo
0bc553fbe4 Accelerate Android app build
App building is accelerated by pre-installing packages in docker image.
2018-10-03 16:06:28 +02:00
Régis Behmo
c2d536dae5 Upgrade to hawthorn.2 2018-10-02 10:20:14 +02:00
Régis Behmo
30b23462d1 Fix broken celery tasks in CMS
Duplicate "environment" statement in the docker-compose.yml was causing
the first one to be forgotten. Hence, the cms celery worker was running
with LMS settings.

Close #72
2018-09-30 19:19:05 +02:00
Régis Behmo
e60e0071c4 Make feature flags interactive
Feature flags are now asked to the user interactively, as part of the
configuration step. This makes defining feature flags much more simple.
2018-09-30 14:37:49 +02:00
Régis Behmo
1357311be7 Add logging commands 2018-09-29 18:29:10 +02:00
Régis Behmo
500d690074 Add a self-documenting Make help
Picked from https://github.com/openfun/fun-platform, which itself picked
it from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html

Running `make help` or simply `make` now produces a beautiful colored
help.
2018-09-29 18:22:06 +02:00
Régis Behmo
f85b0abac4 Add portainer as an optional feature 2018-09-29 15:10:25 +02:00
Régis Behmo
5ca9cec888 Add optional Student Notes service
With notes, students can annotate sections of the courseware.
2018-09-15 18:11:15 +02:00
Régis Behmo
04a0fb5902 Simplify configurator
Template files are now directly loaded in the configurator container, so
that it is possible to run the configurator container directly, outside
of this project.
2018-09-15 17:22:02 +02:00
Régis Behmo
e1d73660d2 Rename up & daemon make commands
The new commands are "run" and "daemonize". Older commands are
preserved, although they are undocumented.
2018-09-15 12:20:35 +02:00
Régis Behmo
adf994fa35 Add Changelog 2018-09-15 12:17:24 +02:00