fleetdm / fleet

Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)
https://fleetdm.com
Other
3.11k stars 431 forks source link

Ensure learn-more-about links mentioned in code and articles all point somewhere #22295

Open iansltx opened 1 month ago

iansltx commented 1 month ago

Goal

User story
As a user of Fleet or viewer of the Fleet website,
I want to have any learn-more-about link I click land on a valid (non-404) page
so that I can access the information I was looking for when I clicked the link.

Context

What else should contributors keep in mind when working on this change? (Optional.)

  1. learn-more-about links are used in both the website and in application code. For the former, dead links can be removed at the call site rather than needing to add a valid destination. For the latter, we should have the likn resolve somewhere since we're talking about a piece of software potentially deployed out of our reach.
  2. We should likely add a checkbox on PRs for ensuring that new learn-more links either point to valid articles as part of the PR, or they're explicitly added to documentation tickets for the relevant feature.
  3. Enforcing no-dead-links in CI may not be easy to do, as new link destinations may require added/changed guides, which if included in the same PR would add an approval bottleneck (which is why docs don't get bundled into dev PRs right now). The workaround for this is "docs get merged first and code PRs stack on top of the relevant docs PR" but that would require another process change on top of the recent "merge docs to the docs branch" change, and would require remembering to switch the base for the code PR from the docs branch to main once the docs branch is merged for every feature requiring documentation (or every one requiring documentation contingent on learn-more links).

Changes

Product

Engineering

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

Manual testing steps

The bulk of the work for this ticket will be auditing, either automatically or manually, code (not sure if frontend and backend or just frontend) and articles for all learn-more links, then checking that list against the routes file to ensure everything's there. This audit should be repeated after fixes have been made to ensure we got everything.

Confirmation

  1. [ ] Engineer (@____): Added comment to user story confirming successful completion of QA.
  2. [ ] QA (@____): Added comment to user story confirming successful completion of QA.
noahtalerman commented 1 month ago

Thanks for tracking this @iansltx. Great idea. Taking the :product label off and leaving ~engineering-initiated on so it goes into Luke's eng initiated inbox for prioritization.