Problem/Motivation
DatabaseStorageControllerNG accesses field properties hardcoded in following methods:
DatabaseStorageControllerNG::mapToDataStorageRecord()DatabaseStorageControllerNG::mapToRevisionStorageRecord()DatabaseStorageControllerNG::mapToStorageRecord()DatabaseStorageControllerNG::attachPropertyData()
In all this locations ->value is used to either read or write a field property.
This is ugly because there's no rule that defines that a field has to have a value field property.
E.g. EntityReferenceItem defines target_id and entity as properties.
Thus EntityReferenceItem has some mapping in its getter / setter methods to deal with value.
However, we really should provide a sane way to define what properties have to be handled by the storage controler.
Open question: Is there the posibility that e.g. EntityReferenceItem can define more than one property to be stored / read?
"Related Issues":
- #1847588-30: Implement the new entity field API for the Entity-Reference field type
- #1818556-176: Convert nodes to the new Entity Field API