Problem/Motivation

Three distinct faults, all verified against a fresh install of this recipe.

1. The content import aborts on every fresh install. The ten event-topic term files carry format: basic_html on their description. Varbase ships no basic_html text format (it has full_html, content_format, plain_text, plus the Canvas and webform formats), so Drupal\\Core\\DefaultContent\\Importer throws:

InvalidEntityException: recipes/horizonaid/content/taxonomy_term/event-topic-education.yml:
description.0.format=The value you selected is not a valid choice.

Reproduced in the real browser installer via the site-template picker, and headlessly with drush site:install recipes/horizonaid. Consequence: the event_topics vocabulary is never created, the import stops at that file, and blog truncates to 25 nodes instead of 26. Every other shipped taxonomy term file in this recipe carries no description at all, so the fix is to match that.

2. No event is tagged with a topic. Each event's _meta.depends map declared only its category term and its media, not the topic term UUIDs. Drupal's default-content importer only resolves entity: references that are declared in depends, so every field_event_topics reference was dropped silently. Result: 0 of 24 events tagged, and the Topic exposed filter returns nothing for every option — the filter added in #3614099 is inert.

3. The event full page renders empty. canvas.content_template.node.event.full exists with component_tree: {} (an empty placeholder from varbase_events_base), so /events/<alias> renders header and footer with zero characters of main content, no h1 and no images.

Related: the events view's related display ("Related events") could never return results either — it related by field_tags, which no event carries (the tagged nodes are the 26 blogs), and its default_argument_options.vids was scoped to the tags vocabulary.

Steps to reproduce

  1. Install Varbase and pick the Horizon Aid site template in the browser installer (or drush site:install recipes/horizonaid).
  2. The install fails with the InvalidEntityException above.
  3. Work around it, then open /events — every Topic filter option returns no results.
  4. Open any event page, e.g. /events/digital-security-advocacy-groups — the page body is empty.

Proposed resolution

  • Drop the description block from the ten event-topic term files, matching every other shipped term file.
  • Declare each event's topic term UUIDs in its _meta.depends map.
  • Fill the event.full content template from the design (Figma DvazC3FHGDNKNb7GnRBbXm, node 12469-3619): media banner with the title and description, then a 75/25 section carrying About this Event, What You'll Learn, Speakers and a Share rail, then a "More Events" section embedding the events related display.
  • Add two text_long fields, field_what_you_will_learn and field_speakers, with textarea widgets. Rich text rather than multi-value, because Canvas content templates cannot loop and multi-value fields must be bound by fixed index, which leaves empty component slots when an event has fewer items. This matches how country.full already models its prose sections (field_our_role, field_on_the_ground).
  • Repoint the events related display to field_event_topics, scoped to the event_topics vocabulary, keeping the nid argument so the current event is excluded.
  • Add About / What You'll Learn / Speakers demo content to all 24 events.

Related issue: #3614099: Add the Events listing, its card view mode, the Topic filter and demo content (merge commit 33620062, MR !15). That work is merged; this issue fixes two defects that shipped in it plus adds the event full page. Not reopening #3614099.

Verified on a clean install from the fixed recipe:

  • No import or validation errors.
  • Nodes: blog=26 country=12 event=24 page=3 program=5.
  • event_topics vocabulary: 10 terms. Events tagged: 24 of 24.
  • Events carrying body / What You'll Learn / Speakers: 24 / 24 / 24.
  • Event page: H1 title, 2 About paragraphs, 4 What You'll Learn bullets, 3 Speaker lines, banner image at 20px radius, breadcrumb, and 2 topic-related events under More Events.
  • Topic filtering on /events: Protection 5, Health 2, Shelter 3, Partnerships 5.

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

  • Fresh installs complete. The Topic filter on /events returns results. Event pages render the full design: banner, About this Event, What You'll Learn, Speakers, Share rail, and More Events.

API changes

  • Two new fields on the Event content type: field_what_you_will_learn, field_speakers.

Data model changes

  • The two new text_long fields above (field_what_you_will_learn, field_speakers). No changes to existing fields.

Release notes snippet

  • Fixes a fresh-install failure in the event-topic demo content, tags every demo event with its topic, and implements the event full page.

Issue fork horizonaid-3614494

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 committed 37744113 on 1.0.x
    fix: #3614494 Repair the install, tag the demo events and build the...

  • rajab natshah committed 0eda27b4 on 1.0.x
    feat: #3614494 Set the share platforms to the design's set and order
    

  • rajab natshah committed b0495c6d on 1.0.x
    feat: #3614494 Fill the event banner from its fields: category, date and...
rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Active » Needs review
Issue tags: +horizonaid-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.