Problem/Motivation
The recipe ships 21 Canvas component config entities for Vartheme BS5 Educare SDCs that are declared noUi: true in the theme. Canvas never creates a config entity for a noUi / ineligible component, so the correct state for all 21 is that no config entity exists at all. They are export noise, and they are shipped in a state Canvas cannot evaluate.
Each of the 21 files looks like config/canvas.component.sdc.vartheme_bs5_educare.details.yml:
status: false active_version: fallback versioned_properties: active: settings: last_active_version: '' source: sdc
Component::sourcePluginCollection() takes the FALLBACK_VERSION branch and evaluates
$this->versioned_properties[$this->getSettings()['last_active_version']]['fallback_metadata']['slot_definitions']with an empty-string key, producing 3 PHP warnings per component load. Across an install that is 567 warnings: 189 x Undefined array key "" and 378 x Trying to access array offset on null, all raised in canvas/src/Entity/Component.php (line 231 on one Canvas revision, line 237 on the other build's Canvas revision).
The 21 components are: details, field, fieldset, form, form-element, form-element-radiocheckbox, links-dropbutton, list, local-tasks, page, page-footer, radios, region, select, social-auth, user, views-view, views-view-grid, views-view-list, views-view-summary, views-view-unformatted.
Relationship to #3620989: that issue records the same 567-warning symptom, but attributes it to the active-versus-hash component version mismatch. This is a different cause with a different fix, and the fix here is independent and shippable on its own — it does not depend on, and does not pre-empt, whatever approach #3620989 settles on for component versions.
Steps to reproduce
Confirmed on two independent DDEV builds, both Drupal core 11.4.6 with drupal/educare:1.0.x-dev.
Clean-room build on plain Drupal CMS, no Varbase profile:
ddev config --project-type=drupal11 --docroot=web ddev composer create-project drupal/cms ddev composer config minimum-stability dev ddev composer require drupal/educare:1.0.x-dev ddev drush si -y ../recipes/educare
- Run the commands above (this needs the fix for the install abort in #3622084 to get through the install).
- Count the PHP warnings emitted during the install: 567, in the 189 / 378 split above.
The same 567 warnings, in the same split, appear on a Varbase-flavoured Drupal CMS build of the same recipe version.
Proposed resolution
- Delete the 21
config/canvas.component.sdc.vartheme_bs5_educare.*.ymlfiles listed above. - Delete the 21 matching
disable: []entries underconfig.actionsinrecipe.yml— those actions would otherwise target config that no longer exists. - No patch is involved. The change is recipe config only.
Verified: the install warning count drops from 567 to 0 on both builds.
Remaining tasks
- ✅ File an issue
- ❌ 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 educare-1.0.2
User interface changes
- None. Canvas does not offer a
noUicomponent in the editor either way.
API changes
- N/A
Data model changes
- 21 Canvas component config entities are no longer created by the recipe.
Release notes snippet
- Removed 21 Canvas component configs for noUi Vartheme BS5 Educare components, which the recipe should never have exported. This clears 567 PHP warnings raised on every install.
AI-Generated: Yes
Issue fork educare-3622085
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 #2
rajab natshahComment #5
rajab natshah✅ Released educare-1.0.2
Comment #7
rajab natshah