fix: #3607228 Make the Horizon Aid site template install and replace the Varbase Starter leftovers
Issue: #3607228 Initialize the Horizon Aid site template recipe and start the 1.0.x branch
Problem
A fresh build does not install. Both drush site:install recipes/horizonaid and the browser
installer's site-template picker abort:
In ConfigInstaller.php line 439:
The configuration name "canvas.component.sdc.vartheme_bs5.details" does not match
the ID "sdc.vartheme_bs5_horizonaid.details"Past that, four canvas pages carried over from Varbase Starter fail validation, because they set slots and props the theme's components no longer declare:
This component subtree contains an invalid slot name for component
sdc.vartheme_bs5_horizonaid.media-banner: media_banner_slot. Valid slot names are: content.On a completed install, a blog node page returns a 500 and the blog listing does not render:
Drupal\Core\Render\Component\Exception\ComponentNotFoundException: Unable to find component
"vartheme_bs5:grid" in the component repository.
AssertionError: assert($component instanceof Component) in ComponentTreeItemList.php line 479The theme declares base theme: false, so vartheme_bs5 is not installed and nothing can render
through it, while the blog Canvas templates and the blog view's component style still point at it.
The recipe also still carried Varbase Starter material: its canvas pages and menu links, its
demo content, an identical screenshot.webp, and a recommended-add-ons source pointing at the
Varbase Starter project.
Proposed resolution
- Rename the 70 Canvas configuration files whose filename still said
vartheme_bs5while theiridandprovidersaidvartheme_bs5_horizonaid(68canvas.component.sdc.*, 2canvas.page_region.*). - Replace the inherited content with Horizon Aid's own, exported from the live site: 10 canvas pages (Home, About, Resources, Our Programs, Events, Countries, Country Page, Event Page, Program Page, Donate), 25 menu links across five menus, 53 media items with 53 image files, and three demo blog posts with three tags. The four Varbase Starter pages (Blog, Contact Us, About Varbase, Features) and the menu links pointing at them are gone.
- Repoint the blog Canvas content templates and the blog view's component style to the site's default
theme with the Varbase Recipes config actions
repointComponentTreeToThemeandsetViewsComponentStyleTheme. - Drop
varbase_demo_contentfrom the applied recipes and fromcomposer.json, so the site template ships its own demo content instead of the Varbase blog and media demo. - Give the site template its own
screenshot.webp(from the Horizon Aid design) and point the recommended-add-ons source at the Horizon Aid project instead of the Varbase Starter project. - Rename every media file to an editor-facing name and set a human media name from the alt text.
Names such as
img=1.pngandCountry=Syria.pngalso broke the file import outright:Could not load metadata from 'public://2026-07/img%3D1.png' because it does not exist.
Four blog templates are deliberately left out of step 3: hero_card, text_card_large,
text_card_medium and text_card_small each contain an invalid UUID in Varbase Blog Base
(for example c1e4f5a6-c7d8-4290-1234-789012345689). Configuration files are not validated but
configuration actions are, so repointing those four aborts the install with "This is not a valid
UUID". That belongs upstream in Varbase Blog Base and is reported separately.
How this was verified
- A clean build with
cmd-horizonaid1-0-x-project.sh, then a fresh install through the browser installer, choosing Horizon Aid in the "Choose a site template" step: install completes, the site comes up on the Horizon Aid theme with 10 canvas pages, 3 blog posts, 53 media items and 25 menu links. drush site:install recipes/horizonaidfrom a dropped database: exit code 0, no error lines.- Every canvas page and every blog node returns 200 with no Twig
LoaderErrorand noComponentNotFoundException; the home page reports zero browser console errors and no broken images; no menu link points at a removed page. gitlab-ci-localruns the project pipeline green (build:composer-validate,validate:yaml-lint).
User interface changes
- The site template ships the Horizon Aid pages instead of the Varbase Starter ones; the Blog, Contact Us, About Varbase and Features pages and their menu links are removed.
- The site-template picker shows a Horizon Aid screenshot.
API changes
None.
Data model changes
None.
Release notes snippet
- Fixed the site template install, replaced the inherited Varbase Starter configuration and content with Horizon Aid's own pages, menus, media and demo content, and made the blog templates and listing render through the site's default theme.
AI-Generated: Yes
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