Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cycle 2025.1: Archival Data Pages #4434

Open
26 tasks
larsyencken opened this issue Jan 10, 2025 · 1 comment
Open
26 tasks

Cycle 2025.1: Archival Data Pages #4434

larsyencken opened this issue Jan 10, 2025 · 1 comment
Assignees

Comments

@larsyencken
Copy link
Contributor

larsyencken commented Jan 10, 2025

Make it possible to embed archival data pages.

See: Figma

Scope

Must do

  • Milestone: working archival embed & data page
    • Set up infrastructure: R2 bucket & subdomain
    • URL scheme (e.g. archive.ourworldindata.org/202501161306/grapher/life-expectancy)
      • The timestamp is the start of the archival bake
    • content-hashed assets
    • strip out dynamic/interactive contents from data page (see FigJam)
    • link to the correct, archived assets:
      • JS
      • CSS
      • Fonts
      • dods.json
      • data & metadata files
      • ➡️ eventually, we don't want any requests going out to ourworldindata.org (and owid.io)
    • enforce local-only data download in the download tab
  • Milestone: Automatic, incremental archival rebuilds
    • automatically bake archival page on changes to the underlying chart
      • chart config (e.g. FAUST) or indicator update
      • look into: is there a build system that can help us there, in comparing inputs and checking if an incremental rebuild is necessary?
  • Milestone: link to latest archival on production data page
    • DB table that knows about the various archival versions of a data page
      • id, archival_timestamp, grapher_id, grapher_slug, hash_of_inputs
      • primary(id), index(grapher_id), index(archival_timestamp)
    • Link to the latest archive version of that data page in the citation
  • Other tasks
    • Safe backup of archival bucket (Mojmir/Lars/Daniel)

Should do

  • Milestone: SEO & Google Scholar considerations
    • correct canonical URLs etc. for Google Scholar & other SEO
      • exclude from indexing by Google etc.?
  • Milestone: reduced tracking
    • Disable Sentry/Bugsnag, CF Analytics
    • Only use cookieless tracking for GA?
    • Disable cookie notice
    • Change privacy policy accordingly
    • ❓ Strip out this tracking code entirely from the JS bundle
    • ❓ Replace cdnjs dynamic polyfill with explicit in-bundle polyfills, e.g. via @vitejs/plugin-legacy
  • Milestone: new design for archival page
    • changed header that includes archival date
    • link out to live site
  • Other tasks
    • Make (static) thumbnails work for URL previews
    • Remove fetch request to detect-country.owid.io

Unclear

  • handle images (these can currently only appear in FAQs)

Bonus / maybe

  • Time machine between versions
    • Navigate to previous / (next) version of the same data page
    • Nice-to-have: Time machine links across chart slug changes
  • Other tasks
    • Strip out unnecessary JS code from the bundle (e.g. code for search, data catalog, homepage, etc.)
@marcelgerber
Copy link
Member

Some discussion points from our kickoff discussion today: https://www.notion.so/owid/2025-01-16-Archival-grapher-embeds-kickoff-17d74b71f92e8061a201c7a0447e7a67?pvs=4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants