Skip to content

fix: case-insensitive artifact URL lookup and normalize bare DOI links#10

Merged
vahldiek merged 1 commit into
ReproDB:mainfrom
vahldiek:fix/profile-artifact-links-and-doi-urls
May 15, 2026
Merged

fix: case-insensitive artifact URL lookup and normalize bare DOI links#10
vahldiek merged 1 commit into
ReproDB:mainfrom
vahldiek:fix/profile-artifact-links-and-doi-urls

Conversation

@vahldiek

Copy link
Copy Markdown
Member

Problem

Two bugs on the ReproDB website:

  1. Author profile pages: EuroSys 2021/2022 artifact papers (e.g. VMSH by Pramod Bhatotia) don't show clickable links even though artifact URLs exist. Root cause: artifactUrlMap keys use exact title casing from artifacts.json (title case), but paper titles from author_profiles.json use different casing — the lookup is case-sensitive so it fails silently.

  2. Search page: DOI-based artifact URLs like 10.5281/zenodo.6337102 are used directly as href values without the https://doi.org/ prefix, causing them to resolve as relative paths on our site instead of linking to the actual DOI.

Fix

  • Profile page (reprodb-profile-page.js): Lowercase all keys in artifactUrlMap and lowercase the lookup key when resolving — makes matching case-insensitive.
  • Both pages: Add a normalizeUrl() helper that detects bare DOI strings (matching 10.NNNN/...) and prepends https://doi.org/. Applied to artifact_urls, paper_url, doi_url, and appendix_url fields.

Impact

  • Fixes 50 EuroSys 2021/2022 artifact papers missing links on author profiles
  • Fixes 32 bare DOI artifact URLs and 54 bare DOI paper URLs in search results

- Profile page: use lowercase keys in artifactUrlMap so paper titles with
  different casing (e.g. EuroSys 2021/2022) still resolve to artifact URLs
- Search & profile pages: add normalizeUrl() to prepend https://doi.org/
  to bare DOI strings (e.g. '10.5281/zenodo.6337102') used as href values
- Applies to artifact_urls, paper_url, doi_url, and appendix_url fields
@vahldiek vahldiek merged commit d293e2d into ReproDB:main May 15, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant