Problem/Motivation

On a fresh install the footer shows two identical Privacy policy links and both return 404 to a visitor, and the Terms and Conditions link returns 404 because no page of that name exists in this recipe or in any recipe it applies.

The cause is duplicated content. drupal_cms_privacy_basic already ships the Privacy policy page, its own footer link to it and the Klaro pointer at it; the node is deliberately left unpublished with the body "This content needs to be edited before publishing", because writing a privacy statement is the site owner's job. Horizon Aid inherited copies of that link from the Varbase Starter clone and shipped them as its own, so an extra always-enabled link rendered and 404ed.

The same duplication affects five of the Top tasks links, which drupal_cms_admin_ui already provides. Because default content is imported with "skip existing", the recipe that runs first wins, which makes the outcome depend on apply order rather than on intent.

Steps to reproduce

  1. Install the Horizon Aid site template.
  2. Look at the footer as an anonymous visitor: two Privacy policy links, both 404, and Terms and Conditions 404.
  3. Compare content/menu_link_content with the content in drupal_cms_privacy_basic and drupal_cms_admin_ui: six files share their UUIDs.

Proposed resolution

  • Remove the six content files that duplicate a recipe Horizon Aid applies: the two Privacy policy footer links, the My privacy settings link, and the five Top tasks links. All were byte-identical to the versions the sub-recipes ship, so nothing is lost and privacy stays owned by drupal_cms_privacy_basic.
  • Ship the missing Terms and Conditions page as published default content, and point the existing footer link at it by UUID instead of a bare path.

With the duplicates gone, Drupal hides the remaining privacy link while its node is unpublished, so a fresh install shows no broken link at all, and the link appears on its own once the site owner writes and publishes that page.

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

  • The footer shows one Terms and Conditions link, which resolves, and no duplicate or broken Privacy policy link.

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • Removed content that duplicated the Drupal CMS privacy and admin UI recipes, and added the missing Terms and Conditions page. Write and publish the Privacy policy page before launch: Drupal CMS ships it unpublished on purpose.

Issue fork horizonaid-3613826

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 74e38250 on 1.0.x
    fix: #3613826 Stop duplicating Drupal CMS recipe content and ship the...
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.