feat: BIDS citations feed + dashboard citations-by-year chart#333
Merged
Conversation
Add an optional paper_labels (DOI -> label) field to CitationConfig with
DOI-key normalization matching dois, and return a labels map from
GET /{community_id}/citations so consumers can show human-readable series
names instead of bare DOIs.
- bids: turn on public_feeds.citations (FAQ stays off; no FAQ pipeline) and add labels for all 14 canonical BIDS papers. - eeglab: add the Lab Streaming Layer paper (Kothe 2025, 10.1162/IMAG.a.136) and short labels for all canonical DOIs.
Add a Publication Citations card to the community view that renders a
stacked-by-canonical-paper bar chart from GET /{community_id}/citations,
using configured labels for the legend and an HSL fallback palette for
communities with many tracked papers (e.g. BIDS). Shown only when the
community exposes the feed and has citation data.
Contributor
Dashboard Preview
This preview will be updated automatically when you push new commits. |
- validate_paper_labels now rejects malformed DOI keys (same format check as dois) so a typo fails at config load instead of silently dropping a label; explicit last-wins dedup documented. - dashboard: null citationsChartInstance after destroy; sort years numerically. - tests: invalid-key raises, doi.org-prefix normalization, dedup last-wins, and the LSL mixed-case DOI label round-trip.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enables the public citations feed for BIDS and adds a stacked "publication citations per year" chart to the status dashboard (mirroring the well-known BIDS citations figure), with human-readable per-paper labels.
Backend
CitationConfig.paper_labels(optional DOI -> label map, DOI keys normalized likedois).GET /{community_id}/citationsnow returns alabelsmap alongsideby_paper/canonical_dois.Config
public_feeds.citations: true(FAQ stays off — BIDS has no FAQ pipeline) + labels for all 14 canonical BIDS papers (BIDS, EEG/iEEG/MEG/PET/Genetics/Microscopy/qMRI/ASL/NIRS/Motion/MRS-BIDS, BIDS Apps).10.1162/IMAG.a.136) and short labels for all canonical DOIs.Dashboard
/{community_id}/citations. Uses configured labels for the legend, an HSL fallback palette when a community tracks more papers than the fixed palette (BIDS has 14), and is shown only when the feed is enabled and has data. Non-critical fetch (a 404 when the feed is off is handled gracefully).Deploy follow-up
After merge + dev redeploy, run the BIDS citation backfill (
sync papers --community bids --citations) to populatecites_doifor the 3,105 BIDS papers, then the chart fills in.Test plan
paper_labelsdefaults empty, DOI keys normalized (incl. URL-prefixed).labelsreturned from config; empty when no citations config./citations, hasrenderCitationsChartusingcitations.labels.