Nextcloud-Kalender in Moodle per URL importieren

Hi,
ich glaube, das Problem hat nichts mit Linuxmuster zu tun, daher poste ich es mal hier.

Ich kann Nextcloud-Kalender problemlos in andere Anwendungen importieren, auch über die URL (was praktisch ist, weil die Kalender dann aktuell bleiben).

Nur bei Moodle klappt das nicht. Wenn ich da die Nextcloud-Kalender-URL reinpaste, gibt es eine Fehlermeldung (eine nichtssagende). Wenn ich aber bei Nextcloud den Kalender als ical Datei herunterladen, kann ich das bei Moodle problemlos importieren.

Hat da jemand einen Tipp?

Gruß, Andreas

Hallo,

ich glaube, das Problem hat nichts mit Linuxmuster zu tun, daher poste
ich es mal hier.

Ich kann Nextcloud-Kalender problemlos in andere Anwendungen
importieren, auch über die URL (was praktisch ist, weil die Kalender
dann aktuell bleiben).

Nur bei Moodle klappt das nicht. Wenn ich da die Nextcloud-Kalender-URL
reinpaste, gibt es eine Fehlermeldung (eine nichtssagende). Wenn ich
aber bei Nextcloud den Kalender als ical Datei herunterladen, kann ich
das bei Moodle problemlos importieren.

ich meine, dass moodle das nicht kann: einen externen Kalender per
CalDAV einbinden.
Vielleicht gibt es ein plugin dafür??

LG

Holger

Mir ist nicht so ganz klar, was Moodle kann. Man kann Kalender per url abonnieren:

https://docs.moodle.org/37/en/Calendar_import

Und im Fall von Google-Kalender bleibt das dann auch aktuell. Aber welches Format das genau ist, steht da nicht. Da steht nur, dass Moodle „ical“ kann, ist das nicht das Gleiche wie calDav?

Hallo,

Und im Fall von Google-Kalender bleibt das dann auch aktuell.

das liegt wohl dran, dass google das per ical raus gibt.

Aber
welches Format das genau ist, steht da nicht. Da steht nur, dass Moodle
„ical“ kann, ist das nicht das Gleiche wie calDav?

ich glaube nein.

ical ist von Apple:

CalDAV ist frei:

Aber irgendwie hängen die schon miteinander zusammen:

Ich glaube, die Einträge haben das gleiche Format (iCalendar) aber die
Übertragung unterscheidet sich.
Sicher bin ich mir nicht …

LG

Holger

Klingt aber plausibel, was Du sagst, sowas ähnliches hatte ich auch vermutet.

Wir pflegen unseren Schulkalender in Nextcloud (mit einem extra dafür eingereichteten Nutzer, damit beim Teilen nicht immer der Name des Kalenderpflegers erscheint).
Dieser Kalender ist für die Schulleitung schreibend, für das Kollegium lesend freigegeben.

Wir wollten ihn auch auf Moodle und unserer Homepage - da geht aber tatsächlich nur ein ICS-Abonnement (CalDAV ist eins der wenigen Dinge, die ich bei Moodle vermisse - ich kann es technisch allerdings nachvollziehen, da im Moodle-Kalender eben auch die Kurstermine liegen, trotzdem wäre das genial).

Da unser Kalender öffentlich ist, bedienen wir uns eines kleines, feinen Tools, mit dem ein Skript eine ICS-Datei aus dem Kalender macht:

#!/bin/bash
# https://github.com/BernieO/calcardbackup/blob/v0.8.7/README.md
# lang lebe freie Software! :-)

cal="corvi-Termine_(aktuell)"

# zu tmp wechseln (sonst rechteprobleme für www-data)
cd /tmp

# leeren evtl. alter terminplan-backups
rm -rf /tmp/ccb

# backup der kalender mit calcardbackup
sudo -u www-data /opt/calcardbackup/calcardbackup /opt/nextcloud -na -b -o /tmp/ccb -x -u /opt/calcardbackup/users.txt > /dev/null

# auswählen des richtigen Kalenders
find /tmp/ccb -name $cal.ics -exec mv -t /tmp/ccb {} + > /dev/null

# hänge leere zeilen an (sonst wird die letzte gelöscht)
sed -i -e '$a\\n' /tmp/ccb/$cal.ics

# entferne "CANCELLED"-Blöcke (yeah, SED!)
sed -e '/BEGIN:VEVENT/i\ ' -e '/END:VEVENT/a\ ' /tmp/ccb/$cal.ics | sed '/BEGIN:VEVENT/,/END:VEVENT/{H;d;};x;/STATUS:CANCELLED/d' | sed '/^ $/d'  > /var/www/html/termine.ics

# räume auf
rm -rf /tmp/ccb

Damit ist die ICS-Datei öffentlich lesbar und kann bei Moodle und auf unserer Homepage gepostet werden.

Wir haben auch noch ein kleines Flask-Programm geschrieben (war damals eine Fingerübung), um den Kalender auszulesen und in eine Listenform (zum Drucken, für Bildschirme, etc.) zu bringen - einsehbar unter https://termine.corvi.schule - bei Interesse stelle ich das auch mal zur Verfügung.

Viele Grüße
Thomas

3 „Gefällt mir“

Besten Dank!
Es wird bei uns demnächst Beratungen darüber geben, wie der Kalender umgesetzt werden soll. Ich persönlich finde es exakt so, wie Du es machst, optimal (Moodle wird von vielen intensiver genutzt als Nextcloud, da ist es sinnvoll, wenn der Kalender da rein informativ auch erscheint).
Gruß, Andreas

Hallo Thomas.
Ich habe das mittlerweile auch so umgesetzt und calcardbackup auf dem Nextcloud-Host installiert. Funktioniert super!

Die Kalender, die unter Nextcloud laufen, erscheinen nun auch automatisch unter moodle. Auf diesem Weg kann man wirklich sehr gut das „Problem“ umschiffen, dass moodle selbst kein CalDAV kann!

Die Kalender-Abos sehen hier jetzt so aus:

Nutzt hier jemand auch CardDAV? Das könnte auch nochmal ganz interessant werden, wenn der eMail-Server erstmal läuft?!?

Schöne Grüße,
Michael

1 „Gefällt mir“

Hallo,
inzwischen nutzen wir in unserem Moodle (Version 3.9.14) auch den Nextcloud-Kalender über CalDAV, so dass kein Workaround mehr notwendig ist :slightly_smiling_face:.

Viele Grüße
Jürgen

1 „Gefällt mir“

Ich hänge am selben Problem. Der Script-Lösungs-Workaround ist mir zu hoch. Daher wäre ich interessiert, wie das mit CalDaV und Moodle bei euch exakt funktioniert.
Betreibt ihr euer eigenes Moodle? Gibt’s dann ein Plugin?
Wir arbeiten mit dem BelWue-Moodle und da wird mein Nextcloud-Link wegen falschem Format abgelehnt.

Wenn’s nicht hierher gehört, mache ich das gerne nochmals separat auf.

Grüße und Danke!
Martin

Hallo,

ich nutze auf dem NC-Server ein perl-Skript, das eine ical-Datei von allen NC-Kalendern macht. Die wird in Moodle per Cron importiert. Das klappt seit Jahren problemlos.

Viele Grüße
Steffen