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
Major
#26068
Context-dependent number ranges via annotation
Attribute values can be filled automatically from a number range. There are several shortcomings here:
- The label-provider option is only considered if the pattern for the ID also contains the label. This does not make sense, because the label is also used to distinguish the number range. One may very well want to produce the same numbers in different contexts.
- The context cannot be used in the in-app default configuration.
- The context aspect shown in the pattern must always match the technical ID that identifies the number range.
- Number ranges are only possible for string attributes, not for number attributes.
Improvement
- The "date format" option in ID generation can be set regardless of whether the %DATE% placeholder is used in the ID pattern or not.
- A "dynamic sequence name" can be configured. This can be used to generate numbers from different sequences, depending on the creation context of the object. Either the creation context can be used directly as the dynamic sequence name, or a function can be stored that calculates it from the creation context.
- The dynamic sequence name can be included in the ID using the %OBJECT% placeholder. However, the use of %OBJECT% in the pattern for the ID is optional.
- A new TL script function "nextId(<sequence name>)" is available to achieve the same effect. In particular, this function can be used to initialize Numeric attributes with an ID from a sequence as well.
Code migration
- The label-provider option in tl:ConfiguredNumberHandler must be replaced with dynamic-sequence-name.
- The implementation of dynamic-sequence-name must now implement the interface tl:DynamicSequenceName instead of tl:LabelProvider.
Test
- New attributes idLong and idString in tl-demo in type DemoTypes:A.
- Matching test script /com.top_logic.demo/src/test/com/top_logic/demo/scripted/model/attribute/defaultValue/TestContextSensitiveID.script.xml.
Regression:
- Configure create dialog for DemoTypes:A.
- Customize form for create dialog.
- Explicitly set attribute idLong to visible.
- Create object using this dialog.