Terminplaner: Termine erscheinen nicht im Kalender

Liebe OpenDesk-Community,

im Rahmen einer Evaluierungsphase von OpenDesk CE als zentraler Kollaborationsplattform in unserer Organisation bin ich beim Testen auf folgendes Phänomen gestoßen:
Wenn ich aus dem Chat-Modul heraus einen Videokonferenz-Termin mit Hilfe des Terminplaners ([Chat & Zusammenarbeit)](https://OD Doku) erstelle, wird wie erwartet ein Chatraum mit den dazugehörigen Personen erstellt. Im Prinzip funktioniert alles, wie es soll: Die Personen können an der Videokonferenz teilnehmen und auch chatten. Es wird jedoch kein „Blocker“ oder ähnliches in den Kalendern der teilnehmenden Personen für diesen Termin erstellt, es ist also für andere nicht ersichtlich, dass die teilnehmenden Personen für diesen Zeitraum „verplant“ sind. Ist dieses Verhalten so gewünscht? Findet an dieser Stelle keine Synchronisierung der Termine mit den Kalendern der teilnehmenden Personen statt? Oder gibt es hier eine Einstellung, die ich übersehen habe?
Für sachdienliche Hinweise zu diesem Problem bin ich sehr dankbar, denn auf den ersten Blick macht OpenDesk einen sehr guten Eindruck auf mich, hier wurden verschiedene Open-Source-Projekte zu einer tollen Einheit verbunden.

Liebe Grüße
Karl

Nach unseren Tests in openDesk CE ist dieses Verhalten eher erwartbar als ein Konfigurationsfehler.
Der Terminplaner im Chat erzeugt primär einen Matrix-/Chatraum samt Videokonferenzbezug und lädt die beteiligten Personen dorthin ein. Was dabei offenbar nicht passiert: Es wird kein regulärer Kalendereintrag in den persönlichen Kalendern der Teilnehmenden erzeugt, der deren Frei-/Belegt-Zeit blockiert.

Wenn Sie möchten, dass andere die Teilnehmenden in diesem Zeitraum als verplant sehen, sollten Sie den Termin im Kalender-Modul anlegen, idealerweise direkt mit Videokonferenz. Dieser Weg läuft über die eigentliche Kalender-/Einladungslogik.

Nach unserem Stand haben wir keine Einstellung gesehen, die aus dem Chat-Terminplaner heraus automatisch eine Synchronisierung in die persönlichen Kalender aller eingeladenen Personen aktiviert. Ich würde das daher eher als derzeit fehlende Funktion bzw. als bewusste Trennung zwischen Chat-Terminplaner und Kalender verstehen, nicht als übersehene Option.

Falls jemand eine neuere Version oder eine spezielle Enterprise-Erweiterung im Einsatz hat, die das inzwischen anders löst, wäre das natürlich interessant.

Meine technische Einordnung dazu ist eine Inferenz aus Doku und Upstream-Code: NeoDateFix speichert Meeting-Metadaten in Matrix, kann Meetings aus Drittsystemen wie Open-Xchange übernehmen, aber der Chat-Flow erstellt das Meeting nur mit Titel/Beschreibung/Kalenderdaten/Teilnehmern. Zusätzlich gibt es im Widget explizit einen iCalendar-Download zum manuellen Hinzufügen in andere Kalender, was gegen eine automatische Rücksynchronisation Chat → persönliche OX-Kalender spricht.

Quellen:

Vielen Dank für diese ausführlichen Erläuterungen.
Gibt es in OpenDesk CE eine Möglichkeit zur Deaktivierung des Matrix-Terminplaners? Die Kalender-Einladungslogik funktioniert ja nach dem aus dem Exchange-Umfeld bekannten Prinzip und ist für Mitarbeitende auch intuitiv nutzbar. Dass es hier einen „zweiten Weg“ zur Erstellung von Terminen gibt, könnte eventuell zu Missverständnissen führen.

Vielen Dank für die Rückfrage.

Wenn es primär darum geht, Missverständnisse bei Endnutzerinnen und Endnutzern zu vermeiden, wäre aus meiner Sicht zunächst schon eine kleine Betreiberlösung denkbar: Man könnte in Element nur den sichtbaren Einstieg in den Matrix-Terminplaner ausblenden, also den Welcome-Link zum Planner entfernen. Das wäre ein reines UI-Customizing und deutlich kleiner als eine vollständige technische Abschaltung.

Die kleine Variante würde im Kern nur die Element-Konfiguration betreffen, konkret welcomeUserId und welcomeLinktextToPlanner in:
helmfile/apps/element/values-element.yaml.gotmpl

Wichtig dabei:
Das wäre nur ein Ausblenden des sichtbaren Einstiegs, nicht das Abschalten der Funktion selbst. NeoDateFix und die OX-Integration würden dabei weiterlaufen.

Ich habe das Thema darüber hinaus einmal als vollständigen Proof of Concept in meinem Fork durchgespielt (Branch):

Die volle Variante wäre:
Nicht nur den Link in Element entfernen, sondern die Planner-Integration insgesamt an einen Schalter hängen. In meinem POC ist das functional.chat.meetingPlanner.enabled.

Wenn dieser Schalter auf false gesetzt wird, passiert Folgendes:

  • die NeoDateFix-Komponenten matrix-neodatefix-widget, matrix-neodatefix-bot-bootstrap und matrix-neodatefix-bot werden nicht mehr installiert,
  • in Element verschwinden die Planner-spezifischen Widget-Berechtigungen und der Welcome-Link,
  • in Open-Xchange wird com.openexchange.conference.element.enabled auf false gesetzt.

Das ist also eine konsistente Abschaltung der gesamten Planner-/Element-Integration.

Mein praktisches Fazit wäre:

  • Wenn nur der zweite, aus Anwendersicht missverständliche Einstieg verschwinden soll, reicht wahrscheinlich ein kleines UI-Customizing.
  • Wenn die Matrix-/NeoDateFix-Terminplanung in CE bewusst gar nicht angeboten werden soll, ist eine vollständige deploymentseitige Abschaltung möglich, aber mit größerer fachlicher Wirkung.

Technischer Anhang zum vollständigen Diff:

Disclaimer: Codex und Claude haben mir massiv geholfen, das anzuschauen. Gerne teile ich auch meine Agent files etc. bitte direkt melden.

Zusätzlich haben wir das in einer eigenen Installation auch einmal deploymentseitig aus- und wieder eingeschaltet. Dabei wurden die NeoDateFix-Komponenten beim Abschalten tatsächlich entfernt und beim Wiedereinschalten sauber wiederhergestellt. Gleichzeitig wurde auch die OX-Element-Konferenzintegration mit deaktiviert bzw. wieder aktiviert.

Getestet habe ich das per Helmfile-Render:

  • helmfile build im Default-Fall: die NeoDateFix-Releases bleiben aktiv,
  • helmfile build mit functional.chat.meetingPlanner.enabled=false: die drei NeoDateFix-Releases gehen auf installed: false,
  • helmfile write-values für Element: der Planner-Link wird leer bzw. entfernt,
  • helmfile write-values für Open-Xchange: com.openexchange.conference.element.enabled wechselt von "true" auf "false".
  1. helmfile/environments/default/functional.yaml.gotmpl
    Einführung des neuen Schalters functional.chat.meetingPlanner.enabled, standardmäßig auf true.

  2. helmfile/apps/element/helmfile-child.yaml.gotmpl
    Die Releases matrix-neodatefix-widget, matrix-neodatefix-bot-bootstrap und matrix-neodatefix-bot werden nur noch installiert, wenn der neue Schalter aktiviert ist.

  3. helmfile/apps/element/values-element.yaml.gotmpl
    Die Planner-spezifischen Widget-Berechtigungen sowie welcomeUserId und welcomeLinktextToPlanner werden an denselben Schalter gebunden.

  4. helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl
    com.openexchange.conference.element.enabled wird ebenfalls an den Schalter gebunden. Dadurch wird bei der vollen Variante auch die OX-Element-Konferenzintegration deaktiviert.