WIP: DOI auto-fetch — Crossref prefill for the publication and EKKW forms #83
No reviewers
Labels
No labels
bug
discussion
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
edufeed/edufeed-app!83
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/doi-autofetch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap 1 from the EKKW research, started per laoc's go. First slice landed: pure Crossref work-message → PublicationPrefill mapping (title, authors incl. ORCID normalization + organizations, issued date-parts, container-title, volume/issue for Band/Heft, JATS-stripped abstract, language, keywords) plus a best-effort fetch wrapper with injectable fetch — mirrors urlMetadata.js, degrades to {} on any failure, mutation-tested (4/4 biting).
Still to come on this branch: the
doirich field type via the adapter registry (foreign clients degrade it to a text field, so templates stay Formstr-compliant) and sibling prefill wiring in the template form + /create/publication.Buzz thread: #edufeed-app (EKKW form thread).
🤖 Generated with Claude Code
Pure work-message → PublicationPrefill mapping plus a best-effort fetch wrapper with injectable fetch, mirroring urlMetadata.js exactly: only found fields are returned, callers fill empty form fields only, any failure degrades to {} and never blocks the form. Handles the wire shapes Crossref actually serves: title/container-title as arrays, issued date-parts (year-only through full date), JATS-tagged abstracts, ORCID as URI (http normalized to https, matching the app's canonical form), organization authors (name without family), first affiliation. volume/issue come along for the EKKW Band/Heft fields. Crossref serves CORS, so the browser can call it directly — no proxy; the mailto politeness param is left for when a contact address is configured. Next slices: the `doi` rich field type via the adapter registry (foreign clients degrade it to text) and sibling prefill in the template form.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.