We’d like to add support for Digital Object Identifiers (DOIs) to Pressbooks. My assumption is that this should involve:
Adding a new field to the Book Info page which accepts a DOI.
Adding the DOI to the book info display on the webbook cover page and to front matter (alongside ISBN) in ebook and PDF outputs.
Adding the DOI to the REST API’s /metadata endpoint.
I’m interested in hearing from community members on this approach. Does it sound like the right one? How do you (or do you) attach DOIs to other resources in your institutions? Thanks! I’m particularly interested in how DOIs would fit into our Schema.org metadata. I found this resource in a cursory search. https://blog.datacite.org/schema-org-register-dois/
Hi @ned , yes I know a little about DOIs and how they fit with schema.org. What you outline above would be a good start, but other things to bear in mind:
You can assign DOIs to book series and chapters (especially in edited collections). Unlike an ISBN you don’t need different DOIs for different formats (i.e. ePub, Paperback, Hardback etc may all have same DOI).
The DOI is a number, like an ISBN, but to make full use of it you need to resolve it. Currently the prime resolving service is https://dx.doi.org/ but the DOI spec allows for others services, e.g. http://doai.io/ for open access. I suggest providing a default DOI resolver but allowing it to be configurable
That link for registering DOIs in the OP, is (I think) concerned with creating new DOIs using schema.org metadata. That’s really interesting, but for a first step you might just allow people to use DOIs registered through conventional means (Q1 in DOI FAQ) and focus on how to expose that information through schema.org.
I would use schema.org/identifier for the bare numeric DOI and schema.org/sameAs for the resolvable URL formed from the resolving service base url + the DOI.
As for the use of DOIs, I think it is very important for scholarly works. I know scenarios where researchers will not get credit for output unless it has a a DOI.
Hope this helps. I’d be happy to try to answer any questions not covered.
Does this conform to your expectations, @PhilBarker? I opted to use a PropertyValue type for the identifier. Also note that I’m including a filter (and we will in future add a UI) for the resolver so that the default can be changed, e.g. to https://doai.io as per your example.