diff --git a/DEVELOPMENT.rst b/DEVELOPMENT.rst
index 3a5eaba0d..154082afe 100644
--- a/DEVELOPMENT.rst
+++ b/DEVELOPMENT.rst
@@ -2,8 +2,7 @@
OpenSlides Development
========================
-If you want to contribute to OpenSlides, have a look at `OpenSlides website
-`_ and write us an email.
+This instruction helps you to setup a development environment for OpenSlides.
Installation and start of the development version
@@ -16,9 +15,9 @@ a. Check requirements
'''''''''''''''''''''
Make sure that you have installed `Python (>= 3.6) `_,
-`Node.js (>=10.x) `_ and
-`Git `_ on your system. You also need build-essential
-packages and header files and a static library for Python.
+`Node.js (>=10.x) `_ and `Git `_ on
+your system. You also need build-essential packages and header files and a
+static library for Python.
For Debian based systems (Ubuntu, etc) run::
@@ -61,8 +60,8 @@ To get help on the command line options run::
Later you might want to restart the server with one of the following commands.
-To start OpenSlides with Daphne and to avoid opening new browser
-windows run::
+To start OpenSlides with this command and to avoid opening new browser windows
+run::
$ python manage.py start --no-browser
@@ -71,25 +70,22 @@ When debugging something email related change the email backend to console::
$ python manage.py start --debug-email
-d.a Debugging the Server
-''''''''''''''''''''''''
+e. Debugging the server
+'''''''''''''''''''''''
If you wish to have even further debugging, enable `django-extensions
-`_,
-in the ``settings.py`` by adding ``django_extensions`` to the list of
-``INSTALLED_PLLUGINS``. Make sure, you add the following lines to your
-``requirements/development.txt``::
+`_ in the ``settings.py`` by adding
+``django_extensions`` to the list of ``INSTALLED_PLLUGINS``. Make sure, you
+install the following packages::
- Werkzeug
- pyparsing
- pydot
- django-extensions
+ $ pip install Werkzeug pyparsing pydot django-extensions
-and install them via pip. You can start the enhanced debugging-server via::
+You can start the enhanced debugging-server via::
$ python manage.py runserver_plus
-e. Setup and start the client
+
+f. Setup and start the client
'''''''''''''''''''''''''''''
Go in the client's directory in a second command-line interface::
@@ -108,7 +104,7 @@ If you want to provide the client statically, you can build it via::
$ npm run build
The build client files are availible from the root directory in
-``openslides/static`` and can be provided via ``nginx`` (Point 4).
+``openslides/static`` and can be provided via NGINX.
2. Installation on Windows
@@ -123,10 +119,10 @@ installer is required even on a 64-bit Windows system. If you use the 64-bit
installer, step d. of the instruction might fail unless you installed some
packages manually.
-You have to install `MS Visual C++ 2015 build tools
+In some cases you have to install `MS Visual C++ 2015 build tools
`_ before you
install the required python packages for OpenSlides (unfortunately Twisted
-16.6.x needs it).
+needs it).
To setup and activate the virtual environment in step c. use::
@@ -144,7 +140,8 @@ a. Running server tests
To run some server tests see `.travis.yml
`_.
-You can generate an class-structure image, when having `django_extensions` enabled (see above)
+You can generate an class-structure image when having `django_extensions`
+enabled (see above)::
$ python manage.py graph_models -a -g -o my_project_visualized.png
@@ -159,22 +156,24 @@ client tests::
Fix the code format and lint it with::
- npm run prettify-write
- npm run lint
+ $ npm run prettify-write
+ $ npm run lint
To extract translations run::
$ npm run extract
-When updating, adding or changing used packages from npm, please update the README.md using following command::
+When updating, adding or changing used packages from npm, please update the
+README.md using following command::
$ npm run licenses
+
OpenSlides in big mode
======================
In the so called big mode you should use OpenSlides with Redis, PostgreSQL and
-a webserver like Apache HTTP Server or nginx as proxy server in front of your
+a webserver like Apache HTTP Server or NGINX as proxy server in front of your
OpenSlides interface server.
@@ -182,20 +181,19 @@ OpenSlides interface server.
---------------------------------------------
Install `PostgreSQL `_ and `Redis
-`_. For Ubuntu 16.04 e. g. run::
+`_. For Ubuntu 18.04 e. g. run::
$ sudo apt-get install postgresql libpq-dev redis-server
-Be sure that database and redis server is running. For Ubuntu 16.04 e. g. this
+Be sure that database and redis server is running. For Ubuntu 18.04 e. g. this
was done automatically if you used the package manager.
-Then add database user and database. For Ubuntu 16.04 e. g. run::
+Then add database user and database. For Ubuntu 18.04 e. g. run::
$ sudo -u postgres createuser --pwprompt --createdb openslides
$ sudo -u postgres createdb --owner=openslides openslides
-
2. Change OpenSlides settings
-----------------------------
@@ -215,23 +213,26 @@ Populate your new database::
3. Run OpenSlides
-----------------
-To start Daphne, run::
+To start Daphne run::
$ export DJANGO_SETTINGS_MODULE=settings
$ export PYTHONPATH=personal_data/var/
$ daphne -b 0.0.0.0 -p 8000 openslides.asgi:application
-The last line may be interchangeable with gunicorn and uvicorn as protocol server::
+The last line may be interchangeable with gunicorn and uvicorn as protocol
+server::
$ gunicorn -w 4 -b 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker openslides.asgi:application
-4. Use Nginx (optional)
+
+4. Use NGINX (optional)
-----------------------
-When using Nginx as a proxy for delivering static files the performance of the
+When using NGINX as a proxy for delivering static files the performance of the
setup will increase.
-This is an example ``nginx.conf`` configuration for Daphne listing on port 8000::
+This is an example ``nginx.conf`` configuration for Daphne listing on port
+8000::
worker_processes 1;
diff --git a/SETTINGS.rst b/SETTINGS.rst
index e59c4c857..371f91fe4 100644
--- a/SETTINGS.rst
+++ b/SETTINGS.rst
@@ -15,6 +15,7 @@ The `settings.py` is just an extension for Django settings. Please visit the
`_ to get an overview about
all existing settings.
+
SECURITY
========
@@ -32,6 +33,7 @@ validator. See `django auth docs
`_
for mor information.
+
Directories
===========
@@ -45,20 +47,21 @@ is not delivered by the server anymore, these settings are obsolete.
`MEDIA_ROOT`: The location of mediafiles. The default is a `media` folder inside
`OPENSLIDES_USER_DATA_DIR`, but can be altered to another path.
+
Email
=====
Please refer to the Django settings documentation. A changed email backend is
useful for debugging to print all email the the console::
- EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
+ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
Logging
=======
To setup basic logging see `logging
-`_.
+`_.
We recommend to enable all OpenSlides related logging with level `INFO` per
default::
@@ -87,6 +90,7 @@ default::
With the environment variable `OPENSLIDES_LOG_LEVEL` the level can be adjusted
without changing the `settings.py`.
+
Big mode and caching
====================
@@ -119,4 +123,3 @@ not affect the client.
operator is in one of these groups, the client disconnected and reconnects again.
All requests urls (including websockets) are now prefixed with `/prioritize`, so
these requests from "prioritized clients" can be routed to different servers.
-