Problem/Motivation

Installing Drupal CMS with Horizon Aid in a language other than English can stop with an InvalidConfigException on a Canvas block component version. Our Português (Portugal) run installed by luck, because Canvas made the breadcrumb component after the recipe ran. The recipe still pins the English component_version of block.system_breadcrumb_block in the blog, program and event templates, so another run can stop the way Educare 1.0.10 does on canvas.content_template.node.program.full.

Drupal Canvas versions a block component with a hash that includes the translated block label. When Canvas makes the component before the recipe runs, a non-English site has only the translated version, while the recipe pins the English one. It depends on timing, so a different block can fail on each run. English installs are not affected.

Same bug as The Rightup #3636517, reported there by xpete.

Steps to reproduce

  1. Start the Drupal CMS installer.
  2. Pick Português (Portugal) as the language.
  3. Pick the Horizon Aid site template.
  4. Depending on timing, the install stops with an InvalidConfigException on a block component_version. Repeat if it installs.

Proposed resolution

In recipe.yml, keep the English version of each pinned block component whose label is translated, beside the version Canvas made (simpleConfigUpdate on versioned_properties). This is the fix The Rightup merged in MR !100. Leaving component_version out is not possible, because Canvas requires it in config component trees.

Blocks covered: breadcrumb, and the events related and blog latest (light) view blocks.

Tested locally: Português (Portugal) and English drush installs finish, and the home page and content pages return 200.

Remaining tasks

  • ✅ File an issue
  • ✅ Addition/Change/Update/Fix: MR !124
  • ❌ Testing to ensure no regression
  • ➖ Automated unit testing coverage
  • ➖ Automated functional testing coverage
  • ➖ UX/UI designer responsibilities
  • ➖ Readability
  • ➖ Accessibility
  • ➖ Performance
  • ➖ Security
  • ➖ Developer Documentation
  • ➖ User Guide Documentation
  • ❌ Reviewed by human
  • ❌ Code review by maintainers
  • ❌ Full testing and approval
  • ❌ Credit contributors
  • ❌ Review with the product owner
  • ✅ Release notes snippet
  • ✅ Release

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • Fix the install stopping on a Canvas block component version when the language is not English.

Issue fork horizonaid-3638220

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
Status: Active » Needs review

  • rajab natshah committed b4ba2193 on 1.0.x
    fix: #3638220 Keep the English Canvas block versions on non-English...
rajab natshah’s picture

Issue summary: View changes
Status: Needs review » Fixed
Issue tags: +horizonaid-1.0.10

✅ Released in horizonaid 1.0.10

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.