enhancement
major
minor
major
minor
minor
#29960
React-Oberfläche: Browser-Tab zeigt immer "TopLogic View" statt des Anwendungsnamens
Kontext
Eine Anwendung mit React-Oberfläche (tl-layout-view, Einstieg /view/) benennt sich über eine Overlay-WEB-INF/views/app.view.xml (Titel der App-Bar, Kopf der Sidebar), so erzeugt es auch der Archetyp tl-archetype-app (#29704).
Fehler
Der Titel des Browser-Tabs lautet unabhängig von der Anwendung immer "TopLogic View": ViewServlet schreibt das <title>-Element der Seite mit einem festen Text (com.top_logic.layout.view/src/main/java/com/top_logic/layout/view/ViewServlet.java, out.writeText("TopLogic View")). Eine Anwendung kann den Tab-Titel nicht setzen; mehrere geöffnete TopLogic-Anwendungen sind in der Tab-Leiste nicht zu unterscheiden.
Erwartet
Der Tab-Titel ist konfigurierbar (z. B. aus dem Titel der App-Bar bzw. einer Einstellung der ViewConfig, internationalisiert) und lautet ohne eigene Angabe wie bisher.
Test
Mit dem Archetyp eine Anwendung erzeugen und starten: der Tab zeigt den Anwendungsnamen.
Lösung
Die Engine-Seite ist mit #29957 umgesetzt: ViewConfig hat die internationalisierte Einstellung title, der Tab-Titel lautet "<Label der angezeigten Route> – <title>", ohne Titel "TopLogic".
Der Archetyp tl-archetype-app setzt diese Einstellung nun für Anwendungen mit React-Oberfläche (ui=react und ui=both, nicht für Fragmente) in <projectName>.conf.config.xml auf den Anwendungstitel tl.title, den er bereits auf den DisplayName setzt:
{{{#!xml <config config:interface="com.top_logic.layout.view.ViewConfig" title="tl.title" /> }}}
Eine bestehende, mit dem Archetyp erzeugte Anwendung erhält den Anwendungsnamen im Tab, indem sie diesen Eintrag in ihre Anwendungskonfiguration übernimmt.