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

7.7.0
TopLogic Release

2023-11-21

Verbesserung

Wichtig
#17126
"Next / Previous" Buttons in Dialogen zu Zeilenobjekten von Tabellen
#25835
Formulareditor: Option zum Weglassen von Labels
#26429
Alternative Darstellung für eingebettete Objekte im Formular
#27271
Kommandos an im Formular eingebetteten Objekten
#27477
Transiente Objekte / Einstellungs- und Anzeigeformulare
#27589
TL-Script Console
#27602
Admin Sicht für Log Einträge
#27606
OpenAPI: Request-Body mit Content-Type multipart/form-data und application/x-www-form-urlencoded
#27607
TLScript: PDF-Generierung
Detail
#26669
Kafka Producer und Consumer sollen prüfen ob ein Topic existiert, bevor sie es versuchen zu verwenden
#27219
Layouteditor: Formular mit fixer Formularvorlage
#27527
Allow to disable SafeHTML
#27584
TL-Script: Internationalisierung für Strukturierte Texte
#27604
Tree-Grid: Dynamischen Typ in Kommando "Neue Zeile"
#27608
TLScript: Base64-Encode/Decode
#27632
Git: Konsistente Zeilenumbrüche
#27637
Tooltips für Enum-Werte
#27639
Layout-Editor: Lock-Strategie bei Formularen konfigurieren
#27651
TL-Script API: Self-Parameter entfernen

Fehlerbehebung

Detail
#27301
Eine Formulargruppe in einem Dialog wird nie mit mehr als 2 Spalten angezeigt
#27469
In der Filter-Seitenleiste von Tabellen kann der Vergleichsoperator nicht geändert werden.
#27496
TL-Sync: Exceptions beim Senden oder Empfangen sollen immer Attribut Name und Wert liefern
#27542
Auswahl-Filter reagieren nicht auf Klick auf das Label
#27577
Import eines exportierten Modelltyps nicht immer möglich
#27580
Umgebungsvariablen werden für Nicht-Administratoren nicht angezeigt
#27585
GUI-Inspector auf Tabellenzellen nutzt falsche Spalte
#27592
Unerwarteter Wert für nicht gesetzte tl.model.i18n:I18NHtml Attribute
#27599
Instanzeneditor: Darstellungsfehler bei Bearbeitung von Kompositionen
#27610
Kommando "Modell als PDF exportieren" exportiert Tabellen nicht mit
#27617
Scrollposition in Tree-Grid nach der Aktion "alles Aufklappen" ist undefiniert
#27620
Theme-Editor: Überschreiben abstrakter Variablen liefert abstrakte Variable
#27642
I18NStructuredText-Feld wertet mandatory nicht aus
#27643
TLScript: Unerwartetes Ergebnis beim Contains-Check auf Mengen von Zahlen
#27646
Darstellung von Werten des Typs "internationalisierte Zeichenkette" fehlerhaft
#27647
Tooltips für Burger-Menüs verdecken die Icons
#27648
TL-Script Funktionen für externe APIs berücksichtigen Typ des Parameters nicht
Verbesserung

Detail

#26669

Kafka Producer und Consumer sollen prüfen ob ein Topic existiert, bevor sie es versuchen zu verwenden

Code-MigrationTLSync

Kafka teil die Kommunikation in Topics ein. Producer und Consumer senden beziehungsweise empfangen aus Topics. Welche das sind, steht in ihrer Konfiguration. Bevor Topics verwendet werden können, müssen diese üblicherweise angelegt werden. (Nur auf Test Systemen geschieht dies manchmal automatisch.) Producer und Consumer sollen prüfen, ob ihre Topics existieren, bevor sie sie verwenden. Denn leider verhält sich Kafka hier ungünstig: Je nach Situation werden die Logs mit Warnungen überflutet, ohne rechtzeitig die Anwendung zu informieren. Außerdem ist die Fehlermeldung nur eingeschränkt hilfreich.

Verbesserung

Kafka Producer und Consumer sollen prüfen ob ihre Topics existieren. Wenn sie nicht existieren, wird versucht sie anzulegen. Gelingt das nicht, wird der Start der Anwendung abgebrochen.

Anwendung

Die Einstellung ist automatisch aktiv. Es gibt folgende Konfigurationsoptionen:

  • create-topics="false": Topics nicht anlegen, wenn sie nicht existieren.
  • disabled="true": Nicht prüfen, ob die Topics existieren. Reaktiviert das alte Verhalten. Das ist zum Beispiel für Entwickler sinnvoll, um Anwendungen starten zu können ohne Kafka starten zu müssen.
  • wait-timeout="30s": Beim Prüfen und Anlegen von Topics maximal so lange auf die Antwort vom Server warten. Default ist 10 Sekunden.
    • Zum Format siehe: com.top_logic.basic.config.format.MillisFormat

Beispiel: {{{#!xml <application xmlns:config="http://www.top-logic.com/ns/config/6.0"> <configs> <config config:interface="com.top_logic.kafka.services.common.TopicChecker$Config" disabled="true" /> </configs> </application> }}}

Code Migration

  • Es sollte mit der Kundschaft geklärt werden, ob die Anwendung die Topics selber anlegen darf, wenn sie nicht existieren.
  • Zur Entwicklung empfiehlt es sich in der persönlichen Konfiguration die Prüfung abzuschalten, wenn die Anwendung lokal auch ohne Kafka starten können soll.

Test

Kein automatischer Test, da hier unterschiedliche Kafka Server Einstellungen notwendig sind, und die Tests das nicht unterstützen.

  • Die Kafka Tests finden keinen Fehler.
  • Eine Kafka Anwendung mit Kafka starten: Das muss funktionieren.
  • Eine Kafka Anwendung ohne Kafka starten: Das muss scheitern.
  • In der Datei für die Kafka Server Konfiguration eintragen, dass Topics nicht automatisch angelegt werden.
  • Die Kafka Tests finden keinen Fehler.
  • Eine Kafka Anwendung mit Kafka starten: Das muss funktionieren.
  • Eine Kafka Anwendung ohne Kafka starten: Das muss scheitern.
  • Die Konfiguration TopicChecker.Config.create-topics auf false setzen.
  • Die Kafka Tests schlagen fehl.
  • Eine Kafka Anwendung mit Kafka starten: Das muss scheitern.
  • Eine Kafka Anwendung ohne Kafka starten: Das muss scheitern.
  • Die Konfiguration TopicChecker.Config.disabled auf true setzen.
  • Die Kafka Tests schlagen fehl.
  • Eine Kafka Anwendung mit Kafka starten: Das muss funktionieren.
  • Eine Kafka Anwendung ohne Kafka starten: Das muss funktionieren.
  • 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