enhancement
critical
major
minor
minor
#25907
Layout editor: inconsistent behavior of unfold state, selection and reaction to object creation
#25951
Application tests: CheckLabeledExecutabilityOp fails to assert non-executability of literal ResKey reasons.
#25952
Model Editor: Enum default provider does not work for enum references for which singleton link storage was explicitly selected
#26002
ConfigurationItem-valued properties with format annotations may cause an attempt to create abstract config items when deserializing null values
#26012
Help editor crashes when a user has chosen a language that is not in the supported languages of the application
#26039
Gridcomponent: Display of context menu for new (transient) row object leads to UnsupportedOperationException
#26085
An attribute of type tl.model.search:Expr is not displayed in the form above a TL script editor
#26111
Context menu commands for table rows are erroneously executed on the table model when opening the context menu in the background of the table
#26153
Migration: Replay fails if string values with line breaks are contained in the dataset where a line ends with a semicolon
#26171
A TL script expression entered in a wizard template is reformatted when transferred to the final template
#26223
TL script: Under unfavorable conditions wrong parameter values when evaluating local functions
enhancement
critical
#25424
Meta-Model: Generic navigation to container: TLObject.tContainer()
Currently, only specific references can be traced backward. However, containment relationships are unique in that an object may appear as the target in only a single containment relationship.
- It must be ensured that an object is never part of two different containers.
- If the association table `hasStructureChild ` is used for storage, a unique index exists for this purpose. However, so far, the use of this table must be explicitly annotated for each composition.
- There should be a generic way to navigate to an object’s container: TLObject.tContainer().
- The container relationship should be navigable in TL-Script: $x.container().
- It must be ensured that containment relationships guarantee that all parts are deleted along with their container (without an explicit storage annotation being set).
- When creating an object via a dialog or in the grid, it must be ensured that the tContainer() navigation also works on the transient object before the actual creation, so that option providers, constraints, and others can refer to the context in a generic manner. For example, the container can be populated from the component model here.
Data Migration
- If a composition reference was used in a custom model without explicitly configuring a storage rule that ensures links are stored in the `hasStructureChild ` table, the links to this composition reference must be moved to the ` hasStructureChild ` table.
- This migration is performed automatically at boot time; see /com.top_logic.element/webapp/WEB-INF/kbase/migration/tl-element/Ticket_25424_Move_custom_composition_links_to_structure_child_table.migration.xml
Code Migration
- Any annotation specifying the storage rule for a composition reference must be removed from the Model XMLs.
Test
- Deleting content along with its container: /com.top_logic.demo/src/test/com/top_logic/demo/scripted/model/attribute/TestCompositeAttribute.script.xml