feat: #3610651 Package the Educare site template recipe: Canvas config, content, media, patterns, Events and News
Closes #3610651: https://www.drupal.org/project/educare/issues/3610651
What
This MR grew from the original install-failure fix into the full packaging of the Educare site-template recipe (1.0.x). Verified with a fresh install from a dropped database, both with drush site:install and through the Varbase browser installer's site-template picker.
- Canvas config renamed to the Educare theme namespace. The recipe shipped 70
canvas.component.sdc.vartheme_bs5.*.ymlfiles plus 2canvas.page_region.vartheme_bs5.*.ymlwhose contents already declaredvartheme_bs5_educare, so the install died with "The configuration name … does not match the ID …". Renamed, and the config refreshed from the working Educare site. - The Blog view repointed.
varbase_blog_basebindsviews.view.blogtovartheme_bs5:*SDCs, which do not exist on the Educare theme, so the Latest Updates block failed with a TwigLoaderError. Repointed with a config action, so Educare reusesvarbase_blog_baseinstead of forking the view. - Content refreshed from the working Educare site: 12 Canvas pages, media, files and menu links.
- Editor-friendly media. Raw upload names (
image-124-(1).png,images.png, the typoquate-mark.png) are renamed descriptively, and every media item has a human name plus alt and title text describing the picture. - No duplication of the sub-recipes. Dropped the media
varbase_media_assetsalready ships under the same UUIDs, droppedvarbase_demo_content(no Varbase blog demo content or images), dropped the Varbase-branded Features page left over from the varbase_starter clone, dropped the duplicated Privacy policy link. - Patterns. The 8 ready patterns from the Educare site, plus 6 common sections adapted from Varbase Starter (Hero Slider, CTA Banner, CTA Cards, Contact Form with Info, Latest News Posts, Page Intro Banner) — SDCs repointed to the Educare theme, component versions pinned to the Educare components, imagery rebound to the education photography this recipe ships, and the Varbase marketing copy rewritten as education copy. The exported patterns referenced media by the source site's numeric entity ids (e.g.
target_id: 69), which point at nothing on a fresh install; they are now resolved through the media UUIDs. - Events. Apply
drupal/events. Followingvarbase_blog_base, the Event content type gets a VMI card view display, a Canvasfullcontent template (title, smart date, body) and a Canvas card template, and the Events view renders through the Educare Canvas grid. Six demo events ship. Without afullcontent template an event page rendered completely empty, because the theme places no blocks and Canvas owns the content region. - News keeps the Varbase Blog content type; only the wording changes (page titled News, aliased
/news, filter and block labels read as news). - Privacy.
drupal_cms_privacy_basicships its Privacy policy page unpublished while linking to it, so the Klaro consent banner 404s. Core recipes import content withExisting::Skip, so it cannot be republished from Educare; Educare publishes its own page at/privacyand points the consent banner at it. - Layout and asset fixes. The Upcoming Events section was a two-column section, so the events listing was squeezed into half the page — now full width. The footer page region pointed the "Powered by Vardot" logo at
themes/custom/…while the theme installs intothemes/contrib/…, so it 404'd on every page.
Test results
Verified on a fresh install from a dropped database, both with drush site:install and through the Varbase browser installer's site-template picker: 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 (Packaging drafted with Claude Code; reviewed by rajab-natshah.)
Checkpoints
- 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
Edited by Rajab Natshah