Problem/Motivation
The heading-level work in Vartheme BS5 Educare (#3625237) changes the props schema of three components, which changes their Canvas component version hash. The recipe pins those hashes in active_version, so the shipped config has to be re-exported in lockstep or the recipe installs a pin the theme no longer produces.
Measured on a fresh Drupal CMS + Educare install:
| Component | Recipe pins | Theme computes (after #3625237) |
|---|---|---|
| card | 91ca18128c643751 | a9271d866e4d7629 |
| card-icon | 62345acf6ed14ba8 | 80c3865cb0488406 |
| card-pricing | f4565661e8e1afba | f09cd091e0ce28a8 |
| hero-slider-container | e2e20b3c130bcb2d | e2e20b3c130bcb2d (unchanged) |
hero-slider-container is a template-only change and its hash does not move, which confirms the hash covers the props schema rather than the Twig.
Separate, pre-existing defect found while measuring this, and not caused by #3625237: the card-icon pin is already stale on 1.0.x today. Reverting the theme to stock 1.0.x (git archive HEAD) and re-reading the computed hashes gives:
card- recipe pins 91ca18128c643751, stock theme computes 91ca18128c643751: in sync.card-pricing- recipe pins f4565661e8e1afba, stock theme computes f4565661e8e1afba: in sync.card-icon- recipe pins 62345acf6ed14ba8, stock theme computes f0674bf2770827a4: out of sync before any change of ours.
So an earlier card-icon schema change landed in the theme without the recipe config being re-exported. The re-export below corrects it as a side effect, but the process gap is worth recording.
Steps to reproduce
- Install Drupal CMS and pick the Educare site template, on stock 1.0.x.
- Read
active_versionout ofconfig/canvas.component.sdc.vartheme_bs5_educare.card-icon.ymlin the recipe. - Read the version the installed site computes for that same component.
- They differ: 62345acf6ed14ba8 pinned against f0674bf2770827a4 computed.
Proposed resolution
- Re-export
canvas.component.sdc.vartheme_bs5_educare.card,.card-iconand.card-pricingfrom a fresh install carrying the #3625237 theme change. - The new
heading_levelprop appears as alist_string/options_selectfield with defaulth3.card-pricing'slevelreads its allowed values live from the schema, so the widened 1-6 range needs no config change beyond the version bump.
Remaining tasks
- ✅ File an issue
- ❌ Merge #3625237 in Vartheme BS5 Educare first - this re-export depends on it
- ❌ Addition/Change/Update/Fix
- ❌ Testing to ensure no regression
- ➖ Automated unit/functional testing coverage
- ➖ Developer Documentation support
- ➖ User Guide Documentation support
- ➖ UX/UI designer responsibilities
- ❌ Accessibility and Readability
- ❌ Reviewed by a human
- ❌ Code review by maintainers
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ❌ Update Release Notes
- ❌ Release
User interface changes
- Canvas shows the new Heading level select on Card and Icon Card.
API changes
- N/A
Data model changes
- None. Existing placements keep their stored version and keep rendering.
Release notes snippet
- The shipped Canvas component configs for Card, Icon Card and Pricing Card are re-exported to match the theme, which also corrects a stale Icon Card pin.
Issue fork educare-3625238
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
rajab natshahComment #5
rajab natshah✅ Released educare-1.0.4
Comment #6
rajab natshah✅ Released educare-1.0.4
Comment #7
rajab natshahComment #8
rajab natshah