Availability for publications, links and licenses in ODL #63
Replies: 7 comments 12 replies
-
The current list of known-values for the status of a loan are:
The same list for the status of a copy contains:
None of them feel like a proper solution for this problem. |
Beta Was this translation helpful? Give feedback.
-
Im not sure if it was captured in your articulation of the use cases but an
example of a title being no longer available in a collection is that it was
one of many titles in a subscribed-to collection that is replaced with
another title. This scenario covers subscriptions to content that the
library gets from a subscription service but the library is not selecting
individual titles - the library is getting access to the titles as part of
a general subscription to a vendor collection.
…On Wed, Mar 15, 2023 at 12:16 PM Hadrien Gardeur ***@***.***> wrote:
In ODL, a number of stakeholders have the requirement to convey the status
of a publication or a specific copy acquired by a library.
Among those use-cases we could list:
- Open-access or public domain titles that are removed from
distribution
- Books that get removed for legal reasons
- Copies bought by mistake by a library, for which they're issued a
refund
- Copies tied to a publication with a problematic file, where a refund
is issues instead of replacing the file
The concept of a "status" is not completely foreign to ODL, but it doesn't
really cover these use cases:
- each loan has a status as defined in
https://readium.org/lcp-specs/releases/lsd/latest.html#23-status-of-a-license
- each copy/license acquired by a library also has a status, which is
strictly conveyed in the License Info Document:
https://drafts.opds.io/odl-1.0#4-license-info-document
Among the question that should be tackled:
- Should we extend the value listed in
https://drafts.opds.io/odl-1.0#4-license-info-document ?
- Is there a requirement for additional information in addition to a
status? For example, with a refund, do we need a specific reason why the
copy was refunded?
- How can we express this info in an ODL feed directly?
- Should we use the same field/values for the status of a publication?
How should we convey/transmit this information for a publication?
cc @pbrantley <https://github.com/pbrantley> @jce1028
<https://github.com/jce1028> @jonathangreen
<https://github.com/jonathangreen>
—
Reply to this email directly, view it on GitHub
<#63>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABIE7W3NQWESI4C6DYY7YQDW4HTMPANCNFSM6AAAAAAV4CATTA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Regards,
James English
www.linkedin.com/in/jamesenglish
|
Beta Was this translation helpful? Give feedback.
-
Going back to this discussion, I think we'll hit a wall if we try to cover every single reason why something gets removed through the use of status values. Here's my preferred approach:
This could look like that: "removed": {
"reason": "https://example.com/reason/refund",
"detail": "This publication was refunded due to a faulty EPUB that doesn't meet accessibility criteria"
} We could define a list of well-known reasons through a registry but this would also allow catalog providers to define their own reasons using a URL. We might also consider adding a specific time/date for this removal. |
Beta Was this translation helpful? Give feedback.
-
"link" : [
{
"rel": "http://opds-spec.org/acquisition/availability",
"state": "unavailable",
"reason": {
"id": "https://example.com/reason/refund",
"description": "This publication was refunded due to a faulty EPUB that doesn't meet accessibility criteria",
},
"since": "2023-11-21T11:32:11+02:00"
}
] |
Beta Was this translation helpful? Give feedback.
-
I've created a draft PR at #73 It's still missing quite a few things:
For our next call, we really need to focus on:
|
Beta Was this translation helpful? Give feedback.
-
For the list of reasons, I'd like to use the opds.io domain with a pattern like that: https://registry.opds.io/reason#XYZ A document with all the proper anchor would be published at that URL and provide a registry of reasons. Here's an initial list of potential reasons:
|
Beta Was this translation helpful? Give feedback.
-
@HadrienGardeur I've been thinking about some examples of this for publications where an item has been removed from a subscription. In that case, sometimes we may know about the subscription removal in advance. It would be nice to be able to communicate this as part of the For example something like this, assuming the current date is 2023-11-10. This would indicate that the title will be removed from a subscription in 10 days: {
"metadata": {
"@type": "http://schema.org/Book",
"identifier": "urn:uuid:blah",
"availability": {
"state": "unavailable",
"reason": "https://registry.opds.io/reason#removed",
"detail": "This publication is no longer available in your subscription",
"since": "2023-11-20T20:28:13Z"
}
}
} In this case though, I don't think that That would make the updated example look like this: {
"metadata": {
"@type": "http://schema.org/Book",
"identifier": "urn:uuid:blah",
"availability": {
"state": "unavailable",
"reason": "https://registry.opds.io/reason#removed",
"detail": "This publication is no longer available in your subscription",
"start": "2023-11-20T20:28:13Z"
}
}
} |
Beta Was this translation helpful? Give feedback.
-
In ODL, a number of stakeholders have the requirement to convey the status of a publication or a specific copy acquired by a library.
Among those use-cases we could list:
The concept of a "status" is not completely foreign to ODL, but it doesn't really cover these use cases:
Among the question that should be tackled:
cc @pbrantley @jce1028 @jonathangreen
Beta Was this translation helpful? Give feedback.
All reactions