Viele Radgruppen haben regelmäßige Fahrten - die Montag-Morgen-Pendlergruppe, die Abenteuerfahrt am ersten Samstag des Monats oder die gesellige Mittwochabend-Runde. Bisher mussten Organisatoren jedes Event manuell erstellen. Mit unserer neuen Funktion für Wiederkehrende Partys können Sie einmal einen Zeitplan einrichten und Party Onbici automatisch Instanzen generieren lassen.
Das Problem mit Einzelevents
Gemeinschaftliche Radgruppen haben typischerweise vorhersehbare Zeitpläne:
- “Jeden Dienstag und Donnerstag um 6:30 Uhr”
- “Jeden ersten Sonntag im Monat”
- “Jeden zweiten Samstag morgens”
Diese Events manuell zu erstellen ist mühsam, fehleranfällig und erschwert die Aufrechterhaltung konsistenter Routen und Einstellungen zwischen den Terminen.
Einführung von iCalendar RRULE
Wir haben unser System für wiederkehrende Events auf dem iCalendar RRULE-Standard (RFC 5545) aufgebaut. Dies ist dasselbe Format, das von Google Calendar, Apple Calendar und Outlook verwendet wird - und gewährleistet Kompatibilität mit dem breiteren Kalender-Ökosystem.
Beispiele für Wiederholungsmuster
| |
Das Datenmodell
Eine RecurringParty dient als Vorlage, die Party-Instanzen generiert:
| |
Jede generierte Party-Instanz verweist zurück auf ihr Elternelement:
| |
Instanzgenerierung
Wenn eine wiederkehrende Party erstellt wird oder sich der Zeitplan ändert, generieren wir Instanzen für den kommenden Zeitraum:
| |
Automatische Generierung mit Celery Beat
Eine tägliche Celery-Aufgabe hält die Instanzen aktuell:
| |
Der Celery Beat-Zeitplan führt dies um Mitternacht aus:
| |
Benutzeroberfläche
Erstellen einer Wiederkehrenden Party
Das Formular verwendet das django-recurrence Widget zum Erstellen von RRULE-Mustern:
| |
Das Widget bietet eine intuitive Oberfläche für gängige Muster:
- Täglich / Wöchentlich / Monatlich / Jährlich
- Bestimmte Wochentage
- Ordinale Muster (erster, zweiter, letzter)
- Benutzerdefinierte Intervalle (alle 2 Wochen)
- Endbedingungen (bis zu einem Datum, nach N Terminen oder nie)
Verwaltung von Instanzen
Organisatoren können alle generierten Instanzen einsehen und:
- Einzelne Instanzen bearbeiten - Route oder Zeit für einen Termin ändern
- Instanzen absagen - Bestimmte Termine als abgesagt markieren
- Instanzen neu generieren - Generierung für die nächsten 30 Tage manuell auslösen
Umgang mit Sonderfällen
Zeitzonen-Bewusstsein
Alle Daten werden in der konfigurierten Zeitzone des Organisators gespeichert und in der lokalen Zeit des Betrachters angezeigt:
| |
Feiertags- und Ausnahmebehandlung
Benutzer können einzelne Instanzen absagen, ohne das wiederkehrende Muster zu beeinflussen:
| |
Abgesagte Instanzen erscheinen weiterhin in der Liste mit einem visuellen Indikator, um Verwirrung zu vermeiden.
Verwaiste Instanzen
Wenn eine wiederkehrende Party gelöscht wird, können generierte Instanzen optional erhalten bleiben:
| |
Das Benutzererlebnis
Das Erstellen einer wöchentlichen Fahrt dauert nur wenige Schritte:
- Gehen Sie zu Dashboard → Wiederkehrende Partys → Erstellen
- Legen Sie Ihre Party-Details fest (Route, Zeiten, Schwierigkeit)
- Konfigurieren Sie das Wiederholungsmuster (z.B. “Jeden Samstag um 8 Uhr”)
- Legen Sie das Startdatum und optionales Enddatum fest
- Speichern - Instanzen werden automatisch generiert!
Das System erstellt Party-Instanzen 30 Tage im Voraus, und Celery generiert kontinuierlich neue, während die Zeit vergeht.
Vorteile für Rad-Communities
- Einrichten und vergessen - Keine wöchentliche Event-Erstellung mehr
- Konsistenz - Gleiche Route, gleiche Zeit, gleiche Einstellungen
- Flexibilität - Einzelne Termine bearbeiten oder absagen
- Entdeckung - Radfahrer können leicht regelmäßige Gruppenfahrten finden
- Kalender-Integration - Abonnieren Sie wiederkehrende Events in Ihrer Kalender-App
Bereit, Ihre regelmäßige Fahrt einzurichten? Erstellen Sie eine wiederkehrende Party und lassen Sie uns die Planung übernehmen!