- Issue created by @catch
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Those
@todo
s date back to the earliest PoCs, when we didn't have a single d.o issue yet! Yes, many parts of XB are unchanged from the early PoCs. 😅Just to make sure: if 📌 Refactor the XB field type to be multi-valued, to de-jsonify the tree, and to reference the field_union type of the prop values Active happens, you agree we wouldn't need to do this, right?
- 🇬🇧United Kingdom catch
I think that issue would still result in a JSON column to store the field values.
From the current issue summary:
data_sources (json): The sourceTypes and expression portion of what's currently in the props column (prior to this proposed refactoring) for this component instance. For example:
static_values (json): The value portion of what's currently in the props column (prior to this proposed refactoring)
Or see option #3 "Field Union JSON" from the issue summary of ✨ JSON-based data storage proposal for component-based page building Active .
The reason for this being that it's a single field type, and that field type needs to be able to handle the equivalent of compound field API fields, and we wouldn't want 'value_1', 'value_2', 'value_3' etc. columns (brings back memories of flexinode).
So column-per-component doesn't eliminate JSON, it only eliminates a lot of the nesting, and allows individual components to be accessed without parsing them out of the JSON tree when that might be necessary (as discussed in the alternative rendering issue).
So even though what's in the JSON field would be smaller, it would still be a JSON field, so need similar treatment.