major
nice-to-have
defect
major
enhancement
You can configure attributes that have already been calculated using simple path expressions (which are relatively ugly):
#!xml
<annotations>
<storage-algorithm>
<derived-storage>
<expression-evaluation>
<navigate-backwards attribute-name="inlineReference"
type="DemoTypes:DemoTypes.A"
/>
</expression-evaluation>
</derived-storage>
</storage-algorithm>
</annotations>
Instead, it should be possible to configure calculated attributes using general search expressions (model-based search):
#!xml
<annotations>
<storage-algorithm>
<query expr="x -> $x.referers(`DemoTypes:DemoTypes.A#inlineReference`)"/>
</storage-algorithm>
</annotations>
The configured expression must be a function that takes the base object for which this attribute is to be calculated as an argument.
Test
- The inlineReferenceReverse and derivedPath attributes in tl-demo.