- Issue created by @larowlan
- π¦πΊAustralia larowlan π¦πΊπ.au GMT+10
This allows us to remove
\Drupal\experience_builder\InternalXbFieldNameResolver::getXbFieldName
, removes the restriction that nodes need to use a field calledfield_xb_demo
and provides a bridge for Layout Builder and Paragraphs.So I think this should be a stable blocker
- πΊπΈUnited States Kristen Pol Santa Cruz, CA, USA
tagging for findability
- Assigned to larowlan
- Status changed to Postponed: needs info
13 days ago 12:36pm 20 May 2025 - π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
We have
\Drupal\experience_builder\Storage\ComponentTreeLoader
+ComponentTreeEntityInterface
since π Create a centralized service to handle loading component trees Active . That's a step towards this, in a way.But the issue summary is about going further, and loading e.g. Layout Builder trees into XB fields.
Two thoughts:
- AFAICT some module could already decorate the
ComponentTreeLoader
service and live-transform e.g. a Layout Builder tree to an XB component tree.
The only blocker: there's no interface for it yet. - This kinda feels like the wrong abstraction layer to me. I think the better choice would be to not transform a LB tree to an XB component tree as described in
docs/data-model.md#3.2 + 3.3
, but instead to an XB client-side data model as described in#3.4
.Why?
Because:
- saving the LB-converted-to-XB component tree blindly (without performing validation) would be theoretically possible, but is highly probable to be imperfect and quit likely to be invalid. Loading it into the XB UI instead as if it were stored as an XB tree would be preferable, because it allows the content author to self-service upgrade but be confident about the result.
- it would introduce infrastructure (and hence pave the path) for taking various external-to-XB data sources, perhaps even external to the Drupal instance itself (think: Figma, an existing WordPress page, etc.), and allow loading that directly into XB's UI
What am I missing? I'd swear that that second point is exactly what you told me, @larowlan, last summer? ππ
P.S.: either way, I don't see how the parent is relevant? We've got multiple component source plugins already by now.
- AFAICT some module could already decorate the
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
And just spotted where that second idea was written down by you: βjust in time loadingβ, in π Add typed value-objects for the component tree structure Active .