Skip to content

IBX-11437: Implemented reference aware external storage#730

Open
barw4 wants to merge 4 commits into4.6from
ibx-11437
Open

IBX-11437: Implemented reference aware external storage#730
barw4 wants to merge 4 commits into4.6from
ibx-11437

Conversation

@barw4
Copy link
Contributor

@barw4 barw4 commented Mar 19, 2026

🎫 Issue IBX-11437

Related PRs:

ibexa/admin-ui#1856
https://github.com/ibexa/fieldtype-page/pull/191
https://github.com/ibexa/installer/pull/207

Description:

Problem

When creating a new content version (draft), all field external storage data is fully copied for every translation — even translations not being edited. For field types with complex external storage (e.g. Page Builder with zones, blocks, attributes across multiple tables), this causes thousands of redundant queries per draft creation.

Solution

A new ReferenceAwareExternalStorage interface allows field types to opt out of copying external data for untouched translations during draft creation. Instead of duplicating data, the storage creates a lightweight reference to the source version's data and resolves it transparently on read.

interface ReferenceAwareExternalStorage
{
    public function referenceLegacyField(
        VersionInfo $versionInfo,
        Field $field,
        Field $originalField
    ): ?bool;
}

For QA:

Documentation:

@barw4 barw4 marked this pull request as ready for review March 19, 2026 21:41
@barw4 barw4 requested a review from a team March 20, 2026 08:37
@ibexa-workflow-automation-1 ibexa-workflow-automation-1 bot requested review from Steveb-p, ViniTou, alongosz, ciastektk, konradoboza, mikadamczyk, tbialcz and wiewiurdp and removed request for a team March 20, 2026 08:37
Copy link
Member

@alongosz alongosz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@barw4 nitpick: could you please fix PRs titles so they include a verb per internal conventions? e.g. "Implemented" - ideally in past simple so we don't forget to change it in the merge commit.

More interesting remarks:

@barw4 barw4 changed the title IBX-11437: Reference aware external storage IBX-11437: Implemented reference aware external storage Mar 20, 2026
@barw4 barw4 requested a review from alongosz March 20, 2026 13:00
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants