Add type field to additional item types#11
Conversation
Ensure the CSL `genre` variable is available as a descriptive alternative to the title where needed, and that the field is consistently positioned after the item creators. Examples: - Artwork: <https://www.zotero.org/groups/2205533/items/K6XB9LVX>, <https://www.zotero.org/groups/2205533/items/RR2RS99S> - Audio recording: <https://www.zotero.org/groups/2205533/items/NN2HAC8N> - Bill: <https://www.zotero.org/groups/2205533/items/Y6BIFHFV> - Blog post: <https://www.zotero.org/groups/2205533/items/IJBGS4BQ> - Book: <https://www.zotero.org/groups/2205533/items/Z5GA4MZ6> - Book section: <https://www.zotero.org/groups/2205533/items/3DSWRCV5>, <https://www.zotero.org/groups/2205533/items/8KXQGYJ9>, <https://www.zotero.org/groups/2205533/items/GPHC7CD9> - Document: <https://www.zotero.org/groups/2205533/items/ESNIH8AM>, <https://www.zotero.org/groups/2205533/items/YKHDNKZH> - Email: <https://www.zotero.org/groups/2205533/items/YKM3U3E2> - Instant message: <https://www.zotero.org/groups/2205533/items/KREBYCDI>, <https://www.zotero.org/groups/2205533/items/Y9QHDW9F> - Interview: <https://www.zotero.org/groups/2205533/items/TMF724TM>, <https://www.zotero.org/groups/2205533/items/GQ46F8B6>, <https://www.zotero.org/groups/2205533/items/YUZC7EYX> - Journal article: <https://www.zotero.org/groups/2205533/items/QDNCCZW2>, <https://www.zotero.org/groups/2205533/items/KV6EQJIX>, <https://www.zotero.org/groups/2205533/items/NY723H2C>, <https://www.zotero.org/groups/2205533/items/AUQ2KKYH> - Magazine article: <https://www.zotero.org/groups/2205533/items/ZR4SY786> - Newspaper article: <https://www.zotero.org/groups/2205533/items/MAWJL9U8>, <https://www.zotero.org/groups/2205533/items/B3MIM6N2> - Podcast: <https://www.zotero.org/groups/2205533/items/MINIEB3W> - Radio broadcast: <https://www.zotero.org/groups/2205533/items/CTN4WQCJ> - TV broadcast: <https://www.zotero.org/groups/2205533/items/W8PBB829> - Video recording: <https://www.zotero.org/groups/2205533/items/MLUMWEEC> - Web page: <https://www.zotero.org/groups/2205533/items/CRHZHS6Z>, <https://www.zotero.org/groups/2205533/items/5SDSKT2D>, <https://www.zotero.org/groups/2205533/items/MWHM3SMK>
There was a problem hiding this comment.
Pull request overview
This PR adds a type field to multiple Zotero item types to ensure the CSL genre variable is consistently available as a descriptive alternative to titles. The changes position the type field immediately after abstractNote for all item types, and reorder some existing type-related fields for consistency.
Changes:
- Added plain
typefield to 18 item types that previously lacked any type designation - Reordered existing type-related fields (genre, postType, reportType, websiteType) to appear immediately after abstractNote in 5 item types
- Moved
typefield before related fields (identifier, reportNumber, websiteTitle, forumTitle) for better field organization
Comments suppressed due to low confidence (1)
schema.json:296
- The blogPost item type now has both a plain
typefield and awebsiteTypefield withbaseField: "type". This creates a conflict where two fields map to the same base field. Item types should have either a plaintypefield OR a specialized type field (like websiteType) with baseField type, but not both. Consider removing the plaintypefield added on line 287 since websiteType already provides the type functionality for blog posts.
{
"field": "type"
},
{
"field": "blogTitle",
"baseField": "publicationTitle"
},
{
"field": "websiteType",
"baseField": "type"
},
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| { | ||
| "field": "genre", | ||
| "baseField": "type" |
There was a problem hiding this comment.
It is misleading to call this field 'genre' with a film: this makes it sound as if one should be filling in something like 'action/adventure'. The field is also named 'genre' with a dataset, and I think that 'type' would be clearer there as well. If this were changed simply to "field": "type", would Zotero correctly retain/migrate the data?
| "baseField": "publicationTitle" | ||
| }, | ||
| { | ||
| "field": "websiteType", |
There was a problem hiding this comment.
The CSL genre variable is meant to contain a title-level description, but calling the field 'website title' makes it sound as if it is a description of the container-title. This also applies to blog posts. See https://www.zotero.org/groups/2205533/items/MWHM3SMK and https://www.zotero.org/groups/2205533/items/CRHZHS6Z for usage examples; it is also especially necessary for citing AI output as Chicago models it, e.g. https://www.zotero.org/groups/2205533/items/4YST9PCI and https://www.zotero.org/groups/2205533/items/KUTRD58P. It would be simplest to change this to a simple type field if that is possible.
Ensure the CSL
genrevariable is available as a descriptive alternative to the title where needed, and that the field is consistently positioned after the item creators. Examples: