GPN15:CCC-Mitgliederverwaltungssoftware

aus dem Wiki des Entropia e.V., CCC Karlsruhe

Der aktuelle Stand

Momentan wird der CCC e.V. mit seinen Tausenden Mitgliedern von einem kleinen Büro in Hamburg aus verwaltet. Dort steht ein etwas älterer Rechner mit einem Debian stable, auf dem ein Dos-Emulator läuft. In diesem Dos-Emulator läuft eine D-Base-Datenbank. Diese D-Base-Datenbank wurde in grauen Vorzeiten von alten Hasen des Clubs geschrieben. Die ältesten Code-Kommentare, die wir gefunden haben, sind von 1995. Trotz der technischen Kompetenz und hohen Code-Güte, die diese Qualitäts-Software bis heute am Leben erhalten hat, gibt es ein paar Problemchen. Zum Beispiel:

  • Kein paralleles Arbeiten möglich
  • Eingabefehler (z.B. 00.01.15 als Datum oder "äöüß") bringen die Datenbank zum Absturz
  • Namens- und Adress-Felder sind zu klein
  • viel Funktionalität in verschiedenste Skripte ausgelagert, die fehleranfällig und wackelig sind

Das Ziel

Wir wollen jetzt eine Mitgliedsverwaltung bauen, die vorerst nicht (viel) mehr macht als die bisherige Software. Und das ist schon ganz schön viel. Ein Ausschnitt:

  • Mitglieder anlegen, ändern, wieder austragen
  • Zahlungen vom CCC-Konto Mitgliedern zuordnen
  • webbasiert (aber nicht im Internet!) und parallel nutzbar
  • Zahlungserinnerungen an Leute mit Zahlungsrückstand senden
  • Datenschleuder-Abonnenten verwalten
  • Adresslisten für Datenschleudern und Mitgliederversammlungen drucken (PDF-Export)
  • verschlüsselte Mails senden

Wenn das soweit steht, dann wird erst mal die vorhandene Software ersetzt. Alleine das wird die Arbeit stark verbessern. Die Daten zu portieren wird dann noch ein Heidenspass!

Anschliessend geht es dann irgendwann mal an nette Features wie

  • Doubletten-Detektion bei der Eingabe neuer Mitglieder (ja, ist leider echt nötig)
  • "Mitgliedschaft an $Datum in der Zukunft beenden"-Feature
  • "aktualisiere mal deine Email-Adresse"-Postbrief-PDF generieren
  • Online-Anmelde-Formular
  • (halb-)automatisierter Datenaustausch mit den Erfas

Der Weg

Die Entscheidung fiel auf Python mit Flask und Postgre-SQL und ein paar Grundsteine sind gebaut. Es gibt im Gitlab des CCCHH ein Repo wo der aktuelle Stand gepflegt wird. Weil wir keine Lust auf Bikeshedding mit Leuten, die die Anforderungen nicht kennen, haben, ist das Projekt nicht komplett öffentlich.

Mitmachen

Ich bin ab Freitag Morgens bis Sonntag 14 Uhr auf der GPN. Schreib eine Email oder such mich im Hackcenter. Dann gibt es eine Einführung in die Details und Freischaltung zu dem Code im Gitlab. Ich werde die meiste meiner Zeit im Hackcenter verbringen und an der Software basteln.