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

Enhancement

Major
#17126
"Next / Previous" buttons in dialogs for row objects of tables
#25835
Formulareditor: Option zum Weglassen von Labels
#26429
Alternative representation for embedded objects in the form
#27271
Commands on objects embedded in the form
#27477
Transient objects / setting and display forms
#27589
TL-Script Console
#27602
Admin view for log entries
#27606
OpenAPI: Request-Body with Content-Type multipart/form-data and application/x-www-form-urlencoded
#27607
TLScript: PDF generation
Detail
#26669
Kafka Producer and Consumer should check if a topic exists before trying to use it
#27219
Layout Editor: Form with Fixed Form Template
#27527
Allow to disable SafeHTML
#27584
TL-Script: Internationalization for Structured Texts
#27604
Tree-Grid: Dynamischen Typ in Kommando "Neue Zeile"
#27608
TLScript: Base64-Encode/Decode
#27632
Git: Consistent line breaks
#27637
Tooltips for enum values
#27639
Layout-Editor: Lock-Strategie bei Formularen konfigurieren
#27651
TL-Script API: Self-Parameter entfernen

Bugfix

Detail
#27301
Eine Formulargruppe in einem Dialog wird nie mit mehr als 2 Spalten angezeigt
#27469
In the filter sidebar of tables, the relational operator cannot be changed.
#27496
TL-Sync: Exceptions on send or receive should always return attribute name and value
#27542
Auswahl-Filter reagieren nicht auf Klick auf das Label
#27577
Import of an exported model type not always possible
#27580
Environment variables are not displayed for non-administrators
#27585
GUI inspector on table cells uses wrong column
#27592
Unexpected value for unset tl.model.i18n:I18NHtml attributes.
#27599
Instance editor: display error when editing compositions
#27610
Export model as PDF" command does not export tables with
#27617
Scroll position in Tree-Grid after action "expand all" is undefined
#27620
Theme Editor: Override abstract variable returns abstract variable
#27642
I18NStructuredText field does not evaluate mandatory
#27643
TLScript: Unexpected result of the Contains check for sets of numbers
#27646
Display of values of the type "internationalized character string" incorrect
#27647
Tooltips for burger menus hide the icons
#27648
TL script functions for external APIs do not take the parameter type into account
Enhancement

Detail

#26669

Kafka Producer and Consumer should check if a topic exists before trying to use it

Code migrationTLSync

Kafka divides communication into topics. Producer and Consumer send and receive from Topics. The topics are defined in their configuration. Before topics can be used, they usually have to be created. (Only on test systems this is sometimes done automatically.) Producers and consumers should check if their topics exist before using them. Unfortunately, Kafka behaves unfavorably here: depending on the situation, the logs are flooded with warnings without informing the application in time. Furthermore, the error message is of limited help.

Improvement

Kafka Producer and Consumer should check if their Topics exist. If they do not exist, an attempt is made to create them. If this does not succeed, the start of the application is aborted.

Application

The setting is automatically active. There are the following configuration options:

  • create-topics="false": do not create topics if they do not exist.
  • disabled="true": Do not check if the topics exist. Reactivates the old behavior. This is useful for developers, for example, to be able to launch applications without having to launch Kafka.
  • wait-timeout="30s": When checking and creating topics, wait at most this long for the answer from the server. Default is 10 seconds.
    • For format see: com.top_logic.basic.config.format.MillisFormat

Example: {{#!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

  • It should be clarified with the clientele if the application is allowed to create the topics itself if they do not exist.
  • For development, it is recommended to disable the check in the personal configuration if the application should be able to start locally even without Kafka.

Test

No automatic test, because here different Kafka server settings are necessary, and the tests do not support this.

  • The Kafka tests do not find any error.
  • Start a Kafka application with Kafka: This must work.
  • Launching a Kafka application without Kafka: This must fail.
  • In the Kafka server configuration file, specify that topics are not created automatically.
  • The Kafka tests do not find an error.
  • Launch a Kafka application with Kafka: This must work.
  • Start a Kafka application without Kafka: This must fail.
  • Set the configuration TopicChecker.Config.create-topics to false.
  • The Kafka tests fail.
  • Launch a Kafka application with Kafka: This must fail.
  • Launch a Kafka application without Kafka: This must fail.
  • Set the TopicChecker.Config.disabled configuration to true.
  • The Kafka tests fail.
  • Launch a Kafka application with Kafka: This must work.
  • Launch a Kafka application without Kafka: This must work.
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

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