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".
-
helmfile/environments/default/functional.yaml.gotmpl
Einführung des neuen Schalters functional.chat.meetingPlanner.enabled, standardmäßig auf true.
-
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.
-
helmfile/apps/element/values-element.yaml.gotmpl
Die Planner-spezifischen Widget-Berechtigungen sowie welcomeUserId und welcomeLinktextToPlanner werden an denselben Schalter gebunden.
-
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.