Enhancement
Critical
Major
Detail
Detail
#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 concrete references can be traced backwards. However, containment relationships are special in that an object may only appear as a target in 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, then a unique index exists for this. So far, however, the use of this table must be explicitly annotated to each composition.
- There should be a generic navigation option to the container of an object: TLObject.tContainer().
- The container relationship shall be navigable in TL-Script: $x.container().
- It must be ensured that containment relationships ensure that all parts are deleted together with their container (without setting an explicit storage annotation).
- When creating 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, etc. can refer to the context in a generic way. The container can be filled here for example from the component model.
Data migration
- If a composition reference has been used in a custom model without explicitly configuring a storage rule that ensures that 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 of the storage rule at a composition reference must be removed in model XMLs.
Test
- Deletion of content together with its container: /com.top_logic.demo/src/test/com/top_logic/demo/scripted/model/attribute/TestCompositeAttribute.script.xml