TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.5.0-M6
  4. #26986

7.5.0-M6
TopLogic Release

2023-02-14

Enhancement

Critical
#26910
Optimize TL-Sync for larger loads
Major
#26365
Enable explicit option ordering in selector.template.xml
#26936
WrapperGenerator: lookup methods for enums/classifiers, better typing for references
#26986
Do not use theme variables directly but only via CSS variables
#26999
Typed configuration: short-cut format for list-value properties
#27001
ProgressDialog: Better reaction possibility to errors in the background process
#27053
TLScript for resolving a model part
#27057
BulkIdLoad should also load flex attributes
#27060
New type: tl.util:JSON
#27067
Better tooltips for model elements, icons for TLClassifier
#27068
ResKey with fixed number of values
#27109
Show the process cockpit by default in new app
#27118
Install TopLogic via Debian packages
#27135
Delimit layout editor functions from specialist functions
#27159
Model editor: translation of all module names plus display of technical name
#27186
Context-local environment variables: Assigning application properties via JNDI
Detail
#26784
Migrate TLDoclet to jdk.javadoc.doclet
#26877
Better context information for deleted objects
#26952
Customizability of breadcrumb display
#26982
Control width of selection and detail column via theme variable
#26983
Adjust width of filter dialogs via theme variable(s)
#26985
Introduce styleable DIV container around demo license display
#27000
Rebuild form on invalidation
#27015
Logging in KBDataProducerTask should cover error cases better
#27055
Service editor commands should not always be active
#27063
Java class cache for TLObject implementation
#27075
Navigation of calculated config properties via collections
#27095
Bulk processing of object deletions during layout update
#27106
Delete command should (can) close open dialog
#27108
Risk analysis: Move coordinate origin down/left
#27111
Get log output even without log viewer
#27116
Support for MariaDB in combination with JNDI configuration
#27133
Adjust width of minimized sidebar via theme variable
#27151
ApplicationAction, which calls other action scripts
#27158
Shortening of button labels in the change check dialog
#27169
Declarative forms: Set property editors via configuration instead of annotation
#27173
Automatic language determination during wrapper generation
#27175
Auto-update of Debian deployments
#27180
Default label for components in the Inspector

Bugfix

Major
#27123
Meaningless selection at "Configure Tabs
#27137
In-app configured tables not exportable
#27138
Error when dragging the selected row of a non-initial slice of a table
#27193
Configuration export via context menu in model editor defective
Detail
#26663
TreeGridComponent: Selection is not reset after discarding a transient row
#26807
Possible NPE in MonitorEventAccessor
#26962
TL-Sync: Tabs are lost with string attributes
#26984
Not all tab bars take into account the theme variable setting 'LEVEL_ONE_BAR_SIZE'.
#26992
Asynchronous loading of layouts for themes crashes short-running test cases
#27018
SchedulerGui: Detail view "Selected run" always empty
#27019
Inconsistent logging: scheduler uses its own log file, but its tasks do not
#27027
Declarative forms: SelectField disappears after upload if option list depends on mandatory property
#27028
Data migration: Delay migration processors
#27029
Failure to use PropertyInitializer for list-valued properties.
#27035
Missing constraint evaluation for list-valued properties
#27042
MaintenanceJspBase should write to the log first, then to the client, instead of the other way around.
#27047
Avoiding data migration in #25732: Saved search queries may no longer be readable
#27049
Transaction monitor renders collapse buttons twice
#27065
Missing CDATA quoting when serializing ConfigurationItem
#27069
Minimize an EditComponent discards changes
#27070
Duplicate error icons for TL script fields
#27073
LDAPAccessService: connection establishment using the host name instead of the IP address
#27078
Prevent unnecessary, incorrect conversion of simple attribute values
#27085
Create in tree grid on misconfiguration leads to NullpointerException
#27087
Map-valued properties in configurations of form editor plugins do not work
#27088
Multiline text in layout template parameters is reformatted
#27090
TreeTableComponent shall initially select the first visible row, if initially one row shall be selected
#27094
Reconfiguration of a component in the tile environment removes toolbar commands
#27098
Default-for definition in in-app tile layouts does not work
#27107
Tab "Process Cockpit" is available twice for selection at "Configure Tabs
#27110
Launch new app without test code
#27113
In the Process Cockpit, the number of tasks is not displayed directly after login
#27115
Error in deployed app without autoconf directory
#27119
Mail dispatch: Startup notification leads to NullpointerException
#27121
In-app reconfiguration and re-export of a modular layout crashes the application
#27122
Reconfiguring and exporting an inherited (modular) layout is not applied
#27129
Declarative forms: Values of @MapBinding properties are not taken over
#27130
TLScript fields not visible in BPE
#27132
Chart.js JavaScript is included in the application CSS
#27140
Personalization of forms for local types crashes the application
#27142
Missing error with wrong command clique
#27146
Memory leak due to multiple registration of selection listeners in the GridComponent
#27147
Update Dependency Check to version 7.4.4 or above
#27148
Scriptrecorder: Input of date values via date popup control is not recorded
#27153
Error when running tests in a build reactor via Maven
#27164
Missing sender address in mails
#27165
Generic separator for mail folders
#27170
ClassCastException on representation of a tl.core:DateTime attribute in a composition table
#27172
LayoutEditor: StackOverflowError with wrong model declaration
#27176
Unfolding in the model element tree causes selection of another unfolded element
#27178
Infinite tree in table selection dialogs leads to errors
#27179
Service configurations cannot be changed in a deployed system
#27182
Memory overflow during execution of scripted tests
#27191
Time selection logs errors
#27197
Missing component model for grid object initialization with multiple input channels
Nice to have
#25295
Refresh empty search returns NPE
#27128
Double pop-up in view "External selection in the tree
Enhancement

