- 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
3 months 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 .