major
nice-to-have
defect
major
IndexedObjectNaming makes it easy to make persistent objects scriptable by defining, for a business object type, which attributes serve as the key attributes for scripting. The object is identified in the script based on the values in these key attributes:
#!xml
<config config:interface="com.top_logic.layout.scripting.recorder.ref.value.object.IndexedObjectNaming$GlobalConfig">
<types>
<type name="my.package:MyType" attributes="name,techId,owner"/>
</types>
</config>
However, the values of the key attributes must not be empty (null); otherwise, running the script will result in an error.
Improvement
Non-required attributes should also be allowed as key attributes. Although null is generally not a good identifier, this allows technically unnecessary attributes to be included in the key to make the script more readable (provided the additional attribute is populated). In the example above, `techId ` and `owner` would be a sufficient identifier. However, the script becomes more readable if `name ` is included in the identifier.
Test
No test.