Skip to content

All work links to Open Library are broken due to wrong casing #6739

@alexshpilkin

Description

@alexshpilkin

Open Library IDs are case-insensitive in that their casing does not bear information, but the server requires the ID to be passed in uppercase: https://openlibrary.org/b/OL38581116M is a book, while https://openlibrary.org/b/ol38581116m is a 404. However, all (?) Open Library URLs that appear on ORCID web pages seem to be in lowercase, thus 404: see e.g. https://orcid.org/0000-0003-1199-7080.

This seems to happen because when the URL is generated from an ol-type work ID by the resolver service, it is passed (among other things) through org.orcid.core.utils.v3.identifier.normalizers.CaseSensitiveNormalizer, which is under the impression that case-insensitive identifiers entail that the URL can be harmlessly lowercased:

IdentifierType t = idman.fetchIdentifierTypesByAPITypeName(Locale.ENGLISH).get(apiTypeName);
if (t != null && !t.getCaseSensitive()){
return value.toLowerCase();
}
return value;

Open Library has a different opinion of what the normal form of the ID (and therefore URL) should be.

As far as possible solutions are concerned, either the case sensitivity flag needs to become a tristate (uppercase, lowercase, preserve); a further normalization step that fixes the casing for OL links needs to be added; or declaring Open Library IDs to be case sensitive. All of these seem a bit meh. Neither deals with the fact that there are plenty of wrong URLs already stored in the database (they are stored, right?).

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions