TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.10.0
  4. #28955

7.10.0
TopLogic Release

2026-01-19

enhancement

critical
#25918
Graph-Binding 2.0
major
#25529
Schwache Modell-Constraints
#27483
TLScript: Mathematische Funktionen
#28083
Core-Theme: Bessere Darstellung/UX der TL-Script-Kontexthilfe
#28336
Dynamische Confirm-Messages
#28604
Allgemeine Anzeige der Änderungshistorie mit Undo-Möglichkeit
#28648
TL-Script: Unzip
#28727
Baum-Tabellen-Selektionslogik
#28765
Image-Upload-Control
#28892
TL-Script: flatMap()-Function
#28893
TL-Script: indexBy() mit Werttransformation
#28897
Instance-Export: Kontext für optionalen Import mitexportieren
#28899
Kachelsichten: Gemischte Ansichten von Objektkacheln mit Standardkacheln
#28900
TL-Script: transpose()-Funktion
#28901
TL-Script: count() mit einem Argument
#28902
TL-Script: remove()
#28903
TL-Script: split() mit Begrenzung
#28920
Layout-Editor: Pluggable generic commands
#28924
TL-Script: toJson()
#28927
TL-Script: excelFile()
#28931
Rollen-Profile beim Anwendungsstart importieren/aktualisieren
#28934
TL-Script: pdfFile()
#28947
Kompositionsattribute: Anlegen aus Kopie
#28949
TL-Script: CSS-Klassen-Berechnung für ganze Zeilen
minor
#27849
Eigenschaft vom Typ "Color" kann in TL-Script nicht mit einem Farbwert versehen werden
#28305
Bessere Default-Datei-Namen für generische Excel-Exporte
#28633
XML-Import: Handler, um ein Property from Typ "Internationalisierte Zeichenkette" um eine Übersetzung zu ergänzen
#28643
TL-Script: Parse Base64 in Data-URL Format
#28652
XML-Import: Transienter Import mit Nachbearbeitungsaktion
#28729
Layout-Editor: Buttonzeile in jedem Layout einblenden
#28742
(Lokale) Dialoge anzeigen ohne Sicht zu wechseln
#28743
Layout-Editor: Ein- und Ausblenden von Toolbars in allen Komponenten
#28745
Drag aus Baumtabellen soll auch zugeklappte Knoten liefern
#28762
Einführung von Renovate Bot zur automatischen Aktualisierung externer Abhängigkeiten.
#28874
ExternalAuthentication bei Verwendung von tl-security-auth-pac4j automatisch aktivieren
#28875
Neuberechnung der Optionen bei Auswahlfeldern
#28879
TL-Script Methoden über Reflection anbieten
#28880
Add TLScript "try" function for exception handling
#28886
Instance-Export: Nicht-Kompositionen nicht "automatisch" mitexportieren
#28906
Kachel-Preview-Image aus Binär-/Bildattribut
#28913
Applikationstests: Kontext-lokale Objektidentifikaton
#28915
Update GWT auf Version 2.12
#28918
Enum-Protokoll-Namen über @Name-Annotation
#28930
Berechnete Spalten als "multiple" und "mandatory" markieren
#28937
Befehlsfreigabedienst: Prüfung auf Collections und Delegation auf andere Modelle
#28951
Befehle zum Ändern einer Auswahl in einer Baumtabelle
#28963
Drag&Drop über Fenstergrenzen hinweg
#28965
Dateierweiterung für XML-Import-Kommandos vorgeben
#28970
HTML als Wert für ein "Strukturierter Text" Attribut
#28974
XML-Import: Kontext for ID-Auflösung
#28983
Fehler bei Rückwärtsnavigation über nicht navigierbare Attribute ausgeben
#28986
Servlets mit async Support ermöglichen
#28999
Scheduler: Ausführung alle x Tage anstatt jeden Tag
#29001
Zurückgenommene Änderungen in "Meine letzten Änderungen" ausblenden
#29016
Dialoge in dem Fenster anzeigen in dem gerade gearbeitet wird
#29019
Legacy Bus-System entfernen
nice-to-have
#28987
StreamUtilities.readStreamContents() Utility also for BinaryDataSource
#29043
Heartbeat-Logging für die Revison-Migration
#29045
Consolidate Git-Ignores (Anwendungstemplate, Message-Backups, Settings)
#29046
Introspection für TL-Script-Funktionen

defect

