- PHP 82.4%
- CSS 13.6%
- JavaScript 4%
|
All checks were successful
Test / create-and-publish (push) Successful in 3s
|
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| mod_eventlist | ||
| updates | ||
| README.md | ||
CCW Veranstaltungsliste
Dieses Projekt enthält den Source Code für ein Joomla-Modul, das eine Veranstaltungsliste aus den Daten der Joomla-Erweiterung iCagenda für das Veranstaltungsmanagement erzeugt.
Grundidee: eine Liste der aktuellen Veranstaltungen (speziell der Kurse), sortiert nach Wochentag und Uhrzeit, mit den geplanten Terminen.
Beispiel
Funktionen
- Liste aller aktuellen Veranstaltungen (d.h. die Termine in der Zukunft haben)
- Sortiert nach Wochentag und Uhrzeit
- Anzeigte Informationen:
- Veranstaltung: Titel der Veranstaltung plus Kurzbeschreibung. Der Titel ist ein Link zu den Veranstaltungsdetails mit Registrierungsmöglichkeit
- Wochentag und Uhrzeit: Um diese Informationen zu ermitteln wird aktuell der letzte eingeplante Termin verwendet. Wenn die Veranstaltungstermine an unterschiedlichen Wochentagen oder zu unterschiedlichen Uhrzeiten stattfinden, bleibt dieses Feld leer und in dem Feld "Die nächsten Termine" werden alle Termine mit Datum und Uhrzeit angezeigt.
- Termine: alle eingeplanten Termine in Kurzform (Tag und Monat)
- Filtermöglichkeit nach Veranstaltungstyp: Es werden die Typen "Informationsveranstaltung", "Offene Veranstaltungen" und "Feste Kurse" unterschieden. Diese müssen in iCagenda als Kategorien eingerichtet und den Veranstaltungen zugewiesen werden. Bei Informationsveranstaltungen und offenen Veranstaltungen wird zusätzlich ein Hinweistext angezeigt.
Nachteile und mögliche Probleme
Die Implementierung setzt Kenntnis der iCagenda Datenbankstruktur voraus. Das könnte Probleme bei zukünftigen iCagenda-Updates geben.
Installation und Konfiguration
Das Modul wird als "Erweiterung" in Joomla installiert. Es erscheint dann unter "Inhalt -> Site Module" und muss dort aktiviert und konfiguriert werden. In der Konfiguration des Moduls sind folgende Angaben erforderlich:
- Pfad-Element zu den Veranstaltungsdetails:
- Die Ids der Veranstaltungskategorien
Beispiel:
Für das Modul ist ein Update-Server eingerichtet, d.h. neue Versionen des Moduls können automatisch in Joomla installiert werden. Wenn eine neue Version bereitsteht, wird das dem Joomla-Administrator im Dashboard gemeldet und er kann mit einem Klick die neue Version einspielen.
Ideen für spätere Erweiterungen
- Den Buchungsstatus anzeigen, also z.B. "Keine Buchung erforderlich", "Ausgebucht", "Noch 2 Plätze frei"
- Bei ausgebuchten Kursen direkt einen Link zur Warteliste anzeigen (sofern vorhanden). Das müsste man vermutlich über ein "Custom Field" lösen.
- Bei freien Plätzen direkt einen Link zur Registrierung einbauen
Entwicklung
Codeverwaltung
Der Source Code für das Modul liegt in dem öffentlichen Repository https://codeforge.faloan.de/public/ccw-icagenda-eventlist.
Neue Releases herausgeben
Zum Bauen eines neuen Releases wird im Forgejo Repository ein neues Release erstellt. Das stößt einen Workflow an, der die ZIP Datei für das Modul baut und in der Registry ablegt. Von dort aus kann es mit dem Joomla Updateverfahren heruntergeladen werden. Die Release-Bezeichnung muss aus der Versionsnummer plus einem vorangestellten "v" bestehen, also z.B. "v1.0.2".
Um das neue Release bekannt zu machen, muss im nächsten Schritt noch die Datei updates/updates.xml bearbeitet und im Branch main im Repository eingecheckt werden. Diese Datei wird von Joomla gelesen, um zu ermitteln, ob es neue Versionen gibt.