internetarchive / openlibrary

One webpage for every book ever published!

Home Page:https://openlibrary.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prototype: Enter a URL -> Book Import (Preview)

mekarpeles opened this issue · comments

commented

Background

There are many high quality one-off books that are published natively online, in web page format, with chapters, by publishers or authors, that are accessed/read via a remote url. Open Library calls these books web books. Web books are distinct from sites like standardebooks and projectgutenberg where there is a group producing material en masse -- we instead call these Trusted Book Providers (these sources usually have their own ID structure and uniform ways to experience their items). You can read more about web books and trusted book providers here: https://openlibrary.org/trusted-book-providers

Here's an example: https://doc.rust-lang.org/stable/book/

Challenge

This issue asks: How might we make it as easy as possible for a patron on Open Library to enter the url for a "web book" they've found in an input box on the site and have the web book webpage automagically parsed to:

  1. determine if it's a web book
  2. extract key fields, and
  3. render a preview of a/the book to be imported (with author, isbn, cover, etc)?
  4. provide a button to create the edition (or queue in /merges)

Similar to #7653 (Bulk Search tool). Also related to #7077.

Considerations

I imagine the volume for this feature would be low / inexpensive and this is only meant to be an experiment/prototype -- it should require the patron to be logged in and limit number of requests, so if anyone tries to abuse such a system, we'd be able to know and act.

Maybe a codepen.io prototype!

Stakeholders

@cdrini @scottbarnes

Note: Before making a new branch or updating an existing one, please ensure your branch is up to date.

commented

Here's a starting point on what a prototype could look like:

https://codepen.io/mekarpeles/pen/gOJRjKN

commented

We could also try gpt image API