Skip to content

feat(identifiers): add ITAN Book ID identifier (itan_technologies) - #12947

Merged
mekarpeles merged 3 commits into
masterfrom
identifiers/add-itan-technologies
Jul 21, 2026
Merged

feat(identifiers): add ITAN Book ID identifier (itan_technologies)#12947
mekarpeles merged 3 commits into
masterfrom
identifiers/add-itan-technologies

Conversation

@mekarpeles

@mekarpeles mekarpeles commented Jun 17, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds the itan_technologies identifier to support bulk import of records from ITAN Global Publishing, an African literature digital marketplace
  • Identifier values are proprietary ITAN book IDs (e.g. BOO1109)

Related

Closes #12091 (ITAN Global Publishing catalog import request)

Notes

  • Includes a url template (https://itan.app/bookstore/@@@) pointing to ITAN's per-book bookstore slug page; website points to their general bookstore homepage
  • Identifier name itan_technologies matches the source_records prefix used in the import batch

Registers the itan_technologies identifier to support import of records
from ITAN Global Publishing, an African literature digital marketplace.
See issue #12091.
Copilot AI review requested due to automatic review settings June 17, 2026 05:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new edition identifier entry (itan_technologies) to support importing ITAN Global Publishing records by storing proprietary ITAN book IDs (e.g., BOO1109) in edition identifiers.

Changes:

  • Added itan_technologies to openlibrary/plugins/openlibrary/config/edition/identifiers.yml
  • Documented the identifier as an ITAN-assigned unique book identifier and linked to ITAN’s website

Comment thread openlibrary/plugins/openlibrary/config/edition/identifiers.yml
@mekarpeles

Copy link
Copy Markdown
Member Author

Wrong format, should use url with @@@ fmt not website

ITAN doesn't expose per-ID deep links; search URL is the closest
linkable format: https://itan.app/bookstore?search=@@@ returns the
matching book for a given BOO ID.
ITAN book pages use slugged URLs (e.g. /bookstore/african-literature-fiction-...-boo1109)
rather than ID-only deep links. Update url template to https://itan.app/bookstore/@@@
where @@@ is the full slug stored in the OL identifier field.
@openlibrary-bot

Copy link
Copy Markdown
Collaborator

Verification (Ada, on behalf of Mek): Reviewed the diff, ran the relevant test suites, and wrote a local Playwright test exercising the edit-book identifier dropdown end-to-end.

Result: Everything checks out β€” confirmed working.

Details:

  • Config structure: openlibrary/plugins/openlibrary/config/edition/identifiers.yml parses cleanly (yaml.safe_load), no duplicate name: key (82 identifiers total, itan_technologies unique), and the new entry's field set (label, name, notes, url, website) matches the shape of neighboring entries like british_national_bibliography and wikidata.
  • UI round-trip (Playwright, local dev): Logged in as admin, opened an edition's edit page, confirmed ITAN Book ID appears as a selectable option in the identifier dropdown (value itan_technologies), entered a test value, saved, reloaded the edit page and the public view page β€” value persisted correctly in both places. Removed the test value afterward to leave the dev DB clean. No JS console errors during the flow.
  • Tests: openlibrary/plugins/upstream/tests/test_utils.py (owns get_identifier_config, which loads this file) β€” 18/18 passed. Full Python suite (pytest openlibrary) β€” 4903 passed, 0 failed, 7 skipped/1 xfailed (pre-existing, unrelated to this change).
  • Minor doc nit (non-blocking): the PR description says "No url template included β€” ITAN does not expose a stable per-book deep-link URL," but the current diff (after the two follow-up commits on 2026-06-17) does include url: https://itan.app/bookstore/@@@. Might be worth a quick edit to the description so it matches what's actually shipping, since a reviewer skimming just the description would expect no url field.

No regressions found. Confirmed same-repo branch (not a fork) per isCrossRepository: false.

@mekarpeles
mekarpeles merged commit eeaf157 into master Jul 21, 2026
8 checks passed
@mekarpeles
mekarpeles deleted the identifiers/add-itan-technologies branch July 21, 2026 04:32
rattnak added a commit to rattnak/openlibrary that referenced this pull request Aug 29, 2026
ITAN book pages use a full slug (category-title-authorName-bookId), not the bare ID, so https://itan.app/bookstore/@@@ renders a 404 on every ITAN identifier. The slug is not derivable from the ID, so a @@@ template cannot express it. Drop url and keep website; the real per-book link is carried in the edition's links.

Refs internetarchive#13409, internetarchive#12947
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inquiry: Importing ITAN Global Publishing Catalog to Open Library

3 participants