Content-Length: 327495 | pFad | http://github.com/internetarchive/openlibrary/issues/9234

AE Refactor Open Library to use checked in source for adding New Identifiers · Issue #9234 · internetarchive/openlibrary · GitHub
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Open Library to use checked in source for adding New Identifiers #9234

Closed
mekarpeles opened this issue May 7, 2024 · 4 comments · Fixed by #9483 or #9798
Closed

Refactor Open Library to use checked in source for adding New Identifiers #9234

mekarpeles opened this issue May 7, 2024 · 4 comments · Fixed by #9483 or #9798
Assignees
Labels
Fellowship Opportunity Lead: @jimchamp Issues overseen by Jim (Front-end Lead, BookNotes) [managed] Priority: 3 Issues that we can consider at our leisure. [managed] Theme: Identifiers Issues related to ISBN's or other identifiers in metadata. [managed] Type: Feature Request Issue describes a feature or enhancement we'd like to implement. [managed]

Comments

@mekarpeles
Copy link
Member

mekarpeles commented May 7, 2024

Currently, the way that new Identifiers are added to Open Library books and authors is through editing https://openlibrary.org/config/edition.yml?m=edit via the infogami database, which requires super librarian or admin permission.

This is blocking lots of new identifier types listed in #8271.

Ideally, we'd use /plugin/openlibrary/editions.page which can be edited by community pull request submissions.

UPDATE:

@web.memoize
def _get_edition_config():
"""Returns the edition config.
The results are cached on the first invocation. Any changes to /config/edition page require restarting the app.
This is is cached because fetching and creating the Thing object was taking about 20ms of time for each book request.
"""
thing = web.ctx.site.get('/config/edition')
classifications = [Storage(t.dict()) for t in thing.classifications if 'name' in t]
identifiers = [Storage(t.dict()) for t in thing.identifiers if 'name' in t]
roles = thing.roles
return Storage(
classifications=classifications, identifiers=identifiers, roles=roles
)

  • Open Library currently loads editions.yml in our app.
  • We want to simply move the current identifiers out of infogami into a yml file in openlibrary repo
  • When we load infogami editions.yml, we will add in the identifiers from the book-identifiers.yml
  • restrict access of edition.yml to only be admins -- librarians will submit PRs moving forward in github
@mekarpeles mekarpeles added Type: Feature Request Issue describes a feature or enhancement we'd like to implement. [managed] Theme: Identifiers Issues related to ISBN's or other identifiers in metadata. [managed] Priority: 2 Important, as time permits. [managed] Needs: Lead labels May 7, 2024
@mekarpeles mekarpeles added this to the Sprint 2024-05 milestone May 7, 2024
@mekarpeles mekarpeles added Lead: @jimchamp Issues overseen by Jim (Front-end Lead, BookNotes) [managed] and removed Needs: Lead labels May 10, 2024
@mekarpeles mekarpeles added Lead: @cdrini Issues overseen by Drini (Staff: Team Lead & Solr, Library Explorer, i18n) [managed] and removed Lead: @jimchamp Issues overseen by Jim (Front-end Lead, BookNotes) [managed] labels May 30, 2024
@mekarpeles mekarpeles added Priority: 3 Issues that we can consider at our leisure. [managed] Lead: @jimchamp Issues overseen by Jim (Front-end Lead, BookNotes) [managed] and removed Priority: 2 Important, as time permits. [managed] Lead: @cdrini Issues overseen by Drini (Staff: Team Lead & Solr, Library Explorer, i18n) [managed] labels May 30, 2024
@hornc hornc changed the title Refactor Open Library to use Github for adding New Identifiers Refactor Open Library to use checked in source for adding New Identifiers Jun 13, 2024
@Freso
Copy link
Contributor

Freso commented Jul 2, 2024

Maybe I’m reading #9483 wrong, but that seems to only deal with edition identifiers, and not identifiers for authors and works? If so, #9483 only completes ⅓ of this issue and this should probably get reopened.

@mekarpeles
Copy link
Member Author

mekarpeles commented Jul 31, 2024

@jimchamp and I spoke and agree for authors in particular, moving from https://openlibrary.org/config/author.yml to a version controlled file makes sense. We've tracked this as a new issue here: #9666

We've also decided for now not to change works because these IDs are not really being used and most systems are based on editions.

@Freso
Copy link
Contributor

Freso commented Aug 5, 2024

A big reason works IDs are not really being used, is probably that there’s no UI for adding them, meaning that most librarians are not able to actually add them… 🙃 It would probably be good to use the same approach for all three, IMHO.

E.g., all editions LibraryThing identifiers currently in OL are actually works IDs, so as soon as that gets (re)solved, there will be a lot of works IDs. I have also been adding some BookBrainz and Wikidata work level IDs as links (rather than IDs) to at least keep them with the OL entity.

If I were to make a PR for works would that be accepted (if the code etc. is all proper)? (I see there are already 3 people wanting to claim the authors one, so even if works is lower priority, it doesn’t seem like me being willing to try tackling that will delay the authors transition… :))

@Freso
Copy link
Contributor

Freso commented Aug 17, 2024

Guess I need to tag someone for a reply to #9234 (comment) so… @mekarpeles :)

Freso added a commit to Freso/openlibrary that referenced this issue Aug 26, 2024
This is taking the same steps applied to editions[1] and authors[2] and
applying it to works. `get_work_config()` is currently not used for
anything, probably because we’re still waiting for an actual interface
to edit the Work identifiers[3], so this is more a preliminary step to
ensure that Works will be handled in the same way that Editions and
Authors are. (And to allow for PRs to add Work identifiers while waiting
for that UI.)

[1] internetarchive#9234
    internetarchive#9483
[2] internetarchive#9666
    internetarchive#9769
[3] internetarchive#3430
Freso added a commit to Freso/openlibrary that referenced this issue Aug 27, 2024
This is taking the same steps applied to editions[1] and authors[2] and
applying it to works. `get_work_config()` is currently not used for
anything, probably because we’re still waiting for an actual interface
to edit the Work identifiers[3], so this is more a preliminary step to
ensure that Works will be handled in the same way that Editions and
Authors are. (And to allow for PRs to add Work identifiers while waiting
for that UI.)

[1] internetarchive#9234
    internetarchive#9483
[2] internetarchive#9666
    internetarchive#9769
[3] internetarchive#3430
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fellowship Opportunity Lead: @jimchamp Issues overseen by Jim (Front-end Lead, BookNotes) [managed] Priority: 3 Issues that we can consider at our leisure. [managed] Theme: Identifiers Issues related to ISBN's or other identifiers in metadata. [managed] Type: Feature Request Issue describes a feature or enhancement we'd like to implement. [managed]
Projects
None yet
3 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/internetarchive/openlibrary/issues/9234

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy