7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-02 06:10:47 +00:00
Go to file
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
.github/ISSUE_TEMPLATE Add github template for questions 2019-05-23 12:59:18 +02:00
bin Refactor plugin internals 2020-01-14 15:41:42 +01:00
docs Fix updates to the course structure in the LMS 2020-04-14 19:16:52 +02:00
requirements Fix yet another bleach vulnerability by requirement upgrade 2020-04-01 20:15:54 +02:00
tests Add encrypt template filter 2020-04-04 18:22:15 +02:00
tutor Fix updates to the course structure in the LMS 2020-04-14 19:16:52 +02:00
.gitignore Add all plugins (with data) to binary bundle 2019-08-20 17:03:46 +02:00
.gitlab-ci.yml Add "docs" target to root makefile 2020-01-10 15:30:09 +01:00
.travis.yml Make sure twine & pip are up-to-date in CI 2019-10-09 13:22:00 +02:00
CHANGELOG.md Fix updates to the course structure in the LMS 2020-04-14 19:16:52 +02:00
CONTRIBUTING.rst Migrate github repo to overhangio organization 2019-06-23 23:11:07 +02:00
Dockerfile Explicitely point to docker.io images 2020-01-10 17:15:48 +01:00
LICENSE.txt gpl -> agpl 2019-01-18 15:19:18 +01:00
Makefile Refactor plugin internals 2020-01-14 15:41:42 +01:00
MANIFEST.in Fix missing requirements file in pypi package 2019-10-19 18:30:11 +02:00
README.rst Add youtube videos to docs 2020-02-25 17:02:39 +01:00
setup.py Fix jinja2 dependency 2019-10-14 06:26:25 +02:00
tutor.spec Fix binary SHA256 import 2019-12-25 01:16:17 +01:00

.. _readme_intro_start:

Tutor: the docker-based Open edX distribution designed for peace of mind
========================================================================

|

.. image:: https://overhang.io/static/img/tutor-logo.svg
  :alt: Tutor logo
  :width: 500px
  :align: center

|

.. image:: https://img.shields.io/travis/overhangio/tutor.svg?label=Release%20build&style=flat-square
    :alt: Release build status
    :target: https://travis-ci.org/overhangio/tutor

.. image:: https://img.shields.io/badge/docs-current-blue.svg?style=flat-square
    :alt: Documentation
    :target: https://docs.tutor.overhang.io

.. image:: https://img.shields.io/github/issues/overhangio/tutor.svg?style=flat-square
    :alt: GitHub issues
    :target: https://github.com/overhangio/tutor/issues

.. image:: https://img.shields.io/github/issues-closed/overhangio/tutor.svg?colorB=brightgreen&style=flat-square
    :alt: GitHub closed issues
    :target: https://github.com/overhangio/tutor/issues?q=is%3Aclosed

.. image:: https://img.shields.io/github/license/overhangio/tutor.svg?style=flat-square
    :alt: AGPL License
    :target: https://www.gnu.org/licenses/agpl-3.0.en.html


**Tutor** is a docker-based `Open edX <https://openedx.org>`_ distribution, both for production and local development. The goal of Tutor is to make it easy to deploy, customize, upgrade and scale Open edX. Tutor is reliable, fast, extensible, and it is already used by dozens of Open edX platforms around the world.

Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO offers online support as part of its `Long Term Support (LTS) offering <https://overhang.io/tutor/lts>`__.

Features
--------

* 100% `open source <https://github.com/overhangio/tutor>`__
* Runs entirely on Docker
* World-famous 1-click `installation and upgrades <https://docs.tutor.overhang.io/install.html>`_
* Extensible architecture with `plugins <https://docs.tutor.overhang.io/plugins.html>`_
* Works with `Kubernetes <https://docs.tutor.overhang.io/k8s.html>`_
* No technical skill required with the `1-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#cloud-deployment>`_
* Professional support and premium plugins available with `Tutor Long Term Support (LTS) <https://overhang.io/tutor/lts>`__

.. _readme_intro_end:

.. image:: ./docs/img/quickstart.gif
    :alt: Tutor local quickstart
    :target: https://terminalizer.com/view/91b0bfdd557

Quickstart
----------

1. Install the `latest stable release <https://github.com/overhangio/tutor/releases>`_ of Tutor
2. Run ``tutor local quickstart``
3. You're done!

Documentation
-------------

Extensive documentation is available online: https://docs.tutor.overhang.io/

.. _readme_support_start:

Support
-------

To get community support, go to the official discussion forums: https://discuss.overhang.io. For official support, please subscribe to a Long Term Support (LTS) license at https://overhang.io/tutor/lts.

.. _readme_support_end:

.. _readme_contributing_start:

Contributing
------------

We are very much open to new ideas and features for Tutor. If you have an improvement idea, feel free to first discuss it on the `Tutor forums <https://discuss.overhang.io>`_. If you are not quite familiar with Open edX or if you need technical advice, the forums are a great place to start, too. Did you find an issue with Tutor? Please first make sure that it's related to Tutor, and not an upstream issue with Open edX. Then, `open an issue on Github <https://github.com/overhangio/tutor/issues/new/choose>`_. `Pull requests <https://github.com/overhangio/tutor/pulls>`_ will be happily examined, too!

.. _readme_contributing_end: