PHP API für Mailman und OpenSource Volleyball-Vereinsmanager MyVBC

Kennt Ihr Mailman? Bei meinem Hosting Provicer Cyon kann ich Mailman für Maillisten verwenden. Aktuell nur in der Version 2.1.20, leider. Warum leider? Dazu komme ich gleich. Gerne stelle ich euch aber zuerst meinen OpenSource Volleyball-Vereinsmanager MyVBC vor.

Für den Volleyball Verein in dem ich engagiert bin (VBC Langenthal) habe ich schon vor längerem eine PHP Web-Applikation geschrieben um die ganzen administrativen Angelegenheiten des Vereins zu regeln. Dies insbesondere, da ich länger als Chef-TK tätig war und mir das Leben während einer Volleyball Saison so einfach wie möglich machen wollte. Irgendwann habe ich dann diese Web-Applikation auf Github unter dem Namen MyVBC veröffentlicht. MyVBC basiert auf einem sehr einfach, auch selbst geschriebenen, PHP Framework. Auch das habe ich der OpenSource Community via Github zur Verfügung gestellt. Den beiden Projekten fehlt es bestimmt noch einiges an Dokumentation damit sie jedermann benutzen kann. Insbesondere ist/war mein PHP Framework sehr stark mit MyVBC gekoppelt und speziell dafür entwickelt worden. Ich habe es erst später herausgelöst und als eigenständige Library eingebunden. Für ein stabiles, flexibles und mächtiges PHP Framework, gibt es viele andere PHP-Frameworks die besser geeignet sind. Auch in MyVBC gibt es noch einige Sachen, die man schöner, flexibler und robuster machen könnte. Primär sind die beiden Projekte auf meinen Use-Case zugeschnitten. Wenn jemand daran Interesse hat, feel free to use. Forkt das Projekt, stellt fragen und beteiligt euch.

MyVBC bietet unter anderen:

  • Eine Mitgliederverwaltung (Stammdaten wie Anschrift/ Adresse und was dazu gehört)
  • Eine Teamverwaltung um zu erfassen, welche Teams wir haben und insbesondere, wer in welchen Teams spielt.
  • Eine Lizenzverwaltung, damit unsere Teamverantwortlichen die Volleyball Lizenzen bestellen können.
  • Eine Spielverwaltung, um einen Überblick über unsere Spiele zu haben. Die Spieldaten werden hierbei automatisch via Schnittstelle unseres Verbandes Swiss Volley Region Solothurn sowie Swiss Volley eingetragen.
  • Eine Schreiberverwaltung, um unseren Spielen, einfach und schnell einen Schreiber zuzuweisen inkl. automatische Benachrichtigung via SMS. (Im Volleyball müssen die Spiele protokoliert werden, dazu werden die Schreiber benötigt).
  • Eine Schlüssenverwaltung, um um unsere diversen Schlüssen den Personen zuzuordnen.
  • Diverse Reports um einfache Auswertungen zu machen.

Hier ein paar Screenshots:

Wenn Ihr MyVBC ausprobieren wollt, könnt ihr alles dazu via Github herunterladen. Ich habe vor kurzen auch einen Installer/Updater für die Datenbank geschrieben. Wenn jemand Interesse hat, oder Mühe hat beim Ausprobieren, setzt euch einfach mit mir in Verbindung. Gerne versuche ich zu helfen. Ee hat sicher noch viel Verbesserungspotential. Übrigens, MyVBC lässt sich auch via Openshift z.B. auf Appuio betreiben. Ich werde versuchen, mal dazu noch etwas zu dokumentieren.

Zurück zu Mailman, unser Verein hat eine Mailliste um alle aktiven Mitglieder zu erreichen. Was liegt als näher, als die Daten aus MyVBC zu verwenden? Leider hat Mailman in der 2.x Version keine brauchbare Schnittstelle. Deshalb habe ich dazu eine einfache PHP API geschrieben. Auch diese findet ihr auf Github. Die API mach HTTP Request auf die Mailman Admin Webseiten. Mit Hilfe von etwas HTTP Response und HTML Parsing kann ich so die Cookie Authentifizierung abgreifen, den CSRF-Token der Forms hohlen und damit via PHP API Interface Member in der Mailliste verwalten. Eine Anleitung dazu findet Ihr im README auf Github. Die PHP API habe ich nur mit Version 2.1.10 von Mailman getestet! Keine Garantie, dass es für alle Versionen geht. Insbesondere hängt die API stark von HTML Layout ab um auf die Daten zuzugreifen. Somit werden nun endlich die Mitglieder automatisch mit Mailman abgeglichen.

Kommentar verfassen