Ashley, a self-hosted discussion forum for learning
Overview
Ashley is a forum designed to be integrated into Learning Management Systems (LMS).
It is a multi-tenant service intended to be operated independently. It can be integrated to any LMS (like Open edX or Moodle), thanks to the LTI standard.
Ashley is built on top of Django-machina, a powerful forum engine for Django.
Quick preview
Here is an example integration of Ashley in Open edX:
Contributing
This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.
We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.
License
This work is released under the MIT License (see LICENSE).
Getting started
Make sure you have a recent version of Docker and Docker Compose installed on your laptop:
$ docker -v
Docker version 18.09.0, build 4d60db4
$ docker-compose --version
docker-compose version 1.23.2, build 1110ad01
⚠️ You may need to run the following commands with sudo but this can be avoided by assigning your user to the docker group.
Project bootstrap
The easiest way to start working on the project is to use our Makefile :
$ make bootstrap
This command builds the app container, installs front-end and back-end dependencies, builds the front-end application and styles, and performs database migrations. It's a good idea to use this command each time you are pulling code from the project repository to avoid dependency-related or migration-related issues.
Now that your Docker services are ready to be used, start the service by running :
$ make run
You should be able to test the forum at http://localhost:8090/dev/. This is the development view that emulates a LTI consumer.
Django admin
You can access the Django admin site of the forum at http://localhost:8090/admin/
You first need to create a superuser account.
$ make superuser
Troubleshooting
ElasticSearch service out with an Exit 137
$ docker-compose ps
ashley_elasticsearch_1 /docker-entrypoint.sh elas ... Exit 137
This is due to a lack of memory. N.B. for Mac users, the default Docker's configuration is also 2GB which means that Elasticsearch will automatically exit.
To fix this issue, you need to upgrade your default configuration.
Metadata
Release files for ashley 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ashley-1.3.1.tar.gz | 2.5 MB | Without provenance | Details for ashley-1.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ashley-1.3.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for ashley-1.3.1-py2.py3-none-any.whl |
Total release size: 5.4 MB
Release files / ashley-1.3.1.tar.gz
| Download URL | ashley-1.3.1.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c9aaf82645499f352957345e86371e82fdfea904dea9d9d37fa43bb06ee2e6e
|
|
BLAKE2b-256 checksum How to use checksums |
7094267a40c8ee4e6e3ec27b66e342e0229edbe8874240d4c8c94fe1228bbe39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.8.12
|
Release files / ashley-1.3.1-py2.py3-none-any.whl
| Download URL | ashley-1.3.1-py2.py3-none-any.whl |
|---|---|
| Size | 2.9 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
ff4c36f4c7d53b683ec5359c588767aec217754f265cc6ae27739d2e6138d2ec
|
|
BLAKE2b-256 checksum How to use checksums |
470598e4471e0097496d2889d77b233081ae16d8352f57093a96a2c9952bfd2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.8.12
|
Security for ashley 1.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.