8.0.0-alpha11
TopLogic Release
2026-10-20
TopLogic 8.0.0-alpha11 erweitert die React-Oberfläche (TL Views) um einheitliches Drag & Drop, ein Popover-Element, den Excel-Export von Tabellen und die konfigurierbare Aufteilung von <adaptive-detail>, macht die React-Oberfläche hinter Proxys nutzbar, die den Ereignisstrom puffern, härtet den OpenAPI-Server und den Umgang mit verschlüsselten Konfigurationswerten und bringt einen XML-Import in bestehende Daten sowie die Erzeugung von PowerPoint-Präsentationen aus TL-Script.
React-Oberfläche (TL Views)
- Drag & Drop – Tabellen, Baumtabellen, Bäume und Kanban-Boards teilen ein Drag-&-Drop-Modell mit mehreren Drop-Operationen, Drop-Positionen und Drag-Arten.
- Popover – ein
<popover>-Element zeigt beliebigen Inhalt an einer auslösenden Schaltfläche. - Dashboard – ein Benutzer kann eine Kachel eines
<dashboard>ausblenden und später wieder hinzufügen. - Objektlisten – die Karten einer
<object-list>sind direkt anwählbar (selection). - Tabellen – Excel-Export und eine generische Download-Aktion, eine Zeilenzählung (gesamt / gefiltert / gewählt), Comparator je Spalte und Aufzählungsreihenfolge, CSS-Klassen je Zeile, standardmäßig ausgeblendete
<computed-column>s, eine überarbeitete Spaltenauswahl; „Standard wiederherstellen“ behält die deklarierte Gruppierung und Sortierung. - Adaptive Detailansicht –
<selector>und<detail>eines<adaptive-detail>tragensize,unitundmin-size; die gezogene Aufteilung wird gespeichert; die Drawer-Breite heißtdrawer-size. - Werteingaben – ein
<value-input>wird wie ein Modellattribut deklariert (mandatory,<annotations>); ein Binärwert erhält das Upload-/Download-Control nach Typ. - Kanäle und Aktionen – ein beschreibbarer Kanal wird aus anderen Kanälen vorbelegt; eine serverseitige Quelle (z. B. ein Bus-Listener) schreibt Kanalwerte über eine unterstützte API in eine View; abgeleitete Formularfelder folgen bearbeiteten Werten; ein
<button>beachtet den Anzeigemodus seines Kommandos; das<on-submit>einer Text- oder Zahleneingabe läuft auch beim Verlassen des Feldes. - Design-System – Tabelle, Baum, Spaltenauswahl, Text, Dialog, Fenster, Drawer, Snackbar, Hinweisleiste, App-Rahmen, App-Leiste, Seitenleiste, Fußleiste und die Layout-Container lesen das Design-System-Paket; die atomaren Bausteine (Schaltflächen, Menü-Auslöser, Checkboxen, Eingabefelder, Chips, …) sehen überall gleich aus und lassen sich durch eine Komponentenbibliothek ersetzen; der Avatar wird im MUI-Adapter mit Material UI dargestellt.
- Proxys – hinter einem Proxy, der den Ereignisstrom des Fensters puffert oder ablehnt, weicht der Client auf Polling aus, so dass die React-Oberfläche nutzbar bleibt.
- Entwicklung – Entwicklerkommandos und Skript-Rekorder stehen außerhalb des Produktivmodus allen Benutzern zur Verfügung; ein aufgezeichnetes Skript kann heruntergeladen werden; die Ausblend-Animationen von Dialogen und Kachelstapeln gehören zur Engine.
Sicherheit und Zugriffsrechte
- Modellbasierte Sicherheit – überarbeitete React-Oberfläche; eine TL-Script-Funktion kann den Zugriffs-Elternteil eines Typs bestimmen; Konzept für ein Discover-Recht (gefilterte Objektquellen, maskierte Formularfelder).
- Privilegierte TL-Script-Funktionen – ein konfiguriertes Skript wird als Ganzes über eine Kommandogruppe auf einem berechneten Sicherheitsobjekt autorisiert.
- OpenAPI-Server – die Basic-Authentifizierung eines technischen Benutzers akzeptiert kein leeres Passwort mehr; Request-Bodies werden gegen das deklarierte Schema validiert.
- Verschlüsselte Konfigurationswerte – ein ungültiger verschlüsselter Wert wird abgewiesen statt stillschweigend „entschlüsselt“; die Fehlermeldung für einen nicht dekodierbaren Wert gibt den Wert nicht mehr ins Log aus.
Modell und TL-Script
- XML-Import in bestehende Daten – IDs werden gegen bestehende Objekte aufgelöst, bekannte Teilbäume übersprungen, Referenzen können optional sein, Sprache und Variablen kommen aus der Eingabe.
- PowerPoint aus TL-Script – deklarative Folienbausteine, Export in eine Firmenvorlage, Analyse von Vorlagen.
- Wrapper-Generierung –
tl:generate-javafunktioniert im ersten Build nach einem Versionswechsel; der generierte Code kollidiert nicht mehr bei Klassifikator-Konstanten zweier Aufzählungen, und nur die Singleton-Wurzelklassen erweiternStructuredElement. - Modell-Patch – eine Klasse kann in derselben Änderung eine Generalisierung erhalten und deren Attribute überschreiben;
add()funktioniert auf einer leeren Mehrfachreferenz eines transienten Objekts. - Entwicklerdokumentation – ein Rezept für einen anwendungsdefinierten primitiven Typ, dessen Darstellung vom besitzenden Objekt abhängt; der Upgrade-Leitfaden 7.11 nach 8.0 nennt die Anforderung Maven 3.8.9 und gilt auch für 7.10.x-Anwendungen.
Konfiguration und Betrieb
- Transaktionsmonitor – Auswahl eines Zeitraums oder eines Revisionsbereichs statt eines einzelnen Tages.
- Historienkompaktierung – die Kompaktierung arbeitet in begrenzten Transaktionen, und das Wartungsfenster endet mit dem Task.
- Cluster – eine in einer Cluster-Transaktion fehlgeschlagene Datenbankverbindung wird nicht mehr in den Pool zurückgegeben.
- Datenbank – die Typänderung einer Spalte mit Inhalt funktioniert auf Oracle und die einer indizierten Spalte auf MS SQL Server.
Fehlerbehebungen
- React-Oberfläche: Bäume und Auswahlkanäle, Zeilenaktivierung, Schließen von Dialogen, Optionen der Einfachauswahl, freigegebene Zeilenquellen-Beobachter.
- Klassische Oberfläche: der Spaltenfilter sortiert seine Optionen mit dem Comparator der Spalte.
- Build und Tests: Overload-Bindung von TLScriptFunctions, Positionsangaben ohne Tausendertrennzeichen, JSP-Kompilierung während Skript-Tests, sporadische Testfehler.
Migration
- React-Oberfläche: Drag & Drop, Design-System-Pakete (Bausteine, Tabelle, Baum, Dialog, Fenster, App-Rahmen, Layout-Container), Spaltenauswahl,
<adaptive-detail>(drawer-size, Personalisierungsschlüssel), Oberfläche der Sicherheitskonfiguration. - OpenAPI-Server: Validierung der Request-Bodies.
- Wrapper-Generierung:
tl:generate-java, generierte Fabriken und Basisklassen, Bereinigung der Wrapper-Hierarchie. - Upgrade-Leitfaden 7.11 nach 8.0: Maven 3.8.9 oder neuer.
Die Details stehen im Migrationsabschnitt der Release-Notes unten.