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

OPDS 1 entry supports a summary, should OPDS 2 link object support a similar property? #51

Open
llemeurfr opened this issue Nov 12, 2021 · 7 comments
Labels

Comments

@llemeurfr
Copy link

In https://gallica.bnf.fr/opds we find entries like

<entry>
<title>Dernières mises en ligne</title>
<id>
https://gallica.bnf.fr/services/engine/search/opds?operation=searchRetrieve&version=1.2&exactSearch=false&query=dc.format%20all%20%22epub%22%20sortby%20indexationdate%2Fsort.descending%20&filter=provenance%20all%20%22bnf.fr%22
</id>
<updated>2021-11-12T18:43:37</updated>
<summary type="text">Tout juste ajouté sur Gallica</summary>
<link type="application/atom+xml;profile=opds-catalog;kind=navigation" href="https://gallica.bnf.fr/services/engine/search/opds?operation=searchRetrieve&version=1.2&exactSearch=false&query=dc.format%20all%20%22epub%22%20sortby%20indexationdate%2Fsort.descending%20&filter=provenance%20all%20%22bnf.fr%22" rel="http://opds-spec.org/sort/popular"/>
</entry>

There is currently no way to map the summary to an internal object modelled after OPDS 2. DO we live with the absence of this possibly useful information?

@mickael-menu
Copy link

@mickael-menu
Copy link

In the Swift OPDS 1 parser, we take content then summary as a fallback for description:

description: tag("content") ?? tag("summary"),

@llemeurfr
Copy link
Author

No it is the "summary" of an OPDS 1 entry, which is mapped to an OPDS 2 Link object.

@danielweck
Copy link
Member

Example OPDS1 feed: http://gallica.bnf.fr/opds

  • Entry title: "Formats accessibles"
  • Entry summary: "Livres téléchargeables dans un format accessible (EPUB 3, DAISY DTBook)"

The current TypeScript implementation (r2-opds-js) converts OPDS1 title to OPDS2 Title property of the Link object, and converts OPDS1 summary to an untyped JSON "additional property" named title_summary. See:
http://readium2.herokuapp.com/opds-v1-v2-convert/%20http%3A%2F%2Fgallica.bnf.fr%2Fopds%20

Thorium displays the OPDS1 summary as a tooltip to the main Entry title (I will post screenshots below shortly)

@danielweck
Copy link
Member

danielweck commented Nov 13, 2021

Thorium screenshot:

OPDS

@mickael-menu
Copy link

Following the work done for the additional EPUB metadata, we could store it as an extension by expanding the XML namespace of the <summary> tag:

{
  "properties": {
      "http://www.w3.org/2005/Atom#summary": "Tout juste ajouté sur Gallica"
  },
  "type": "application/atom+xml;profile=opds-catalog;kind=navigation",
  "title": "Dernières mises en ligne",
  "rel": "http://opds-spec.org/sort/popular",
  "href": "https://gallica.bnf.fr/services/engine/search/opds?operation=searchRetrieve&version=1.2&exactSearch=false&query=dc.format%20all%20%22epub%22%20sortby%20indexationdate%2Fsort.descending%20&filter=provenance%20all%20%22bnf.fr%22"
}

@HadrienGardeur
Copy link
Member

We've inherited summary from Atom, but it's never something that was very useful IMO.

Various organizations have rolled out OPDS 2.0 support over the years but no one ever expressed their interest in such an extension. I'll tag this issue with the "OPDS 2.0" label, but I wouldn't consider adding this to our roadmap of topics to cover without broader interest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants