Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Architektur
Zurück zur Startseite
Aus den folgenden Komponenten sind die Datenverwaltungen sowohl für Gemeinden als auch für Tagungen aufgebaut:
- Datenbank und Cronjob auf einem Server
- Graphische Benutzeroberfläche (GUI)
- Cloud (NextCloud)
Benutzer und Benutzerinnen erfasse und ändern die Daten über die graphische Benutzeroberfläche, kurz GUI. Auf dem Server werden durch den „Cronjob“ (ein zeitgesteuertes Programm) regelmäßig Adresslisten und eine Reihe weiterer Auswertungen hergestellt und in der Cloud gespeichert. Benutzer und Benutzerinnen können alle dies Auswertungen z.B. über einen Browser jederzeit anschauen, downloaden oder ausdrucken.
Die Komponenten im Einzelnen:
Datenbank und Cronjob
Von diesen beiden Komponenten bekommen Benutzer und Benutzerinnen in der Regel nichts direkt zu sehen. Trotzdem sind sozusagen der Kern der hier beschriebenen Datenverwaltung. Die Beschreibung hier dient interessierten Lesern und Leserinnen, kann aber getrost übergangen werden.
Datenbank
Die Daten werden in der ralationalen Datenbank PostgreSQL gespeichert. Diese Datenbank läuft auf einem externen Server und ist über das Internet zugänglich. In der Datenbank sind die Daten in verschiedenen Tabellen, z.B. für Personen, Gruppe/Rollen usw. gespeichert; dazu gibt es Relationen zwischen den Tabellen, so können z.B. Personen mehreren Gruppen angehören. Die Datenbank sorgt für jederzeit konsistente Daten und kümmert sich bei Bedarf um die die Möglichkeiten und Probleme, wenn mehrere Benutzer auf die Daten zugreifen oder sie ändern wollen.
Der Cronjob
Cronjob bedeutet nichts weiter als zeitgesteuertes Programm. Dieser Cronjob läuft auf dem gleichen Server wie die Datenbank und stößt regelmäßig anfallende Aufgaben an, z.B.
- Auswertungen wie Adressenlisten herstellen und als PDF auf der Cloud bereitstellen
- Datensicherung durchführen
Für Tagungen kommen noch z.B. folgende Aufgaben dazu:
- Eingehende Online-Anmeldungen in die Datenbank eintragen
- Bestätigungsmails an Teilnehmer verschicken
- Workshop-Anmeldungen bereits angemeldeten Teilnehmern zuordnen
Ob und wie oft der Cronjob diese vielen verschiedenen Programm tatsächlic anstößt, lässt sich über die GUI einstellen.
Graphische Benutzeroberfläche (GUI)
Die GUI ist das „Fenster“, mit dem Benutzer und Benutzerinnen auf die Daten schauen können, und mit der sie Daten neu erfassen, ändern und löschen können. Die GUI ist das Werkzeug für die Arbeit an den Daten.
Generell ist zu sagen, dass es ohne Weiteres verschiedene GUIs geben kann, die alternativ für die Datenbearbeitung verwendet werden können. Die aktuelle GUI…
- … ist mit Python und der Bibliothek TkInter programmiert
- … muss auf dem Rechner (Laptop, PC) der Benutzer installiert werden
Der Nachteil dieser Lösung ist, dass auf den Rechnern ein merkbarer Installationsaufwand nötig ist. Ist diese Installation aber erfolgreich abgeschlossen, lässt sich die GUI mit einem Mausklick öffnen. Ebenso lassen sich Upgrades mit einem Mausklick installieren.
Alternativ sind u.a. folgende Möglichkeiten denkbar:
- Die GUI ist über einen Internet-Browser zugänglich. Das wäre in einem gewissen Sinne optimal, da es keinerlei Insstallationen auf den Rechnern der Benutzer erfordern würde. Die Programmierung ist aber sehr komplex, so dass dieser Weg zwar versucht, aber wieder aufgegeben wurde.
- Die GUI läuft auf einem Server und die Benutzer greifen über einen sogenannten Remote-Zugang darauf zu. Diese Lösung wurd ein paar Jahre praktiziert, musste aber aufgegeben werden, da der Andministrationsaufwand nicht mehr zu leisten war.
- Die GUI läuft als LibreOffice-Base Anwendung. Das entsprechende Werkzeug von LibreOffice-Base ist sehr leistungsfähig und es lassen sich sehr schöne GUIs damit realisieren. In der Anfangszeit der Datenbank für Tagungen war das auch der gewählte Weg. Er wurde aufgegeben, weil diese Anwenungen auf den Rechnern der Benutzer ständig angepasst werden mussten, und weil LibreOffice keine Mehrbenutzer-Unterstützung bietet.

