Major
Detail
Major
Detail
Until now, a technical column _self was always added to tables via the generic, in which a link to the object itself is displayed with a type icon and the label of the object, which is generated via the label provider for the object and is usually derived from the attribute name. This leads to a duplication of the columns "name" and "_self", which is inconsistent for the user. In the display, "_self" must be shown for a link and icon to appear, but for editing, "name" must be shown because the object label cannot be edited. This leads to a number of inconsistencies.
Improvement
The generically introduced technical column _self is removed from tables.
It is possible to annotate or configure an ID column at the type of a concrete table. The ID column is the column in a table for which a symbol of the row object type is added before its value and which is displayed as a link to its row object. If no ID column is specified, the name column is used by default if it exists.
Code migration
In the files of the form
- *.jsp
- *.inc
- *.xml
- *.properties
- *.java
the technical column _self should be replaced by name.
If in the *.xml layout files at the (old) column _self special Comparator, tl:ResourceProvider, etc. were configured, which were applied to the row object itself, then these must be adapted or the (new) column name of the simplicity with e.g. the tl:IdentityAccessor, if possible, in the configuration be supplemented.
ColumnInfoFactory#createReferenceColumn(TLTypePart, Set<? extends TLType>, ResKey, boolean, boolean) has been extended by the tl:Accessor to ColumnInfoFactory#createReferenceColumn(TLTypePart, Set<? extends TLType>, ResKey, Accessor<?>, boolean, boolean).
In tl:ColumnsTemplateParameters the property idColumn was removed, which was responsible for sorting the rows. Instead, the sort order can be configured on a table using a tl:TableConfigurationProvider:
{{#!xml <configurationProviders>
<configurationProviders
class="com.top_logic.layout.table.model.SortOrderTableConfigurationProvider"
sortOrder="foobar:descending"
/>
</configurationProviders> }}} Corresponding layout and script recorder files need to be adjusted.
Test
- It should be rendered in all tables, if not otherwise annotated in the displayed type or configured in the table itself, the column name with an icon of the row object type as a link. Previously, for example, in the Type Demo > Grid view, the name was not rendered as a link.
- Configure type without name attribute (e.g. with title and description) and render as table or grid. In type select title as ID column. Accordingly, in the tables the value of this column should be displayed as a link with type icon.