CalDav Invitations trotz Baikal

Im Internet sind immer wieder Beschwerden darüber zu finden, dass mit einer Baikal-Instanz als Kalender-Server keine Einladungen an Personen geschickt werden kann, was Google-Mail, Outlook und Konsorten allerdings von Haus aus mitbringen. Auch der kostenlose Mail-Client Thunderbird kann, zusammen mit dem kostenfreien Lightning-Kalender-Plugin, solche Mails verschicken, aber eben nur so lange, bis Termine zu einem mit Baikal sychronisierten Kalender hinzugefügt werden sollen.

Studiert man die Bugtracker des Baikal-Repositories genauer, so schlagen immer wieder Nutzer einen Trick vor, der allerdings in der aktuell von Baikal verwendeten Version von Sabre/dav (das Backend hinter Baikal) überhaupt nicht mehr funktioniert:

$caldavPlugin = new \Sabre\CalDAV\Plugin();
$caldavPlugin->setIMipHandler(
new \Sabre\CalDAV\Schedule\IMip('no-reply@example.org')
);
$server->addPlugin($caldavPlugin);

Diese Erweiterung funktioniert in den aktuelleren Versionen nicht mehr!

Um nun doch erfolgreich Mails mit Einladungen senden zu können, bedarf es eines Tricks, damit Baikal den verwendeten Clients nicht mehr vorgaukelt, Einladungen verschicken zu können. Genau das ist nämlich das Problem: Die Clients (in meinem Fall Thunderbird) denken, die Einladung wird von Baikal versendet, was aber gar nicht passiert. Um die Mails lokal von der verwendeten Software senden zu lassen reicht es aus, das Scheduling-Paket von Baikal zu deaktivieren.

Dazu einfach in der Datei Server.php unter <baikal-root>/Core/Frameworks/Baikal/Core/ die Zeile 171 auszukommentieren:

# $this->server->addPlugin(new \Sabre\CalDAV\Schedule\Plugin());

Nach dieser kleinen Änderung werden die Mails zur Einladung einfach lokal durch die verwendeten Clients abgesendet und verarbeitet. Klar sollte an dieser Stelle allerdings sein, dass das Ganze nicht so komfortable wie eine durch den Server verwaltete Variante ist, da so die Antworten auch durch eben jene Clients verarbeitet werden müssen.

Interessant an der ganzen Geschichte ist allerdings, dass laut diesem Kommentar das ganze Scheduling-Plugin erst für Baikal 2 geplant war.