Major

#26986

Do not use theme variables directly but only via CSS variables

Code migrationFlatThemeInAppDevelopmentTheme

The developer can use the Top-Logic theme variables in stylesheets (CSS files) by placing the variable name inside percent signs: %TL_THEME_VARIABLE_NAME%.

When the application is launched, all CSS files are merged and one large comprehensive file is created per theme, replacing the theme variables with their value. This is unattractive, as the user is deprived of the possibility to use the browser console inspector to find out if and which theme variable might be used in the examined location.

It is difficult to find out how the theme variables are related to parts of the layout.

Implementation

Instead of replacing the theme variables directly with their value, CSS variables are used to allow the user to use the developer tools to find out which variables have influence in the examined part of the layout.

For each theme variable X` used in a CSS file, a CSS variable `--X: value is defined with the value of the theme variable. The evaluation of the theme variable must be changed accordingly from %X% to var(--X). The CSS variables are defined in the CSS selector :root.

Code migration

  • In CSS files search for the regular expression %([A-Za-z_][-A-Za-z_0-9\.@/]*)% (pattern of the name of a theme variable) and replace it with var(--$1).
  • CSS variables cannot be used inside url (details here). Unless the variables are used explicitly in the Java code, their type can be wrapped from <icon> to <string> and their value in url(...) in the appropriate theme-settings.xml definitions. Otherwise, new variables must be created. In the CSS files, the url(var(--foobar) can then be replaced by var(--foobar) for the variable foobar.
  • Values of variables used for further calculation must be used within a CSS calc function. Expressions of the form width: -var(--myWidth) are invalid. Instead, the expression width: calc(-1*var(--myWidth)) can be used. To identify corresponding problems the regular expression :\s*([^\s]+\s*var\(--[a-zA-Z_-]+\)|var\(--[a-zA-Z_-]+\)[^\s]+\s*)\s*; can be used for CSS files. Not all search hits are problems, since CSS shortcuts also exist, such as margin: 5px 10px, which set a margin for all pages.
  • Dialog#createDialog has been removed.
  • LayoutUtils#createDialogInfo the signature for width and height was changed from int to tl:DisplayDimension.
  • In tl:SizeInfo the widthUnit and heightUnit configuration options have been removed and the type of height and widht has been changed from int to tl:DisplayDimension. Instead of, for example, configuring width and height separately in tl:DialogInfo via the value and their unit, this is now done directly via height and width respectively.

{{#!xml <dialogInfo

height="100"
heightUnit="px"
width="50"
widthUnit="%"

/> }} becomes: {{#!xml <dialogInfo

height="100px"
width="50%"

/> }}}

  • The templates
    • editAttributedDialog.xml
    • createAttributed.xml
    • riskDialog.xml
    • createAttributedNoSecLayout.xml

now have unity for the width and height parameters.

  • The configuration tl:SortConfigDialog for dialogs for sorting columns now has only the options width and height (value with unit) instead of the options dialogWidth, dialogHeight, dialogWidthUnit and dialogHeightUnit.

Test

Start demo. In the application, examine parts of the layout using the Developer Tools inspector. You should see the use of CSS variables. In particular, a large set of variables should be defined in the CSS selector :root.

  • 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