You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that authors[] accepts the schema-2.3.0 object form { name, affiliation? } and the IETF extractor emits that shape (per #1196), capture per-author affiliation data from the IETF source paths so the 52 IETF docs in the registry surface organization-level metadata the way SMPTE journal articles do post-#1196's HIGHWIRE backfill.
Rationale
RFC XML carries <author> blocks with <organization> child elements — primary, structured, free to harvest at parse time.
Datatracker JSON likewise exposes per-author organization data on the doc.json endpoint.
RFC HTML citation_author meta and Datatracker HTML have author cards that often include affiliation.
Today the IETF extractor drops all of this — only the name string survives.
Final emit boundaries (~line 1008 + ~line 1327) — already wrap strings as {name}; pass objects through unchanged.
Schema research first
The actual field name on Datatracker's doc.json for affiliation needs verification — affiliation vs organization vs affil vs nested. Worth a quick curl https://datatracker.ietf.org/api/v1/doc/document/rfc8446/?format=json | jq .authors before coding.
Apply
Once the extractor emits {name, affiliation?}, run npm run extract-ietf to refresh the 52 IETF docs in the registry. Each doc's authors$meta will reflect the affiliation source.
Summary
Now that
authors[]accepts the schema-2.3.0 object form{ name, affiliation? }and the IETF extractor emits that shape (per #1196), capture per-author affiliation data from the IETF source paths so the 52 IETF docs in the registry surface organization-level metadata the way SMPTE journal articles do post-#1196's HIGHWIRE backfill.Rationale
<author>blocks with<organization>child elements — primary, structured, free to harvest at parse time.[{name}]after the [FEATURE] Migrate authors[] to object form + update extractors to populate bio/affiliation #1196 shape migration. Affiliation enrichment closes the gap.Implementation thoughts
What to harvest, where
<author fullname="X" initials="X" surname="X"><organization>child element<author><name>X</name></author>/api/v1/doc/document/{slug}/?format=jsonauthors: [{name, email, affiliation}]authors[].affiliation(verify field name)<meta name="citation_author" content="X">.author-name + .author-affilExtractor changes (
src/main/scripts/providers/ietf.parse.js)<organization>per author, return{name, affiliation?}instead of name string.normalizeAuthorNames— currently flattens object input to strings; flip to preserve{name, affiliation?}.citationBundle/infoBundle/trackerBundle— harvest fromcitation_author_institutionmeta or equivalent; emit object form.pickFirstArrayWithSourceis already polymorphic per [FEATURE] Migrate authors[] to object form + update extractors to populate bio/affiliation #1196 — no change.{name}; pass objects through unchanged.Schema research first
The actual field name on Datatracker's doc.json for affiliation needs verification —
affiliationvsorganizationvsaffilvs nested. Worth a quickcurl https://datatracker.ietf.org/api/v1/doc/document/rfc8446/?format=json | jq .authorsbefore coding.Apply
Once the extractor emits
{name, affiliation?}, runnpm run extract-ietfto refresh the 52 IETF docs in the registry. Each doc'sauthors$metawill reflect the affiliation source.Acceptance
curlcheck or quick reference doc){name, affiliation?}from<organization>childnpm run extract-ietfagainst, e.g., RFC9000 produces object-form authors with affiliation populatedRFC8446(Eric Rescorla, Mozilla) and similar high-profile RFCs land with correct affiliationRelated
authors[]migration to object form (this issue is a follow-on for the IETF provider specifically)