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

7.7.1
TopLogic Release

2024-02-27

Enhancement

Major
#26190
Multiple drop operations per component
#27706
TL-Script: Explicit method chaining
Detail
#27260
Bad example in the documentation of revisionAt(...)
#27626
DropDown: No icons are displayed
#27700
Allow dynamically loading ES6 modules from scripts
#27721
Automatic data migration for applications without branch support
#27735
PostgreSQL: Workaround for Method org.postgresql.jdbc.PgResultSet.updateClob(int, Reader) is not yet implemented.
Nice to have
#27667
Update gstream package to gson 2.10.1

Bugfix

Major
#21471
Overwriting attributes sometimes fails
#27741
Missing developer options in the Modern theme
Detail
#27337
Documentation for tile views is not displayed
#27528
Kafka prevents logging to std-out
#27640
Model Editor: Superclass arrow is displayed although superclass is not drawn
#27661
Incorrect error handling in I18N fields
#27672
Incorrect tooltip for tabs in the toolrow
#27673
TLScript: Copy(): Copy of historical objects not possible
#27693
Import should not be possible if base themes do not exist
#27695
Attempt to create a functional object type with an existing name leads to an internal error
#27697
Automatic data migration performs migrations to non-configured modules
#27725
TL-Sync application does not start if Kafka is not available
#27729
Backward references create a separate edge in the model graph
#27744
No visual feedback for table line drop
#27745
Tree drops cannot be recorded
#27764
Meta model: Missing type for association properties
#27766
Legacy structure modules cannot be deleted in-app
#27767
No crash, when a legacy attribute filter cannot be resolved
#27768
TLScript: Fallback for untyped expressions
#27773
Crash when importing the OpenAPI description from OpenAI
#27774
Tree table row not draggable, pop-up and label are
#27776
OpenAPI: Wrong encoding when constructing JSON request body
#27803
TLScript: Copy(): Copy of historical reference values not possible
#27805
Inconsistent behavior of the TL script function union()
#27807
TL script: log() is treated as page effect-free
#27808
BPE: Error during BPMN import if <association> links are placed before the linked parts in the XML
#27809
TL-Script: Crash when filtering literal map
#27810
CVE-2024-1597: Update PostgreSQL driver to at least 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 or 42.2.8
#27811
CVE-2024-26308: Upgrade commons-compress to at least 1.26
Nice to have
#27666
State Modification During rendering error in layout tests
Bugfix

Major

#21471

Overwriting attributes sometimes fails

Code migrationData migrationTLModel

Problem

Overwriting attributes sometimes fails. The cause appears to be that the model is assembled in an unexpected order. In particular, attributes are added to a derivation even though the superclass does not yet have its attributes. However, as the overwritten attribute is required for an override because its configuration is adopted, this fails.

Migration

Overrides of backwards references should explicitly specify the child backwards in their configuration in order to determine directly what type of override is involved without, in the worst case, having to search the entire type hierarchy for a reference with the same name in order to determine the type of reference.

The configuration for the reference tl.doc:Page#parent, which is an override of a backward reference, looks like this, for example:

<reference name="parent" kind="backwards" override="true" type="Page" />

Ex. already overrides backward references, then they are currently stored "incorrectly" (as a forward reference) in the database. For the correction, you can refer to the files

  • Ticket_21471_Adjust_model_overrides.migration.xml
  • Ticket_21471_Adjust_model_overrides.model.transform.xslt

which do this for the override tl.doc:Page#parent of the backward reference tl.element:StructuredElement#parent.

Implementation

The model is created from a corresponding configuration in the following phases:

  1. START: The setup phase. In this phase, modules and empty type instances are created. These can be created independently of each other.
  1. CREATE_TYPE_HIERARCHY: Creation of the type hierarchy. For each type, its generalization is set.
  1. CREATE_PARTS: Creation of type parts. The inheritance hierarchy must be known in order to sort the actions for creating the type parts. This sorting is necessary because an overwriting of a tl:TLTypePart can only be created if the underlying type part already exists.
  1. CREATE_ASSOCIATION_END: Association ends must be created before references are created, as these use association ends.
  1. CREATE_REFERENCE: Creation of references.
  1. CREATE_REFERENCE_OVERRIDE: Creation of reference overrides. All reference overrides must be created before back references are created, as they can be backward references to overwritten references.
  1. CREATE_BACK_REFERENCE: Creation of backward references.
  1. CREATE_BACK_REFERENCE_OVERRIDE: All reference overrides must be created before back references are created, as there may be back references to overwritten references.
  1. REORDER_PROPERTIES: Definition of the final order.
  1. CREATE_ROLE: Role creation.
  1. CREATE_SINGLETON: Create module singletons.

This ensures that the overrides are not created until the super-type has already created the attribute to be overridden.

Test

No test.

  • 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