Helfertool: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 55: | Zeile 55: | ||
python ~/helfertool/src/manage.py migrate | python ~/helfertool/src/manage.py migrate | ||
python ~/helfertool/src/manage.py createcachetable | |||
python ~/helfertool/src/manage.py loaddata toolsettings | python ~/helfertool/src/manage.py loaddata toolsettings | ||
Version vom 30. Januar 2024, 13:28 Uhr
Helfertool.org
Helfertool ist eine Software, die es erlaubt, die Freiwilligen oder Mitarbeiter für eine Veranstaltung zu verwalten. Sie können sich online für Jobs registrieren und die Verwaltungsoberfläche erlaubt es, die registrierten Personen zu verwalten. Für jeden Job können verschiedene Schichten mit einer Start- und Endzeit und einer begrenzten Anzahl von Helfern erstellt werden.
Sie ist in Python mit Django geschrieben.
Features lt Website:
- Entscheiden Sie, ob die Registrierung für eine Stelle intern oder öffentlich sichtbar ist.
- Generieren Sie Ausweise zur Identifizierung und Zugangskontrolle.
- Verwaltung von Geschenken für Freiwillige: sie können für jede geleistete Schicht ein Geschenk erhalten, die Organisatoren können vermerken, ob ein Freiwilliger das Geschenk für jede einzelne Schicht erhalten hat.
- Verwaltung von Geschenken für Freiwillige: sie können für jede geleistete Schicht ein Geschenk erhalten, die Organisatoren können vermerken, ob ein Freiwilliger das Geschenk für jede einzelne Schicht erhalten hat.
Mehr Infos auf https://www.helfertool.org
Installation
Zuerst das git repo clonen. Ggf. Versionsnummer auf die aktuelle Version anpassen.
git clone --single-branch https://github.com/helfertool/helfertool/
Aktuell wird laut src/requirements.txt ein Django in Version 4.2 benötigt.
Aktuell wird dafür
Python 3.8, 3.9, 3.10, 3.11, and 3.12 (as of 4.2. 8)
unterstützt. Auf den debian bookworm Maschinen sollte daher das installierte python3 genügen
python3 --version Python 3.11.2
Vom Helfertool Docker wird aktuell auch Version 3.11 eingesetzt, nachzusehen in deployment/container/etc/uwsgi.conf
Falls das auf deiner Maschine nicht der Fall ist siehe Python für die manuelle Installation einer aktuelleren Version.
Wir installieren zuerst die Dependencies, dafür legen wir uns ein venv an um diese nur lokal zu laden.
cd ~ python3 -m venv venv-ht # initalisierung des venv venv-ht source ~/venv-ht/bin/activate # aktivierung des venv # installation der dependencies im venv (wichtig! venv-ht muss geladen sein!) cd helfertool pip install -r src/requirements.txt -r src/requirements_prod.txt
Für den persönlichen Komfort habe ich folgende Zeilen in der ~/.profile hinterlegt.
source ~/venv-ht/bin/activate
Konfiguration
Die Config Datei findet sich unter ~/helfertool/src/helfertool.yml
Dort muss insbesondere der Datenbankzugang hinterlegt werden, die Domain bei Allowed Hosts und die E-Mail
ob alles geklappt hat kann mit den folgenden befehlen indirekt getestet werden
python ~/helfertool/src/manage.py migrate python ~/helfertool/src/manage.py createcachetable python ~/helfertool/src/manage.py loaddata toolsettings
Inbetriebnahme
cd ~/helfertool venv/bin/python src/manage.py collectstatic --noinput
Der neue Erzeugte static ordner wird der htdocs-ssl ordner in der Entsprechenden Domain:
cd ~/doms/example.org/htdocs-ssl rm .htaccess ln -s ~/helfertool/static ln -s ~/helfertool/media
Es sollten dann 2 Links (static und media) in htdocs-ssl liegen die auf die jeweiligen Ordner im git zeigen.
Der statische Assetornder halt leider jedoch nich by default die Rechte die Hostsharing braucht, das korrigieren für die Dateien und Ornder jeweils wir mit:
cd ~/helfertool find static/ -type f -exec chmod 644 {} \; find static/ -type d -exec chmod 755 {} \;
um die Python Anwendung mit Passenger auszuliefern sind jetzt noch 2 Schritte nötig:
Eine htaccess Datei im Domain Ordner app-ssl hinterlegen mit dem Inhalt:
SetEnv PYTHONPATH "/home/pacs/opa02/users/helfertool/helfertool/src"
und die wsgi datei in app-ssl hinterlegen:
ln -s ~/helfertool/src/helfertool/wsgi.py ~/doms/example.com/app-ssl/passenger_wsgi.py
Zusätzlich noch im HS Admin den Pfad zum venv hinterlegen