TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_8.0.0-alpha7
  4. #29385

8.0.0-alpha7
TopLogic Release

2026-07-30

enhancement

critical
#29088
Model-based access rights
#29108
Lightweight UI definition layer (TL Views) based on React UI-Components
major
#28694
Beschreibung von Modellteilen als formatierter Text (Rich Text)
#28708
Standard-Selektion in (Baum-)Tabellen und Grids per TL-Script berechenbar machen
#29102
Add com.top_logic.layout.react module for React/SSE integration
#29221
Automatische Bestimmung möglicher Berechtigungskonfigurationen
#29349
XML-Parse-Funktionen für TL-Script über XMLImporter
#29374
TL-Script: gzip()
#29389
Code-Completion für Variablen ($) im TL-Script-Editor
#29396
Conversation display for TL Views: object-list element, file chips, card panels
#29399
Info-Service-Meldungen: unten statt oben anzeigen und beim Überfahren mit der Maus fixieren
#29400
Introduce a first-class application "operation mode" service (OperationMode enum + ApplicationModeService)
minor
#29085
Neu einloggen bei Session Timeout anstatt Redirect zur Login-Seite
#29089
TL-Script-Funktionen log() und info() um wählbaren Meldungs-Level (INFO, WARN, ERROR) erweitern
#29195
Probleme mit HTML-Attributen und TL-Script
#29306
TL Script: dateFormat() should accept an explicit timezone to format Calendar values losslessly
#29382
Expose a public classpath-driven Workspace.getAppPaths overload
#29385
App archetype should scaffold a standard git-ignored local-credentials overlay (tl_config) by default
#29392
Transaktionsabbruch bei Nicht-2xx Response
#29398
Login-Maske: Statt "Name" besser "Benutzername"

defect

major
#29383
Dead SOCKET_APPENDER (Chainsaw, localhost:4445) in default logging config can stall logging and abort operations under load
#29384
TL-Script resetSequence/generateSequenceId build a different sequence id than SequenceDefaultProvider (suffix/context order), so they cannot reset a provider-managed sequence with a dynamic context
#29394
Editable tables in the React UI: generalized row-set bindings for tabular editing in forms
#29410
Attribut filename der Structured-Text-Bildablage case-sensitive (binär) speichern
#29419
Understandable save failures and form validation feedback in the React view layer
minor
#28816
Referenzwertige Attribute erzeugen Fehler nur bei SingleSelection
#29359
Unsinniger Tooltip bei einigen Hauptreitern
#29360
Sporadische Fehlermeldung im Log: "mainLayout" ist null.
#29361
Invalide Datenbankdefinition für Tag
#29363
Fehlende Validierung von Dialogen bei GOTOs zu Dialogen von unsichtbaren Parents
#29380
Kontextabhängige Auto-Nummerierung schlägt fehl, wenn Kontext und nummeriertes Objekt in einer Transaktion erzeugt werden
#29381
Doppelklick in Grafikkomponente funktioniert nicht zuverlässig
#29390
Teilbaum-Auswahl endet zu früh, wenn die unterste Ebene vom Ebenen-Filter nicht mitgezählt wird
#29393
URL-Routing der React-View-Schicht defekt: ForwardingReactContext delegiert getRouteManager() nicht
#29401
Bilder in einem Bild-Drop-Feld können nicht über das Browser-Kontextmenü kopiert/gespeichert werden
#29402
Baum-Selektion geht bei Aktualisierung der Ansicht (invalidate) verloren
#29412
Flaky TestDynamicComponentService.testIncrementalUpdates: asserts on asynchronous WatchService event after a fixed 10ms sleep
#29416
Anzeige des Änderungslogs schlägt fehl, wenn parallel Änderungen committet werden
#29420
FlowDiagram: Fehlerfall im row-wise Sub-Grid: subGridCols=2 und subGridStartCol=1
#29426
FlowDiagram: Text in PDF-eingebettetem Diagramm ist nicht selektierbar

task

major
#29407
Security-Scan: npm-Abhängigkeiten der React-Module aktualisieren
#29408
Security-Scan: httpcore5 anheben; pdfbox-/azure-Findings bewerten
minor
#29415
Slim down the repository CLAUDE.md and consolidate developer guidance into skills and FAQ articles
enhancement

minor

#29385

App archetype should scaffold a standard git-ignored local-credentials overlay (tl_config) by default

BuildInfra

Request

The application Maven archetype (tl-archetype-app) should generate, for every new application, a standard, leak-free mechanism for supplying developer-local secrets (Trac XML-RPC credentials, DB passwords, external API tokens, ...) that must not be committed and that survives app restarts without manual per-start setup.

Motivation

Apps regularly need secrets injected via aliases, e.g.:

<alias>
    <entry name="%TRAC_PASSWORD%" value="${env:TRAC_PASSWORD:}"/>
</alias>

With only the ${env:...} default, the value is empty unless an environment variable is present in the launching process. That is fragile:

  • A skill/CI/tool-launched shell is typically non-interactive and does not source the user's shell profile, so an "export in .bashrc" style env file is not picked up.
  • Passing the secret as a -Dkey=value JVM/Maven argument leaks it into the process command line (visible via ps).

There is no out-of-the-box, documented pattern, so every app re-invents (or omits) this and developers hit avoidable HTTP 401 / empty-credential failures.

Proven pattern (please make it the archetype default)

TopLogic already supports a config overlay via XMLProperties.Setting.CONFIG_FILE (the tl_config system/JNDI property). MultiProperties.pushSystemProperty loads the named file last (so its alias entries override the base config) and ignores it silently when absent ("Configuration '...' not found, will be ignored!"), so a fresh checkout still boots. The property value is only a path, never the secret.

Wiring that worked well in an app:

  1. .mvn/jvm.config (committed): -Dtl_config=local.conf.xml - a non-secret path pointer, auto-read by Maven on every invocation.
  2. local.conf.xml (git-ignored): the actual overlay with literal alias values, e.g.
<root>
    <alias>
        <entry name="%TRAC_USER%" value="..."/>
        <entry name="%TRAC_PASSWORD%" value="..."/>
    </alias>
</root>
  1. local.conf.xml.template (committed): documents the file for other checkouts.
  2. .gitignore: ignores the real local.conf.xml.
  3. Eclipse start launch: same property as an absolute path, -Dtl_config="${workspace_loc:<project>}/local.conf.xml", so it resolves independently of the launch working directory.

Both launch paths (Maven exec:java and the Eclipse com.top_logic.ide.jetty.Bootstrap launch) then read the same single git-ignored file.

Suggested scope

  • Archetype generates items 1, 3, 4 above and the Eclipse start launch VM arg (item 5) by default; item 2 is created by the developer from the template.
  • Consider a short section in the generated README documenting the mechanism.
  • The concrete alias names are app-specific; the archetype should ship an empty/example overlay, not any real alias.

Filed as a follow-up to setting this up by hand in an application.

  • 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