paleobot / pbot-dev

Codebase and initial design documents for pbot client
MIT License
2 stars 2 forks source link

Change references form to reactive/adaptive design #99

Closed aazaff closed 1 year ago

aazaff commented 1 year ago

First off, the reason this is such a mess is because PBDB is not using industry standard terminologies for citation - cf., endnote, RIS format - and then is not even using its own internal fields correctly. For example, it uses pubtitle for book publisher even though they have a separate publisher field that is always blank. I dunno. Fuck them.

ANYWAY, the plan is to make this form reactive - i.e., available/displayed fields will be conditional upon publication type selection - this will (when finished) supersede the info provided by the pbot team associated with #71.

--- START FORM ---

First field: PBDB ID option (great as already implemented) Second Field: Publication Type (picklist of journal article, standalone book [pbdb.pubtype: book], edited book of contributed articles [pbdb.pubtype: book], Contributed Article in Edited Book [pbdb.pubtype: book chapter], Unpublished [does not go to pbdb?])

journal article is self-explanatory

Standalone Book is what is referred to in publishing as a monograph (not to be confused with a biological/taxonomic monograph!! >.<). This means that the entire book was written by a consistent author or set of authors. War and Peace by Tolstoy is a monograph or Dragons of Autumn Twilight by Margaret Weis and Tracy Hickman is a monograph. Importantly, fields like series/volume/issue/editor have no meaning/use in this context - hence why they are omitted.

edited contributions is the most common type of book we will actually encounter. The difference is that it consists of articles written by different authors. Annoyingly, these volumes can be one-off OR released in a series. Therefore fields like volume/number may or may not be relevant. Furthermore, if the entire volume is being cited then the editors are the authors and no editors are recorded.

journal article (PBDB equivalent is journal article)

PBOT Display Name PBOT Property Name PBDB Field Name Type Required
DOI doi doi free text FALSE
Title title reftitle free text TRUE
Year year pubyear 4-digit integer TRUE
Authors NA NA NA TRUE
Journal journal pubtitle free text TRUE
Volume volume pubvol integer TRUE
Number number FALSE integer FALSE
Pages Pages firstpage, lastpage integer range FALSE

Standalone Book (PBDB equivalent is book)

PBOT Display Name PBOT Property Name PBDB Field Name Type Required
DOI doi doi free text FALSE
Title title reftitle free text TRUE
Year year pubyear 4-digit integer TRUE
Authors NA NA NA TRUE
Publisher publisher pubtitle free text TRUE
Pages Pages firstpage, lastpage integer range TRUE
Type booktype NA thesis, monograph, compendium, other TRUE

Edited Book of Contributed Articles (PBDB equivalent is book)

PBOT Display Name PBOT Property Name PBDB Field Name Type Required
DOI doi doi free text FALSE
Title booktitle reftitle free text TRUE
Year year pubyear 4-digit integer TRUE
Editors NA NA NA TRUE
Publisher publisher pubtitle free text TRUE
Pages Pages firstpage, lastpage integer range TRUE

Contributed Article in Edited Book (PBDB equivalent is book chapter)

PBOT Display Name PBOT Property Name PBDB Field Name Type Required
DOI doi doi free text FALSE
Chapter Title title reftitle free text TRUE
Book Title booktitle pubtitle free text TRUE
Year year pubyear 4-digit integer TRUE
Authors NA NA NA TRUE
Editors editors editors free text TRUE
Publisher publisher publisher free text TRUE
Pages Pages firstpage, lastpage integer range TRUE

Unpublished

PBOT Display Name PBOT Property Name PBDB Field Name Type Required
Title title NA free text TRUE
Year year pubyear 4-digit integer TRUE
Authors NA NA NA TRUE
Description description NA long free text TRUE
aazaff commented 1 year ago

@NoisyFlowers Okay, edited and ready to go.

NoisyFlowers commented 1 year ago

This is in

paleobot/pbot-api@51548582b868d22cb25e79fbf52059c36116699a paleobot/pbot-api@44e56f0c13b9b3230a2b7b28e4ca45b8c42d6643

and

paleobot/pbot-client@fa878ec9e20110279da5daaf0d95eac742c92f6d paleobot/pbot-client@b75d54bb3ea975f90989ec9e3442e2479507eeac paleobot/pbot-client@65f51823425b59bfc980b2fd4fbbf37efac53f68 paleobot/pbot-client@cd0823e5bfd808b7781ac8e751387e28345b719a paleobot/pbot-client@8475b8a97aa9124e2208f3bd4c31c2071056dd7b paleobot/pbot-client@ebdcb1637835de0c0ee05da3724f2ede51149744 paleobot/pbot-client@f1ff1e7cb4232d728a94655bc4c359a3a6ab96f2 paleobot/pbot-client@6d62ae74951ba136c36e5363a98d6334129d95d5 paleobot/pbot-client@e794ab220d2003a79370697ead400464904ef6e4 paleobot/pbot-client@559d463cb3d2c99b7220a612fda11491baadeab3 paleobot/pbot-client@72373ead5aa7fc6ad2f63222557de0a66fe81534 paleobot/pbot-client@3c91c2e09c4c70cdccc665737973ffbaf0398336 paleobot/pbot-client@63e27c0ad6ffbdcdefa84c4d6debe122d5ff5244