File formats: import and export publications as references — BibTeX, BibLaTeX, RIS, CSL JSON, MODS, EndNote, and a DOI lookup #879

Open
opened 2026-10-10 16:11:40 +00:00 by tiagoagueda · 1 comment
Owner

A sub-module of Extend file formats adding import and export of References using the standards: DOI lookup, BibTeX, BibLaTeX, RIS, MODS, EndNote, CSL, and others.

What exists today

  • Publications are modelled after a BibTeX entry (#687, resume/models.py:580, resume/publications.py), with a DOI field; there is no .bib import or export (the code says a later plugin might do it).
  • #688 (open): suggest an entry from a DOI or ORCID. #697 (open): citations.

What would change

  • Readers and writers per format, from an existing library (the house rule: a library before our own): e.g. bibtexparser for BibTeX/BibLaTeX, rispy for RIS, CSL JSON natively; MODS and EndNote XML through citeproc-family tools or a converter.
  • Import with the usual review step (merge into the career record), export from Your career and per publication.
  • The DOI lookup is #688's; this issue uses it once it exists.

Decisions

  • Which first. Recommended: BibTeX and CSL JSON (the two most tools speak), then RIS; MODS and EndNote on demand.
  • Online lookups (DOI via doi.org content negotiation, Crossref) are requests a person makes, never in the background, and say so (#688 sets the rule).

Checked against main at 8c3d03570. From the maintainer's improvements list of 2026-10-07 (plugins).

A sub-module of *Extend file formats* adding import and export of **References** using the standards: DOI lookup, BibTeX, BibLaTeX, RIS, MODS, EndNote, CSL, and others. ## What exists today - Publications are modelled after a BibTeX entry (#687, `resume/models.py:580`, `resume/publications.py`), with a DOI field; there is no `.bib` import or export (the code says a later plugin might do it). - #688 (open): suggest an entry from a DOI or ORCID. #697 (open): citations. ## What would change - Readers and writers per format, from an existing library (the house rule: a library before our own): e.g. `bibtexparser` for BibTeX/BibLaTeX, `rispy` for RIS, CSL JSON natively; MODS and EndNote XML through `citeproc`-family tools or a converter. - Import with the usual review step (merge into the career record), export from *Your career* and per publication. - The DOI lookup is #688's; this issue uses it once it exists. ## Decisions - **Which first.** Recommended: BibTeX and CSL JSON (the two most tools speak), then RIS; MODS and EndNote on demand. - **Online lookups** (DOI via doi.org content negotiation, Crossref) are requests a person makes, never in the background, and say so (#688 sets the rule). Checked against `main` at `8c3d03570`. From the maintainer's improvements list of 2026-10-07 (plugins).
tiagoagueda added this to the 1.0.0 milestone 2026-10-10 16:11:40 +00:00
tiagoagueda modified the milestone from 1.0.0 to 0.6.0 2026-10-25 17:05:45 +00:00
Author
Owner

Decided by the maintainer (2026-11-12)

Online lookups (DOI through doi.org content negotiation, Crossref) are offered, behind an instance setting that is off by default; an administrator switches them on. They go through the instance's outbound rules like every other request.

🤖 Generated with Claude Code

## Decided by the maintainer (2026-11-12) Online lookups (DOI through doi.org content negotiation, Crossref) are offered, behind an instance setting that is **off by default**; an administrator switches them on. They go through the instance's outbound rules like every other request. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#879
No description provided.