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