major
#27746
Kontexthilfe für TL-Script teilweise abgeschnitten und nicht oder nur schlecht scrollbar
#28047
Error Icon neben dem TextInput ist falsch positioniert
minor
#27707
Tabelle macht kein Update nach Zeilenverschiebung per Knopfdruck
#28265
Update pdf.js to 4.9.155 due to CVE reports
#28678
Spalte MACHINE_IP zu kurz in USER_SESSION (bei IPv6)
#28693
Fragwürdige Clipboard-Kommandos werden standardmäßig an allen Grid-Komponenten angezeigt
#28919
Transiente Objekte können Referenzen auf gelöschte Objekte liefern
#28945
Fehler beim Anzeigen der Änderungshistorie, wenn Referenz gelöscht wurde
#28950
TL-Script: toSet() ändert die Reihenfolge der Elemente
#28954
Spalte "Administrator" von Benutzerkonten kann nicht gefiltert werden
#28955
Volltext-Suche bei Grid Komponente führt potentiell zu einem geloggten Error
#28957
Clientseitige Fehler beim GotoLinkControl
#28972
Flow-Diagram: Font-Size und Font-Family attribute für Text haben keinen Effekt.
#28973
Dialog "Meine letzten Änderungen" braucht u.U. sehr lange um sich zu öffnen
#28980
I18NRuntimeException wird als "Internal error" gemeldet
#28982
Tabellen-Komponenten können unerwartete Objekte anzeigen
#28984
Workflow-Prozesse können nicht mehr abgeschlossen werden
#28991
Flow-Diagram: Selektionskanal darf nur bei Konfiguration von Mehrfachselektion Mengen enthalten
#28992
SVG-Diagram mit Click-Handler kann zu Fehlern führen
#28996
TL-Script: Kein internationalisiertes Zahlenformat in Ausdrücken in HTML-Templates
#28998
Flow-Diagram: Doppelclick- und Context-Menu-Handler
#29036
Übersetzungsfehler bei Resource-Dateien mit Landeskennung
defect

minor

#28955

Volltext-Suche bei Grid Komponente führt potentiell zu einem geloggten Error

Bei der Volltext-Suche in Grid-Komponenten kommt es zu Abstürzen, wenn technische
Spalten unbeabsichtigt Standard-Resource-Provider zugewiesen bekommen.

2025-10-30T10:18:26,547 ERROR [qtp756936249-65]: com.top_logic.basic.util.ResourcesModule - Missing resource '[layouts.demo.table.table_grid.tableGrid.row0]'. S(dDrkqth32wcqnFV2mZsSl2xoyvvOln+Cqa/fKF2b5aE=) 
java.lang.Exception: Stacktrace
	at com.top_logic.basic.util.ResourcesModule.newUnknownKey(ResourcesModule.java:568)


Das Problem tritt wie folgt auf:
- Tabellen unterstützen die Volltext-Suche über alle Spalten
- Für jede Spalte wird ein "Full Text Resource Provider" verwendet, um durchsuchbare Daten zu
erhalten
- !Technische/Hilfsspalten werden explizit mit null als Provider konfiguriert, um sie von der Suche
auszuschließen
- Während des Tabellen-Lebenszyklus wird diesen technischen Spalten trotzdem ein Standard-Provider
zugewiesen
- Bei der Volltext-Suche wird versucht, diesen Provider zu verwenden, was zu einer
Fehlermeldung wie "Resource Provider not found" führt

Das eigentliche Problem ist, dass der explizite null-Wert durch einen Standard-Provider
überschrieben wird.

Ursache

Die Ursache liegt im Kopiermechanismus der Tabellenspalten-Konfiguration:

1. Wenn eine Spalte explizit mit setFullTextProvider(null) konfiguriert wird, wird das Flag
fullTextProviderExplicitlySet auf true gesetzt
2. Während des Tabellen-Lebenszyklus werden Spalten kopiert/geklont
3. Bei diesem Kopiervorgang wird das fullTextProviderExplicitlySet-Flag nicht mitkopiert und auf
false zurückgesetzt
4. Später, wenn Tabellen-Konfigurationsprovider Standardwerte zuweisen, wird
setFullTextProviderAsDefault() aufgerufen
5. Da das Flag jetzt false ist, wird der Standard-Provider zugewiesen und überschreibt die
ursprüngliche null-Einstellung
6. Die technische Spalte hat nun einen Provider, obwohl sie für die Volltext-Suche ignoriert
werden sollte

Die Logik kann nicht mehr zwischen "es wurde kein Provider gesetzt" und "es wurde explizit null
gesetzt, um auszuschließen" unterscheiden.

Möglicher Lösungsweg

Der kleinste und sicherste Lösungsweg ist die Sicherstellung, dass das
fullTextProviderExplicitlySet-Flag während des Spalten-Kopiervorgangs korrekt erhalten bleibt:

1. Hinzufügen einer copyFullTextProviderExplicitlySet()-Methode in der ColumnDescription-Klasse,
die das Flag kopiert
2. Anpassung der copyFrom()-Methode, um die neue Methode während des Kopiervorgangs aufzurufen
3. Sicherstellung, dass das Flag bei allen Spalten-Klonoperationen korrekt mitkopiert wird

Dieser Ansatz:
- Behält die bestehende API-Semantik bei
- Ist minimal und invasiv
- Löst das Problem an der Wurzel (fehlendes Flag-Kopieren)
- Beeinflusst keine andere Funktionalität

Test



Prüfen ob in TL-Demo bei einer Volltext-Suche der Fehler auftaucht.

  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login