Die Kalenderfunktion der Nextcloud bietet eine Vielzahl von Möglichkeiten: Vom einfachen Familienkalender bis hin zum Buchungszentrum lässt sich mit wenigen Handgriffen viel umsetzen. Besonders einfach lassen sich Nextcloud-Kalender auf der eigenen Homepage einblenden, so dass Besucher zu verschiedenen Themen aktuelle Terminübersichten erhalten können. Zusätzlich kann man das Abonnieren der Kalender anbieten, so dass die neuen Termine direkt in den Kalenderanwendungen der Interessenten eingeblendet werden.
Nextcloud-Vorbereitung
Zunächst legt man einen oder mehrere Kalender, die man teilen möchte, wie gewohnt in der Nextcloud an. Die Termine können mit Ortsangaben, ergänzenden Notizen, Alarmzeiten usw. versehen werden:
In der linken Seitenleiste lässt sich durch einen Klick neben den Kalendernamen ein Freigabemenü öffnen. Wir benötigen aus diesem Menü die Punkte "Abonnement-Link kopieren" und "Einbettungscode kopieren".
Damit ist die Vorarbeit erledigt. Nun binden wir die Informationen auf unserer Homepage ein.
Statische Seite mit Markdown-Editor erzeugen
Einbettungslinks sind für die meisten Homepage-Layouts suboptimal. Wenn man z. B. die Monatsansicht des Kalenders einblenden möchte, so zerstört das oft das schmale Layout. Je nach verwendetem System könnte man nun eine Seite anlegen, die genügend Raum bietet. Oder man erstellt gleich eine HTML-Seite, auf die man verlinkt. Das kann man einfach mit einem Markdown-Editor (hier: Typora) erledigen.
Dazu kopiert man in ein Code-Feld den iframe-Einbettungscode im HTML-Format ein (1). Den Abonnement-Link weist man einem erklärenden Text zu (2). Weitere Links können zusätzliche Nextcloud-Kalender einblenden.
In den Standard-Einstellungen enthält der iframe-Code ein zu kleines Anzeigefenster für den Kalender. Aber die Größe lässt sich leicht über die Parameter "width" und "height" anpassen.
Die Markdown-Editoren haben in den Regel den Export ins HTML-Format eingebaut. Also: Die Markdown-Seite in HTML speichern und z. B. via SFTP auf den eigenen Web-Speicher hochladen. Ein Link innerhalb der Homepage führt dann zum Kalenderbereich:
Die Besucher können auf die verschiedenen Ansichten umschalten - Woche, Monat, Jahr, Liste - oder einen bestimmten Zeitraum auswählen. Mit dem Link, der sich hinter "Kalender-Abo" verbirgt, kann man die Termine in die üblichen Kalenderanwendungen - etwa Thunderbird, Evolution oder Gnome-Kalender - einbinden. Damit erfährt man rechtzeitig von Terminänderungen oder von neuen Terminen. Die Zusatzinfos in den Bemerkungsfeldern werden ebenfalls angezeigt:
Wenn man ohnehin eine Nextcloud nutzt, erhält man so auf einfache Weise die Möglichkeit, einen oder mehrere Info-Kalender auf seiner Homepage einzubinden.
Das ist nur eine reine Kalenderanzeige, man kann damit keine freien Termine buchen oder vereinbaren? Das wäre ein wichtiges Feature für jeden Friseur, Arzt oder für alle die mit Zeitfenstern arbeiten. Wird bei der Abo-Funktion ein Konto angelegt und sendet NC dann für jede einzelne Änderung eine Extra-Email, also so wie eine Art Newsletter, und das geht DSGVO-konform? Open Source und zum selbst-hosten habe ich sonst auf die schnelle diese beiden Projekte https://github.com/calcom/cal.com Homepage https://cal.com/de/ und https://ui.toast.com/tui-calendar gefunden.
In diesem Artikel habe ich mich auf die Anzeige-Funktion konzentriert. "Abonnieren" bedeutet, dass man den generierten Link ein eine Kalenderanwendung aufnimmt, die mit derartigen Links umgehen kann - das ist z. B. der Thunderbird-Kalender. Die Kalenderansicht innerhalb des Programmes zeigt dann die neuen Ereignisse an - es werden also keine Links per Mail verschickt. Die Terminbuchungsfunktion erfordert etwas mehr Einarbeitung. Für kleinere Vorhaben - etwa Timeslots und Belegung von Dozentensprechstunden - kann sie auch auch gut funktionieren. Für Arztpraxen, Friseure usw. gibt es andere fix-und-fertig-kommerzielle Systeme, die dann auch Bestätigungen via SMS verschicken.
ja nennt sich doctolib und ähnliche
Für die Terminbuchung stellt Nextcloud eine weitere App zur Verfügung: Appointments (Termine). Damit kann man einen weiteren Weblink z.B. in seine Website einblenden oder versenden, wo dann eizelne vorausgewählete Termine gebucht werden können. Diese Ansicht läßt sich recht weitgehend konfigurieren. Auch viele Managed Nextclouds enthalten diese App. Hier eine ganz gute Anleitung: https://blog.admin-intelligence.de/appointments-die-nextcloud-app-fuer-terminvereinbarungen/
Wenn ich mich nicht täusche, kann man seit einigen Versionen mit der integrierten Funktion "Terminplan" das meiste umsetzen, was die zusätzliche App Appointments kann. Dunkel habe ich in Erinnerunger, dass Appointments etwas mehr kann - aber mit Bordmitteln kommt man auch schon recht weit.
Kleiner App-Tipp: Zur Einbindung in die eigene Homepage könnte man auch https://fullcalendar.io/ verwenden. Monats-, Wochen- oder Tageslistenansichten werden ebenso unterstützt. Es wird aktiv entwickelt und den Source Code gibt es hier https://github.com/fullcalendar/fullcalendar
Danke für den Tipp! Kannte ich noch nicht - schaue ich mir an. Falls jemand keine Nextcloud hat, könnte das eine gute Alternative sein.
Merci! – Gibt es auch eine Möglichkeit nur die Verfügbarkeit, also frei / besetzt zu publizieren?
Es gibt zwar die Option - für jeden einzelnen Termin - nur "beschäftigt" anzuzeigen. Die ist aber hauptsächlich für die Nutzer innerhalb der gleichen Nextcloud-Instanz gedacht. Wenn man den Kalender abonniert, sind die Inhalte sichtbar. Allerdings scheint es so zu sein, dass beim bloßen Einblenden auf einer Webseite der Termin mit "beschäftigt" eingeblendet wird - habe ich mir aber noch nicht näher angeschaut.
In der Nextcloud Dokumentation wird noch beschieben wie die Standard-Ansicht des Kalenders geändert werden kann und wie mehere Kalender zusammen eingeblendet werden können: https://docs.nextcloud.com/server/latest/user_manual/de/groupware/calendar.html#publishing-a-calendar
Guter Hinweis! Das mit mehreren Kalendern habe ich bisher noch nicht ausprobiert, aber wäre ja eine ideale Sache z. B. für unterschiedliche Jahrgänge an Schulen (Ausflüge, Klausurtermine). Danke Dir für den Hinweis!
Das ist auch ein guter Tipp! Die Listenansicht wäre z. B. in vielen Fällen ein besserer Startpunkt, da die recht übersichtlich ist. Danke!
Hallo @Herbert Hertramph, vielen Dank für die ausführlichen Infos dazu sowie die Idee mit einer Markdownseite und dann nach HTML exportieren, sehr gute Idee!
sehr schöner Artikel. Hat mich gereizt das mal aus zu probieren. War gar nicht so scher https://dxupara.de/kalendertest/ Falls noch wer, wie ich in dem Bsp. Hugo verwendet. Hier muss um iframes nutzen zu können, folgernder Code in der config.toml ergänzt werden:
[markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true
Ist gut geworden :-) Danke auch für den Hugo-Hinweis!
leider im Moment kaputt, weil Hetzner, mich mit Support nach missglücktem Update hängen lässt.
bzgl Hugo. Beachte dass nach jeder schließenden Klammer ein Zeilenumbruch kommt. Der Kommentar hat leider die Formatierung gefressen.
hier nochmal sauber formatiert
hier nochmal sauber formatiert