Skip to content
Snippets Groups Projects
Select Git revision
  • md-export
  • master default protected
  • th/mail
  • 179-einladungen-zum-aushaengen-drucken
4 results

proto3

  • Clone with SSH
  • Clone with HTTPS
  • Protokollsystem 3

    System zur Verwaltung von Protokollen und Sitzungen.

    • Planung der Tagesordnung
    • Einladungsmails
    • Kompilieren vom Protokollquelltext
    • PDF-Protokoll mit LaTeX
    • Protokollversand samt Anhang
    • automatisches Hochladen ins Wiki
    • Etherpadanbindung
    • Todoverwaltung mit mehr Zuständen
    • Beschlussverwaltung
    • Rechteverwaltung (interne Abschnitte)
    • Hochladen der Tagesordnung in einen Kalender
    • externe Protokolle ohne Protokollsyntax

    HowTo Setup

    Required infrastructure:

    • some WSGI-capable webserver (nginx + uwsgi, …)
    • some database (postgres, …)
    • some LDAP server (Samba 4, slapd, …) for accounts and groups
    • texlive
    • some message broker for celery (redis, …)

    Optional infrastructure:

    • a mail server (for sending protocols and invitations)
    • a CUPS printing server (for printing protocols and decisions)
    • an Etherpad (for writing the protocol collectively)
    • a Mediawiki instance (for uploading the protocols there)
    • a CalDAV server (for uploading the events)

    Steps:

    1. clone the repository
    2. create a python virtualenv and install the packages from requirements.txt there
    3. create a database (tested with postgres and sqlite, but feel free to use whatever you like and SQLAlchemy supports
    4. copy config.py.example to config.py and edit it
    • do change everything commented with change this
    • do not change the lines commented with do not change
    • deactivate unwanted features with SOMETHING_ACTIVE = False
    • if you want to use a feature, set the connection configuration lines accordingly
    • define a list of authentication backends (usually one):
      • use LdapManager for slapd
      • use ADManager for Samba
      • write your own for anything else (see auth.py, just the methods authenticate and groups are required)
    • define the available printers (if wanted) with a list of options they should use (see lpoptions)
    • if you do not know what a MediaWiki-domain is, you probably don't need it
    • fix the path to the fonts (and select which to use)
    • most points should be documented in the example config
    1. create the database schema with ./server.py db upgrade
    2. configure your server to run the wsgi-application and the celery-server
    • if you use systemd, example service files are located in example-config/ in this repository
    1. configure your webserver to serve the wsgi-application
    • if you use uwsgi+nginx, example config if located in example-config/
    • don't forget to pass the correct IP if you use some proxy-setup and want to use IP-based access per protocol type
    1. Test if it is working properly