- Issue created by @rajeshreeputra
- Merge request !147Resolve #3519247 "Acquia DAM and Experience builder integration." โ (Open) created by rajeshreeputra
- ๐ฎ๐ณIndia vishalkhode
vishalkhode โ made their first commit to this issueโs fork.
- ๐ฎ๐ณIndia vishalkhode
vishalkhode โ changed the visibility of the branch 3519247-approach-1 to hidden.
- First commit to issue fork.
- Status changed to Needs review
about 2 months ago 6:45am 17 June 2025 - ๐ฎ๐ณIndia rajeshreeputra Pune
Updated MR with necessary changes, requesting review.
- ๐ฎ๐ณIndia chandu7929 Pune
chandu7929 โ changed the visibility of the branch 3519247-acquia-dam-all-media to hidden.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
The approach in this MR is incompatible with what I've heard @lauriii describe: support both core's
Image
MediaType
and Acquia DAM images at the same time.๐ ๐ Decouple image shape matching from the `image` MediaType Active paved most of the path for this to work the way that I've heard @lauriii describe it, but you'll first need to do ๐ Support image shape matching from the `image` MediaSource: support both the `image` + `oembed` MediaSources simultaneously Active to make it entirely possible. I've included clear next steps.
More concerning: the way this MR currently works is by introducing a completely separate prop shape, which means that all existing SDCs/code components won't work! Plus, the sole SDC that uses that new prop shape is adding half a dozen or so props that would present concerns to the content author that they should never see.
- First commit to issue fork.
- ๐บ๐ธUnited States japerry KVUO
Due to the fact that code components are hard coded to image schemas, and that we need to define our own schema to start asset, external, and version IDS.. marking postponed until ๐ Support image shape matching from the `image` MediaSource: support both the `image` + `oembed` MediaSources simultaneously Active lands.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Implemented ๐ Support image shape matching from the `image` MediaSource: support both the `image` + `oembed` MediaSources simultaneously Active for y'all.
Then, over here:
-
The existing
- Merged in upstream
1.1.x
because without it, Acquia DAM does not support Drupal 11.2, which XB requires - Removed the SDC this MR was adding: https://git.drupalcode.org/project/acquia_dam/-/merge_requests/147/diffs...
- Added test coverage to prove that Acquia DAM can successfully build on top of what XB's
\Drupal\experience_builder\Hook\ShapeMatchingHooks::mediaLibraryStoragePropShapeAlter()
does, by taking whatever that found and adding in Acquia DAM's (hardcoded?!) image media type: https://git.drupalcode.org/project/acquia_dam/-/merge_requests/147/diffs... - โฆ then updated Acquia DAM's
hook_storage_prop_shape_alter()
implementation to actually make the test pass - Result:
hook_storage_prop_shape_alter()
in this MR was very helpful as a blueprint of knowing what the bundle + field name + prop name to target were! Thanks ๐ ๐Note: CI is failing on 11.2 for HEAD of Acquia DAM: https://git.drupalcode.org/project/acquia_dam/-/jobs/5977020. This MR just adds one more failure: https://git.drupalcode.org/issue/acquia_dam-3519247/-/jobs/6071248. I recommend pinning it to Drupal 11.2.2 just like XB does, otherwise you won't have a stable test target.
- Merged in upstream
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
The crucial new test passes fine locally โ well, 3 of the 4 pass:
DDFD 4 / 4 (100%) Time: 00:53.362, Memory: 16.00 MB There was 1 failure: 1) Drupal\Tests\experience_builder\Kernel\AcquiaDamHookStoragePropShapeAlterTest::testPropShapesYieldWorkingStaticPropSources Sample value [{"target_id":"1"},{"target_id":"2"},{"target_id":"3"}] generated by field type entity_reference for type=array&items[$ref]=json-schema-definitions://experience_builder.module/image&items[type]=object is invalid! Failed asserting that two arrays are identical. โฆ
The reason? The sample
acquia_dam_image_asset
media entity that gets randomly generated is invalid. I'll leave that for y'all to solve :) - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Per request of @mglaman:
Also, GIF of this in action and showing the ability to seamlessly pick images from the local media library (core's
Image extends File
media source) and Acquia DAM: