mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-09-28 04:09:01 +00:00
405aaac189
The LazyStaticAbsoluteUrl object was breaking bulk emails again with the following stacktrace: 2022-01-11 13:50:10,591 ERROR 12 [celery.app.trace] [user None] [ip None] trace.py:255 - Task lms.djangoapps.instructor_task.tasks.send_bulk_course_email[26b93357-018a-408f-b3f7-b69722447c5b] raised unexpected: EncodeError(TypeError('Object of type LazyStaticAbsoluteUrl is not JSON serializable')) Traceback (most recent call last): File "/openedx/venv/lib/python3.8/site-packages/kombu/serialization.py", line 50, in _reraise_errors yield File "/openedx/venv/lib/python3.8/site-packages/kombu/serialization.py", line 221, in dumps payload = encoder(data) File "/openedx/venv/lib/python3.8/site-packages/kombu/utils/json.py", line 69, in dumps return _dumps(s, cls=cls or _default_encoder, File "/openedx/venv/lib/python3.8/site-packages/simplejson/__init__.py", line 398, in dumps return cls( File "/openedx/venv/lib/python3.8/site-packages/simplejson/encoder.py", line 296, in encode chunks = self.iterencode(o, _one_shot=True) File "/openedx/venv/lib/python3.8/site-packages/simplejson/encoder.py", line 378, in iterencode return _iterencode(o, 0) File "/openedx/venv/lib/python3.8/site-packages/kombu/utils/json.py", line 59, in default return super(JSONEncoder, self).default(o) File "/openedx/venv/lib/python3.8/site-packages/simplejson/encoder.py", line 272, in default raise TypeError('Object of type %s is not JSON serializable' % TypeError: Object of type LazyStaticAbsoluteUrl is not JSON serializable The point of that lazy object was to link to the lms logo even when a custom theme was enabled. Luckily, we no longer need this lazy evaluation because we now have theme-agnostic urls that point to static asset (see https://github.com/openedx/edx-platform/pull/29461). See: https://discuss.overhang.io/t/error-while-sending-bulk-emails-lazystaticabsoluteurl-is-not-json-serializable/2176/ |
||
---|---|---|
.github | ||
bin | ||
docs | ||
requirements | ||
tests | ||
tutor | ||
.coveragerc | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG-nightly.md | ||
CHANGELOG.md | ||
CONTRIBUTING.rst | ||
Dockerfile | ||
LICENSE.txt | ||
Makefile | ||
MANIFEST.in | ||
README.rst | ||
setup.py | ||
tutor.spec |
.. _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/static/v1?logo=github&label=Git&style=flat-square&color=brightgreen&message=Source%20code :alt: Source code :target: https://github.com/overhangio/tutor .. image:: https://img.shields.io/static/v1?logo=discourse&label=Forums&style=flat-square&color=ff0080&message=discuss.overhang.io :alt: Forums :target: https://discuss.overhang.io .. image:: https://img.shields.io/static/v1?logo=readthedocs&label=Documentation&style=flat-square&color=blue&message=docs.tutor.overhang.io :alt: Documentation :target: https://docs.tutor.overhang.io .. image:: https://img.shields.io/pypi/v/tutor?logo=python&logoColor=white :alt: PyPI releases :target: https://pypi.org/project/tutor .. 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 .. image:: https://img.shields.io/static/v1?logo=twitter&label=Twitter&style=flat-square&color=1d9bf0&message=@overhangio :alt: Follow us on Twitter :target: https://twitter.com/overhangio/ .. image:: https://img.shields.io/static/v1?logo=youtube&label=YouTube&style=flat-square&color=ff0000&message=@overhangio :alt: Follow us on Youtube :target: https://www.youtube.com/c/OverhangIO **Tutor** is the official 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 to deploy hundreds of Open edX platforms around the world. Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO provides online support as part of its `Long Term Support (LTS) offering <https://overhang.io/tutor/pricing>`__. 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>`__ * Comes with batteries included: `theming <https://github.com/overhangio/indigo>`__, `SCORM <https://github.com/overhangio/openedx-scorm-xblock>`__, `HTTPS <https://docs.tutor.overhang.io/configuration.html#ssl-tls-certificates-for-https-access>`__, `web-based administration interface <https://github.com/overhangio/tutor-webui>`__, `mobile app <https://github.com/overhangio/tutor-android>`__, `custom translations <https://docs.tutor.overhang.io/configuration.html#adding-custom-translations>`__... * Extensible architecture with `plugins <https://docs.tutor.overhang.io/plugins.html>`__ * Works with `Kubernetes <https://docs.tutor.overhang.io/k8s.html>`__ * Amazing premium plugins available in the `Tutor Wizard Edition <https://overhang.io/tutor/wizardedition>`__, including `Cairn <https://overhang.io/tutor/plugin/cairn>`__ the next-generation analytics solution for Open edX. * No technical skill required with the `zero-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#zero-click-aws-installation>`__ .. _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/ Is there a problem? ------------------- Please follow the instructions from the `troubleshooting section <https://docs.tutor.overhang.io/troubleshooting.html>`__ in the docs. .. _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/pricing. .. _readme_support_end: .. _readme_contributing_start: Contributing ------------ We welcome contributions to Tutor! To learn how you can contribute, please check the relevant section of the Tutor docs: `https://docs.tutor.overhang.io/tutor.html#contributing <https://docs.tutor.overhang.io/tutor.html#contributing>`__. .. _readme_contributing_end: