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
- Start the Drupal CMS installer.
- Pick Português (Portugal) as the language.
- Pick the Horizon Aid site template.
- Depending on timing, the install stops with an
InvalidConfigExceptionon a blockcomponent_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
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
Comment #3
rajab natshahComment #5
rajab natshah✅ Released in horizonaid 1.0.10