Detail
#28359
Dynamic columns - Not possible for transient objects
If you configure in-app dynamic columns for a table, the columns can be defined by a set of functional objects, for example. Internally, however, a string ID must be created for a column object. This internal ID is based on the ObjectKey. However, transient specialized objects do not have an ObjectKey, so that you run into an NPE (see com.top_logic.model.search.providers.DynamicColumnProviderByExpression.id(Object)).
It would be better if the IDs were determined internally, e.g. by a simple counter, and a mapping to the specialized objects was managed.
Analysis
The ID is not actually needed at all - only to save any personalizations of the columns. However, a stable ID is not possible for transient objects. Therefore, the column number (within the defined dynamic columns) is used in this case.
Test
No test.