Kalender-Instanzen sollen ausschließlich über den zum Konto gehörenden Kalender Konfigurator erstellt werden.
Der Konfigurator übernimmt automatisch den Kalendernamen, die interne Kalender-ID, die Anbieter-ID, die Farbe, die Schreibrechte und die Verbindung zum richtigen Kalender Konto. Werden Kalender-Instanzen stattdessen manuell angelegt, kopiert oder nur über Gateway ändern verbunden, fehlen diese Informationen. Solche Instanzen heißen zunächst lediglich „Kalender“ und können insbesondere bei Konten mit mehreren Kalendern nicht eindeutig zugeordnet werden.
Empfohlene Reihenfolge:
OpenCalendar verarbeitet Konto-, Kalender- und Termindaten grundsätzlich auf der eigenen Symcon-Installation. Das Modul enthält keine eigene Telemetrie und übermittelt Kalenderinhalte nicht an einen Backenddienst des Modulautors. Bei OAuth-Anbindungen werden jedoch die jeweils notwendigen Dienste von Google, Microsoft und Symcon verwendet.
Vor dem Verbinden eines externen Kontos sollten die Datenschutzhinweise gelesen werden. Ergänzend gelten die Nutzungsbedingungen sowie die Bedingungen der jeweils verwendeten Drittanbieter.
Die Google-Anbindung verwendet den zentral registrierten OAuth-Dienst von Symcon. Anwender benötigen keine eigene Google-Client-ID und keinen Clientschlüssel. Voraussetzung ist lediglich eine aktive Symcon-Connect-Verbindung.
Im Kalender Konto wird als Anbieter Google Calendar gewählt und anschließend Google-Konto verbinden aufgerufen. Nach der Anmeldung und Zustimmung bei Google genügt Jetzt synchronisieren. Die gefundenen Kalender werden danach über den zugehörigen Kalender Konfigurator angelegt.
Eine mit einer älteren OpenCalendar-Version über einen persönlichen Google-OAuth-Client hergestellte Verbindung muss nach dem Update einmal neu verbunden werden. Der frühere persönliche Client wird danach nicht mehr verwendet.
OpenCalendar fordert nur
https://www.googleapis.com/auth/calendar.calendarlist.readonly zum Auflisten
der abonnierten Kalender sowie
https://www.googleapis.com/auth/calendar.events zum Lesen und Verwalten von
Terminen an. Das benutzerspezifische Aktualisierungstoken wird als internes
Attribut der Kalender-Konto-Instanz gespeichert; kurzlebige Access-Tokens
liegen nur im Instanzpuffer.
Der gemeinsame Google-OAuth-Client wird einmalig außerhalb des Repositorys eingerichtet. Diese Einrichtung ist nicht von jedem Anwender durchzuführen:
https://oauth.ipmagic.de/forward/opencalendar_google hinterlegen.opencalendar_google beim
Symcon-OAuth-Dienst registrieren lassen.Da die Redirect-URI auf der Symcon-Domain ipmagic.de liegt, muss die
Einrichtung mit Symcon abgestimmt werden. Google erlaubt Redirect-Domains nur,
wenn der Projektverantwortliche sie besitzt oder ausdrücklich verwenden darf;
für die Google-Domainprüfung kann daher Unterstützung durch Symcon erforderlich
sein.
Für einen ersten Entwicklungstest kann die Google-App im Status Testing bleiben und das verwendete Google-Konto als Testnutzer eingetragen werden. Google lässt bei einer externen Test-App mit Kalenderscopes das Refresh-Token jedoch nach sieben Tagen ablaufen. Ein dauerhafter Betrieb setzt deshalb den Produktivstatus und die gegebenenfalls erforderliche Verifizierung voraus.
Clientschlüssel und andere zentrale App-Zugangsdaten gehören nicht in das Repository. Google beschreibt den verwendeten OAuth-Ablauf für Webserver-Anwendungen und die Kalenderberechtigungen.
Die Microsoft-Anbindung ist für Anwender bewusst ohne eigene App-Registrierung aufgebaut. Voraussetzung ist lediglich eine aktive Symcon-Connect-Verbindung. Im Kalender Konto wird als Anbieter Microsoft 365 gewählt und anschließend Microsoft-Konto verbinden aufgerufen. Die Anmeldung und Zustimmung erfolgen direkt bei Microsoft; Client-ID und Clientschlüssel werden dem Anwender nicht angezeigt und müssen nicht in Symcon hinterlegt werden.
OpenCalendar fordert ausschließlich delegierten Kalenderzugriff an. Unterstützt werden Microsoft-365-Geschäfts-/Schulkonten sowie persönliche Microsoft-Konten wie Outlook.com. Das Modul kann die eigenen Kalender auflisten und – entsprechend den von Microsoft gemeldeten Kalenderrechten – Termine lesen, erstellen, ändern und löschen. Mail, Kontakte, OneDrive und Teams-APIs werden nicht angefordert.
Der benutzerspezifische Refresh-Token wird als internes Attribut der Kalender-Konto-Instanz gespeichert; kurzlebige Access-Tokens werden nur im Instanzpuffer gehalten.
Für die Veröffentlichung muss der gemeinsame OAuth-Client einmalig außerhalb des Repositorys eingerichtet werden. Diese Einrichtung ist nicht von jedem Anwender durchzuführen:
https://oauth.ipmagic.de/forward/opencalendar_microsoft hinterlegen.Calendars.ReadWrite sowie den OAuth-Scope offline_access
freigeben.opencalendar_microsoft beim Symcon-OAuth-Dienst registrieren lassen. Dabei
Client-ID, Client-Schlüssel, Microsoft-Autorisierungs-/Token-Endpunkte und
die benötigten Scopes an Symcon übermitteln.Client-Schlüssel oder andere zentrale App-Zugangsdaten gehören nicht in das Repository. Erst nach dieser einmaligen serverseitigen Registrierung kann der Microsoft-Login produktiv durchlaufen.
Folgende Module beinhaltet das Repository:
Kalender Konto (Dokumentation)
Verbindet Apple-iCloud-, Google-Calendar-, Microsoft-365-/Outlook.com- und CalDAV-Konten, bündelt mehrere iCalendar-Abonnements in einem Konto, hält eine geprüfte Feed-Rückfallebene vor, löst wiederkehrende Feed-Termine lokal auf und stellt die Kalender bereit.
Kalender Konfigurator (Dokumentation)
Findet Kalender eines Kontos und legt Kalenderinstanzen an.
Kalender (Dokumentation)
Repräsentiert einen einzelnen Online-Kalender.
Kalender Ansicht (Dokumentation)
Führt mehrere Kalender in einer modernen Kachelansicht zusammen.