Deadwood-ai / deadwood-api

Main FastAPI application for the deadwood backend
GNU General Public License v3.0
0 stars 0 forks source link

authors as a list not string. #63

Open JesJehle opened 1 month ago

JesJehle commented 1 month ago

We have multiple authors per image (record). They are currently separated by 'and'. It makes more sense to have this separated other view, its not really traceable to the one author any more. This causes some problems. For example: In the frontend I want to let the user choose an author when uploading, so I get all users and provide the list as options. If the author is not in the list, a new one is created. The author in the upload modal is implemented as a tag, and multiple users can be selected. The database does not reflect this logic yet.

mmaelicke commented 1 month ago

This is straightforward, I guess. We need an additional lookup table for persons or authors. Leading questions:

cmosig commented 1 month ago
* can an author also be an organization?

No

* which fields does an author have?

Just the name as string.

If we want to make our lives difficult and tackle the rare cases of duplicate names, we can give the option to add an ORCID. As authors change institutions often throughout their career I'd not mention the institution, but link the ORCID. E.g. mine: https://orcid.org/my-orcid?orcid=0009-0003-8662-7698 One could even think about extracting the institution from the ORCID account: https://info.orcid.org/documentation/features/public-api/reading-orcid-records/

cmosig commented 1 month ago

Also, please assume that the current author list is split by and for now (which it isnt). Before we make this the primary copy, I'll go ahead and fix the cases where the and syntax is not true.

cmosig commented 1 month ago

IMO, one could also put this on low prio, as this adds a lot of complexity and new features, only to make the filter work a little bit cleaner. A fuzzy search across namelist strings would probably also be perfectly fine. A high-effort, low-reward issue imo.