enhancement
major
minor
defect
critical
major
minor
major
#30064
Verwaltung der React-Benutzeroberfläche: Anmeldemeldungen (Meldungen, die bei der Anmeldung angezeigt werden, mit Angabe ihrer Gültigkeitsdauer)
Split off #30047. Follow-up to #29767, related: #29108.
Context
The administration of the React UI is admin/admin.view.xml of tl-layout-view; feature modules contribute sections through same-path overlays (developer article view-layer/overlays). The login messages of com.top_logic.addons.loginmessages can be administered in the classic UI only.
Feature
An administration view for the messages shown at login, with their validity, in the React administration. Needs a React module (or a view in an existing module) that depends on the addon.
Verification
tl-demo-react (/view/, root / root1234), Administration; create a valid message, log out and in again.
Lösung
Die React-Oberfläche zeigte Anmeldenachrichten bisher gar nicht an: Die Anzeige ist ein klassischer LoginHook (LoginMessagesHook.handleLogin(MainLayout, ...)), und die Anmeldung der React-Oberfläche (LoginAction) hatte nur fest verdrahtete Zwischenschritte.
- Konfigurierbare Kette von Anmeldeschritten (com.top_logic.layout.view): Zwischen Passwortprüfung (bzw. passwortloser Passkey-Anmeldung) und Abschluss der Anmeldung läuft eine Folge von Schritten (LoginStep), konfiguriert in der Anwendungskonfiguration LoginStepsConfig (benannte Einträge, ein Modul ergänzt einen Schritt per config:position in seiner *.config.xml). LoginFlow führt die zutreffenden Schritte aus; sein Zustand liegt in der Sub-Session des Fensters, nie auf einem Kanal. Passwortänderung und zweiter Faktor (OTP, Einrichtung, Passkey) sind Schritte dieser Kette; ein beweisender Schritt kann nur von seiner eigenen Aktion abgeschlossen werden, für das Konto des Ablaufs. <dialog-step view="..." condition="account -> ..."> und <continue-login/> machen einen Schritt rein konfigurierbar; die Bedingung ist vertrauenswürdige Konfiguration und wird ohne Sicherheitsprüfung ausgewertet.
- Addon com.top_logic.addons.loginmessages: TL-Script-Funktionen loginMessagesDue(account) (aktive, gültige, nicht oder nicht mehr bestätigte Nachrichten), loginMessagesDisplay(account) (die fälligen Nachrichten als HTML mit eingebetteten Bildern, ohne Modellprüfung wie die klassische Anzeige, da das Fenster während der Anmeldung noch dem anonymen Benutzer gehört) und loginMessagesConfirm(display) (bestätigt genau die angezeigten Nachrichten in der persönlichen Konfiguration des Kontos).
- Neues Modul `com.top_logic.addons.loginmessages.view' (nur Konfiguration): Anmeldeschritt "login-messages" nach dem zweiten Faktor mit Dialog (OK bestätigt und setzt die Anmeldung fort); Administrationsansicht unter System → Login-Meldungen (Tabelle, Formular mit Nachricht als formatiertem Text, Anlegen, Löschen, "Erneut bestätigen lassen"). Eingebunden in tl-demo-react.
- StructuredTextUtil.getCodeWithInlinedImages (tl-layout-wysiwyg) liest HTML statt XML und schreibt wohlgeformtes XHTML; zuvor scheiterte formatierter Text des React-Editors mit Bildern daran (auch im PDF-Export).
- TestViewScriptFunctions (Testquellen von tl-layout-view) prüft, dass die in Views aufgerufenen TL-Script-Funktionen existieren.