Zum Hauptinhalt springen

Kalender

Libre WebUI enthält einen persönlichen Kalender. Jeder angemeldete Benutzer erhält eigene Monats- und Wochenansichten mit einmaligen und wiederkehrenden Terminen. Geplante Automatisierungen zeigen ihre nächsten Ausführungen und den Verlauf im selben Raster.

Termine

Ein Termin hat einen Titel, optionale Notizen, Startzeit, optionale Endzeit, eine Ganztagsmarkierung und eine optionale Wiederholungsregel. Titel und Notizen werden im Ruhezustand mit derselben Hülle wie Chats und Notizen verschlüsselt.

Wiederholungen verwenden das gemeinsame Auslösermodell:

ArtFelderBedeutung
onceatEinmalige Ausführung
hourlyminute, startHour?, endHour?Stündlich innerhalb eines Fensters
dailyhour, minuteTäglich zu einer lokalen Uhrzeit
weeklydayOfWeek, hour, minuteWöchentlich an einem gewählten Tag
monthlydayOfMonth, hour, minuteMonatlich an einem gewählten Tag
yearlymonth, dayOfMonth, hour, minuteJährlich an einem gewählten Datum

Wiederkehrende Termine werden einmal gespeichert. Bereichsabfragen erweitern sie serverseitig: Jede projizierte Ausführung trägt eine baseEventId zum Ursprung, sodass dessen Änderung alle zukünftigen Ausführungen aktualisiert. Ein dayOfMonth hinter dem Monatsende wird auf den letzten Tag begrenzt. Alle Berechnungen verwenden die lokale Zeitzone des Servers.

Benannte Kalender und Freigabe

Neben dem persönlichen Standardbereich kann ein Benutzer bis zu 20 benannte Kalender mit optionaler Anzeigefarbe erstellen. Termine haben eine optionale calendarId; ohne sie gehören sie zum privaten Standardbereich.

Benannte Kalender verwenden das gemeinsame Freigabemodell: read erlaubt dem Empfänger, Kalender und Termine neben den eigenen zu sehen; write erlaubt zusätzlich Erstellen und Bearbeiten. Von Mitwirkenden erstellte Termine werden unter dem Konto des Kalenderbesitzers gespeichert, sodass Kontingente, Löschung und portables Archiv dem Besitzer zugeordnet bleiben. Der Zugriff wird bei jeder Anfrage neu geprüft; ein Widerruf blendet den Kalender bei der nächsten Abfrage aus. Beim Löschen werden Termine in den Standardbereich des Besitzers verschoben und Freigaben entfernt.

Erinnerungen

Ein Termin kann einen Erinnerungsabstand tragen (reminderMinutes, bis zu 14 Tage). Der geleaste Zyklus des Automatisierungsplaners durchsucht fällige Erinnerungen und veröffentlicht calendar-reminder im Posteingang des Besitzers. Ein Compare-and-set pro Ausführung verhindert erneutes Auslösen, auch bei Wiederholungen.

ICS-Import und -Export

GET /api/calendar/export?calendarId= lädt einen Kalender (oder Standardbereich) als RFC-5545-.ics herunter: UTC-Zeitstempel, maskierter Text, grundlegende RRULEs aus den nativen Arten und VALARM-Blöcke. POST /api/calendar/import akzeptiert eine ICS-Nutzlast (bis 2 MB / 1,000 Termine) in einem beschreibbaren Kalender. Der Import unterstützt UTC- und schwebende Zeiten, ganztägige DATE-Werte und einfache FREQ-Regeln. Nicht genau darstellbare Regeln (INTERVAL, COUNT, UNTIL, EXDATE) importieren den Termin ohne Wiederholung und werden als verworfen gezählt, statt still abzuweichen.

Modellzugriff

Drei integrierte Chatwerkzeuge geben Modellen Zugriff unter der Identität des aufrufenden Benutzers: list_calendar_events (nur Lesen), create_calendar_event und delete_calendar_event (mit Nebenwirkung und daher im üblichen Freigabeablauf).

API

Alle Endpunkte erfordern Authentifizierung. Lesezugriffe umfassen eigene Termine und freigegebene Kalender; Schreiben erfordert Besitz oder Schreibfreigabe.

MethodePfadZweck
GET/api/calendar/events?from=&to=Termine im Bereich, Wiederholungen erweitert
POST/api/calendar/eventsTermin erstellen
PUT/api/calendar/events/:eventIdTermin aktualisieren
DELETE/api/calendar/events/:eventIdTermin löschen
GET/api/calendar/calendarsEigene und freigegebene benannte Kalender
POST/api/calendar/calendarsBenannten Kalender erstellen
PUT/api/calendar/calendars/:idKalender umbenennen oder Farbe ändern
DELETE/api/calendar/calendars/:idKalender löschen (Termine werden abgetrennt)
GET/api/calendar/exportICS-Export
POST/api/calendar/importICS-Import

Bereichsabfragen verwenden from/to in Epochenmillisekunden und umfassen höchstens 13 Monate pro Anfrage. Ein Benutzer kann bis zu 2000 Termine speichern; Titel sind auf 200 Zeichen und Notizen auf 10,000 begrenzt.