- Issue created by @f.mazeikis
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Without this requirement, a Component may appear in the UI that can not be populated at all, or only partially.
After this, π [PP-2] Add ComponentAuditabilityTest Active likely becomes more important than it already is.
Tempted to bump to . This will be super confusing otherwise.
- Merge request !194#3469461: New component requirement: each SDC prop must have StorablePropShape β (Merged) created by Unnamed author
- Status changed to Needs work
4 months ago 12:58pm 22 August 2024 - π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Looks like this is 99% doneππ₯³
A grand total of 2 remarks now, and itβll be trivial to address both π
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Can you please also update
docs/data-model.md
, specifically this line:- MAY require `SDC`s to meet certain criteria (such as: MUST have `title` for each prop, MUST have `example` for each required prop)
β¦ because the new criteria we're adding here actually are specifically for the data model β i.e. to ensure we only allow using SDCs that are actually supported/fully usable.
- πΊπΈUnited States Kristen Pol Santa Cruz, CA, USA
Seems critical IMO. Blocked by this at the moment :)
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Blocked by this at the moment :)
Agreed that without this, it's annoying/painful to test additional components in XB!
Bumped priority π
- π¬π§United Kingdom f.mazeikis Brighton
Weβve got this pretty close to done, but it is still failing Cypress test. Specifically, due to
Shoe Button
(components/simple/shoe_button/shoe_button.component.yml
) component missing. It is not being auto-generated as thereβs no StorablePropShape for itβs icon prop.
The way I see us resolving this:- Removing/updating cypress test (I originally was thought it was testing a feature we need, but @wim-leers tells me otherwise)
- Prioritising this might resolve #3467890 π [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse Postponed , but that issue was deprioritised and would take quite a while
- We could consider adding another hardcoded match for
icon
shape prop inDrupal\experience_builder\SdcPropJsonSchemaType::computeStorablePropShape
as we are already doing for image (L243), but it also needs #3467890 π [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse Postponed
I'll proceed with removing or modifying the failing Cypress test.
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
- Removing/updating cypress test is not an option, as I assume it tests feature that we expect XB to have
Why did you conclude it is βa feature we expect XB to haveβ? Thatβs definitely not the case. It wasnβt listed in
xb-general.cy.js
at all until π Auto-create/update Component config entities for all discovered SDCs that meet XB's minimum criteria Fixed landed last week!So π― for this choice.
- Prioritising this might resolve #3467890, unless Iβm reading it wrong, but it might take quite a while?
This would take VERY long, has just been literally deprioritized by Lauri (I see he didnβt post that on d.o β fixed that: #3467890-11: [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse β ).
Itβd take too long to unblock e.g. the people working on https://www.drupal.org/project/demo_design_system β
- We could consider adding another hardcoded match for
icon
shape prop inDrupal\experience_builder\SdcPropJsonSchemaType::computeStorablePropShape
as we are already doing for image (L243), but it also needs #3467890 π [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse Postponed
this is a viable choice β¦ if there is a field type that can do all this. And there isnβt. It needs 3 different string enums. That simply means we need π [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse Postponed indeed. Iβll capture it an example on that issue π
P.S.: Any component that is not showing up yet is essentially an implicit
@todo
. Just like\Drupal\Tests\experience_builder\Kernel\PropShapeRepositoryTest::getExpectedUnstorablePropShapes()
is doing that explicitly. - π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Captured
shoe_button
'sicon
as an example at #3467890-12: [later phase] Support `{type: object, β¦}` prop shapes that require *multiple* field types β also: nested components/component reuse β . - Assigned to wim leers
- Status changed to Needs review
4 months ago 12:40pm 27 August 2024 - Assigned to f.mazeikis
- Status changed to Needs work
4 months ago 12:54pm 27 August 2024 - π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
I think I found dead/duplicate test coverage β¦ and a weakness in the test infra that we overlooked in π Auto-create/update Component config entities for all discovered SDCs that meet XB's minimum criteria Fixed β left a suggestion to harden that π
Finally: this needs an update to
docs/data-model.md
β see #5. - πΊπΈUnited States Kristen Pol Santa Cruz, CA, USA
Sorry but where/what is "3.1.2.b"? My brain is becoming mush :D
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
@kristen pol it's a section in that
*.md
file.@f.mazeikis There's 3 pieces of feedback not yet addressed.
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
This would've prevented π Component config entities are incomplete: missing entries for optional props, causing errors in ComponentPropsForm Fixed . Crediting @kristen pol for creating that issue, which further confirms the need for this π
- Assigned to wim leers
- Status changed to Needs review
4 months ago 11:53am 28 August 2024 - Issue was unassigned.
- Status changed to RTBC
4 months ago 1:07pm 28 August 2024 - π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Holy shit that was super tricky: https://git.drupalcode.org/project/experience_builder/-/merge_requests/1... π¬
Iβve been in the very depths of the kerneltestbase shenanigans in the past, otherwise I probably wouldnβt have figured it out either.
Should be all green now!
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Random fail in E2E test:
cy:command β assert expected **<input#edit-xb-component-props-static-static-card1ab-cta1-0-value.rt-reset.rt-TextFieldInput>** to have value **ponytail** Actual: "ponytail" Expected: "ponytail" cy:command β get [data-drupal-selector="component-props-form"] [data-drupal-selector="edit-xb-component-props-static-static-card1ab-cta2-0-value"] cy:command β focus cy:command β clear cy:command β uncaught exception TypeError: Cannot read properties of null (reading 'offsetHeight')
Cannot reproduce this locally: https://git.drupalcode.org/project/experience_builder/-/jobs/2578070/art...(failed).png β passes just fine.
Retrying: https://git.drupalcode.org/project/experience_builder/-/jobs/2578268.
-
Wim Leers β
committed b57a5d9c on 0.x authored by
f.mazeikis β
Issue #3469461 by f.mazeikis, Wim Leers, kristen pol: New component...
-
Wim Leers β
committed b57a5d9c on 0.x authored by
f.mazeikis β
Automatically closed - issue fixed for 2 weeks with no activity.