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 479

The 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

  1. Rename the 70 Canvas configuration files whose filename still said vartheme_bs5 while their id and provider said vartheme_bs5_horizonaid (68 canvas.component.sdc.*, 2 canvas.page_region.*).
  2. 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.
  3. 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 repointComponentTreeToTheme and setViewsComponentStyleTheme.
  4. Drop varbase_demo_content from the applied recipes and from composer.json, so the site template ships its own demo content instead of the Varbase blog and media demo.
  5. 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.
  6. Rename every media file to an editor-facing name and set a human media name from the alt text. Names such as img=1.png and Country=Syria.png also 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/horizonaid from a dropped database: exit code 0, no error lines.
  • Every canvas page and every blog node returns 200 with no Twig LoaderError and no ComponentNotFoundException; the home page reports zero browser console errors and no broken images; no menu link points at a removed page.
  • gitlab-ci-local runs 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
Edited by Rajab Natshah

Merge request reports

Loading