Page MenuHomePhabricator

Property persistence for property relation instance identifing (RII) properties
Open, NormalPublic


As default we should have persistency settings for the standard relation instance identifing (RII) properties (see docmentation of PropertyRelationRuleBase.

The RII-properties follow the following naming schema:
 - <InstanceID>: The unique index of the relation for the Source. Used to assign/group the properties to
                        their relation. In the default implementation of this class the instance id is an positive integer (i>0).
 - relationUID: The UID of the relation. Set by the ID-layer (so by this class)
 - destinationUID: The UID of the Destination. Set by the ID-layer (so by this class) if Destination implements
 - ruleID: The identifier of the concrete rule that sets the property. Is specified by the derived class and set
              automaticaly be this base class.
 - <data-layer-specific>: Information needed by the Data-layer (so derived classes) to find the relationUID

The persistency settings should cover the default ones (relationUID, destinationUID and ruleID) and all RII properties that only have one data-layer-specific node.
E.g. "MITK.Relations.1.MyDataSpecific" would be covered, but not ""MITK.Relations.1.MyDataSpecific.2ndDataSpecificNode".

All other rule relevant properties must be covered by special persistency setting, defined by the implmenter of the rule.

Additional TODO: Fix wrong docu in PropertyRelationRuleBase. The naming schema for RII properties still contains <RuleID>.

Event Timeline

floca triaged this task as Normal priority.Mar 5 2019, 3:43 PM
floca created this task.

If we go for it, we should also do T25466: Enhance TemporoSpatialStringProperty to represent and store information more compact in order to do not bloat stored data more then necessary.