Problem/Motivation
This issue started narrow: the Educare recipe failed to install because its Canvas config was named for the wrong theme, its packaged content was stale, and the Blog view was bound to the base theme's SDCs. Fixing that install failure grew into packaging the whole Educare site template recipe. Verified with a fresh install from a dropped database, both with drush and through the Varbase browser installer's site-template picker.
1. Canvas config was named for the wrong theme. The recipe shipped 70 files named canvas.component.sdc.vartheme_bs5.*.yml and 2 named canvas.page_region.vartheme_bs5.*.yml, while their contents already declared vartheme_bs5_educare, so install died with:
The configuration name "canvas.component.sdc.vartheme_bs5.details" does not match the ID "sdc.vartheme_bs5_educare.details"
2. The Blog view was bound to the base theme. varbase_blog_base ships views.view.blog pointing at vartheme_bs5:grid, vartheme_bs5:views-view-grid and vartheme_bs5:views-view-unformatted, which do not exist on the Educare theme, so the Latest Updates block failed with:
Twig\Error\LoaderError ... Template "vartheme_bs5:views-view-grid" is not defined
3. The packaged content had drifted from the working Educare site.
4. Media shipped with raw upload names (image-124-(1).png, images.png, the typo quate-mark.png) and no alt/title text.
5. The recipe duplicated media and content already provided by sub-recipes (varbase_media_assets, varbase_demo_content), plus a leftover Varbase-branded Features page and a duplicated Privacy policy link.
6. Only patterns adapted from Varbase Starter shipped, still pointed at the base theme's SDCs and Varbase marketing copy/imagery.
7. Events were hand-placed cards instead of real content.
8. The News section read as a generic Blog instead of News.
9. drupal_cms_privacy_basic ships its Privacy policy page unpublished while the Klaro consent banner links to it, so the link 404'd.
10. The Upcoming Events section was squeezed into a two-column layout, and the footer "Powered by Vardot" logo pointed at a themes/custom path while the theme installs into themes/contrib, so it 404'd on every page.
Steps to reproduce
Fresh install from a dropped database. Verified both ways:
- drush site:install recipes/educare
- Varbase browser installer, selecting Educare from the site-template picker
Proposed resolution
- Canvas config renamed to the Educare theme namespace. All 70 canvas.component.sdc.vartheme_bs5.*.yml files and 2 canvas.page_region.vartheme_bs5.*.yml files renamed to vartheme_bs5_educare so filename and declared ID agree, and the config refreshed from the working Educare site.
- Blog view repointed instead of forked. A config action repoints views.view.blog's Canvas component styles at the Educare theme SDCs (vartheme_bs5_educare:grid, vartheme_bs5_educare:views-view-grid, vartheme_bs5_educare:views-view-unformatted), so Educare reuses varbase_blog_base.
- Content refreshed from the working Educare site: 12 Canvas pages, their media, files and menu links.
- Media made editor-friendly: renamed descriptively (for example students-talking-on-campus-steps.jpg) with a human name plus alt and title text describing the picture.
- No duplication of what sub-recipes already provide: dropped the media varbase_media_assets ships under the same UUIDs (Varbase feature icons, About Banner, AI Chatbot Overview, local video), dropped varbase_demo_content, dropped the leftover Varbase-branded Features page, dropped the duplicated Privacy policy link.
- Patterns packaged: the 8 ready patterns from the Educare site (About Us, Event last row, FAQ, Heading with subtitle and button, News Banner, Our achievements, Stories, Three actions card), plus 6 common sections adapted from Varbase Starter (Hero Slider, Call to Action Banner, Call to Action Cards, Contact Form with Info, Latest News Posts, Page Intro Banner) repointed to the Educare theme's SDCs and component versions, rebound to the education photography this recipe ships, with Varbase marketing copy rewritten as education copy. Media references exported as the source site's numeric entity IDs are resolved through media UUIDs instead.
- Events packaged via drupal/events, so events are real content instead of hand-placed cards. Following varbase_blog_base, the Event content type gets a VMI card view display, a Canvas full content template (title, smart date, body) and a Canvas card template, and the Events view renders through the Educare Canvas grid. 6 demo events ship. Without a full content template an event page rendered empty, since the theme places no blocks and Canvas owns the content region.
- News keeps using the Varbase Blog content type; only the wording changes: page titled News, aliased /news, filter and block labels read as news.
- Educare publishes its own Privacy page at /privacy and points the Klaro consent banner at it, since drupal_cms_privacy_basic's page cannot be republished (core recipes import content with Existing::Skip).
- Layout and asset fixes: the Upcoming Events section is now full width instead of a two-column section, and the footer "Powered by Vardot" logo path fixed to themes/contrib.
Result on a fresh install: 12 Canvas pages, 6 events, 17 media, 14 patterns; every page returns 200 with no Twig error; every shipped menu link resolves.
AI-Generated: Yes (Used Claude Code to diagnose the Canvas config/ID mismatch and the Blog view Twig error, and to package the Canvas config, content, media, patterns, Events and News described above; reviewed by rajab-natshah.)
Remaining tasks
- ✅ File an issue about this project
- ✅ Addition/Change/Update/Fix to this project
- ❌ Testing to ensure no regression
- ➖ Automated unit/functional testing coverage
- ➖ Developer Documentation support on feature change/addition
- ➖ User Guide Documentation support on feature change/addition
- ➖ 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
- Installer site-template picker shows a real Educare screenshot.
- 12 Canvas pages, an Events listing and card/full templates, and a News-labeled Blog listing render on install.
- 14 patterns available in the Canvas editor, styled for Educare instead of Varbase.
API changes
- N/A
Data model changes
- Applies drupal/events: adds the Event content type (smart date field), a VMI card view display and Canvas full/card content templates.
Release notes snippet
- Packaged the Educare site template recipe: fixed the Canvas config install failure and the Blog view Twig error, refreshed content and made media editor-friendly, dropped duplication with sub-recipes, packaged 14 patterns for the Educare theme, added Events via drupal/events, relabeled the News section, fixed the Klaro privacy link and the footer logo path.
Issue fork educare-3610651
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:
- 3610651-render-events-exposed-filters
changes, plain diff MR !10
- issue/educare-3610651-privacy-link-and-demo-content-fixes
changes, plain diff MR !9
- issue/educare-3610651-cta-and-news-sharp-corners
changes, plain diff MR !6
- issue/educare-3610651-news-canvas-content-fixes
changes, plain diff MR !5
- issue/educare-3610651-events-listing-ownership
changes, plain diff MR !4
- 3610651-educare-recipe-fails
changes, plain diff MR !3
- test-sanity-branch-delete-me
compare
Comments
Comment #3
rajab natshahComment #4
rajab natshahComment #16
rajab natshah✅ Released educare-1.0.0-alpha1
Comment #17
rajab natshahComment #18
rajab natshah