e225a57f97
- Removing channels. Going back to a wsgi deployment - Removed server projector code - Autoupdate throttling is now in the client - New communication stack in the client - Adopted all deployment methods: Docker stack and docker compose (prod and dev) - Added autoupdate service as submodule
84 lines
1.9 KiB
ReStructuredText
84 lines
1.9 KiB
ReStructuredText
========================
|
|
OpenSlides Development
|
|
========================
|
|
|
|
Check requirements
|
|
'''''''''''''''''''''
|
|
|
|
- ``docker``
|
|
- ``docker-compose``
|
|
- ``git``
|
|
- ``make``
|
|
|
|
Note about migrating from previous OpenSlides3 development
|
|
setups: You must set the ``OPENSLIDES_USER_DATA_DIR`` variable in
|
|
your ``server/personal_data/var/settings.py`` to ``'/app/personal_data/var'``
|
|
|
|
|
|
Get OpenSlides source code
|
|
'''''''''''''''''''''''''''''
|
|
|
|
Clone current master version from `OpenSlides GitHub repository
|
|
<https://github.com/OpenSlides/OpenSlides/>`_::
|
|
|
|
git clone https://github.com/OpenSlides/OpenSlides.git
|
|
cd OpenSlides
|
|
|
|
TODO: submodules.
|
|
|
|
Start the development setup
|
|
''''''''''''''''''''''''''''''
|
|
|
|
make run-dev
|
|
|
|
|
|
All you data (database, config, mediafiles) is stored in ``server/personal_data/var``.
|
|
|
|
Running the test cases
|
|
-------------------------
|
|
|
|
For all services in submodules check out the documentation there.
|
|
|
|
Server tests andscripts
|
|
'''''''''''''''''''''''
|
|
You need to have python (>=3.8) and python-venv installed. Change your workdirectory to the server::
|
|
|
|
cd server
|
|
|
|
Setup an python virtual environment. If you have already done it, you can skip this step:
|
|
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -U -r requirements.txt
|
|
|
|
Make sure you are using the correct python version (e.g. try with explicit minor version: ``python3.8``). Activate it::
|
|
|
|
source .venv/bin/activate
|
|
|
|
To deactivate it type ``deactivate``. Running all tests and linters:
|
|
|
|
black openslides/ tests/
|
|
flake8 openslides/ tests/
|
|
mypy openslides/ tests/
|
|
isort -rc openslides/ tests/
|
|
pytest tests/
|
|
|
|
Client tests
|
|
''''''''''''
|
|
You need `node` and `npm` installed. Change to the client's directory. For the first time, install all dependencies::
|
|
|
|
cd client/
|
|
npm install
|
|
|
|
Run client tests::
|
|
|
|
npm test
|
|
|
|
Fix the code format and lint it with::
|
|
|
|
npm run cleanup
|
|
|
|
To extract translations run::
|
|
|
|
npm run extract
|