pressbooks / ideas

Ideas for Pressbooks.
GNU General Public License v3.0
12 stars 4 forks source link

Generate OPDS 2.0 feed for published books #367

Open SteelWagstaff opened 3 years ago

SteelWagstaff commented 3 years ago

Feature Description

We produce metadata/microdata for all books using schema.org taxonomy and expose this information for all public books via REST api. Sample book endpoint at https://integrations.pressbooks.network/wp-json/pressbooks/v2/books. Pressbooks Directory displays JSON metadata for thousands of educational books which have been collected from ~100 separate Pressbooks instances and stored in a document database (Algolia). Directory records are updated hourly (pulling in any changes to book metadata from individual networks via API).

The Open Publication Distribution System (OPDS) catalog format is a syndication format for electronic publications based on Atom and HTTP. OPDS catalogs enable electronic publications to be aggregated, discovered, and distributed more easily. It is based on the Readium Web Publication Manifest model, with a focus on aggregating publications to facilitate their distribution. OPDS 1.2 was released in November 2018, and there is currently a draft version of OPDS 2.0. The major change appears to be a shift from Atom XML formats to JSON-LD.

Hadrien Gardeur of DeMarque (& author of the OPDS specification) writes:

OPDS 2.0 is already supported in Readium Mobile and Desktop and would work in a number of existing apps. You would get wider support in terms of supported apps with OPDS 1.0 but I think that's it's reasonable to start directly with OPDS 2.0 in 2021.

We are interested in producing an OPDS 2.0 feed that anyone could subscribe to to see the latest titles published in the Directory and allowing individual networks or authors to produce OPDS records for their individual books.

Other Notes

Publication in our open education/OER ecosystem is generally much more informal for most of these titles than they would be in a traditional university or commercial publishing house. Some, but not all, of our published titles also have EPUB or PDF exports available for public download.

Hadrien Gardeur writes:

In OPDS there's an expectation that you can "acquire" the publication. While pointing to an HTML page containing links is accepted, it's not the best practice or expected behavior for most clients. It's better to link directly to an EPUB whenever you have one, fallback to PDF and only use HTML in the acquisition link if you have nothing else.

James English from Lyrasis writes:

here is an example of a publisher who makes their catalog or Open Access books available via OPDS 2.0 https://www.fulcrum.org/api/opds. The publisher uses Navigation Links to create direct links to sub catalogs of works by Publisher. There are other grouping mechanisms in the spec you can use as well. It is up to you as to how you want to logically organize and present your catalog to aid in navigation and access.

Hadrien Gardeur advises:

in OPDS 2.0, I would recommend using groups with publications in them rather than a navigation feed for the homepage but your homepage could link to such a navigation feed if you have a long list of publishers/subjects that needs to be displayed to the user. Mixed feeds that can contain both navigation and publications are more attractive for users than navigation feeds which can feel a little “plain"

This sample cataogue from Feedbooks: https://catalog.feedbooks.com/catalog/index.json illustrates most of the core concepts in OPDS 2.0:

Feedbooks offers a primer on OPDS 1.x, a sample catalog. There is some (10 year old) validation tools available for OPDS 1.1 at https://opds-validator.appspot.com/ + https://github.com/zetaben/opds-validator-web + https://github.com/zetaben/opds-validator

oldbus commented 1 year ago

A feature like this wold be very welcome. At the moment on Pressbooks.com, for example, it appear you need to go to the directory to find things. This isn't as open as the content itself. I recommend looking at the FAIR principles (https://www.go-fair.org/fair-principles/). Whilst they are designed to make scientific data reusable, this can also apply to open books. Whilst it is OK to be able to download the book, see the licence etc, it is not good enough unless you address Finable properly. ensuring this is standardised also makes it Interoperable and would allow services globally to direct potential users to content.