Page MenuHomePhabricator

Property persistence for property relation instance identifing (RII) properties
Closed, ResolvedPublic

Description

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:
 "MITK.Relations.<InstanceID>.[relationUID|destinationUID|ruleID|<data-layer-specific>]"
 - <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
                           IIdentifiable.
 - 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>.

Revisions and Commits

rMITK MITK
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

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.

floca added a revision: Restricted Differential Revision.Jun 17 2020, 11:01 PM