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

Command icon 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

rajab natshah created an issue. See original summary.

rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Title: Educare recipe fails to install: Canvas config named for the wrong theme, stale content, and a Blog view bound to the base theme SDCs » Package the Educare site template recipe: Canvas config, content, media, patterns, Events and News
Issue summary: View changes

  • rajab natshah committed aa266849 on 1.0.x
    feat: #3610651 Package the Educare site template recipe: Canvas config,...

  • rajab natshah committed 503d3519 on 1.0.x
    fix: #3610651 Stop re-declaring the events listing, and match the README...

  • rajab natshah committed ce75056a on 1.0.x
    feat: #3610651 Add News demo content and category badges, fix Privacy...

  • rajab natshah committed b4872ef6 on 1.0.x
    fix: #3610651 Use sharp corners on the news full page image, the...

  • rajab natshah committed fcbcdcc1 on 1.0.x
    fix: #3610651 Privacy footer link, homepage and Stories card links, and...

  • rajab natshah committed 56a8d53b on 1.0.x
    fix: #3610651 Render the Events exposed filters through the site...
rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Active » Needs review
Issue tags: +educare-1.0.0-alpha1
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.