DIGITAL ARCHIVES · DH PORTAL

Digital Archives & DH Tech Portal

A portal aggregating tech resources — articles, videos, tutorials, and projects — on Digital Archives and Digital Humanities. Increasingly these are produced through AI-driven generation, as an ongoing experiment.

Explore

Jump into whichever section fits what you're after.

Latest Articles

View all →

🧾UUID and SHA-256 in PREMIS: Why objectIdentifier and fixity Live in Separate Fields

UUIDs and SHA-256 digests are not competing identifiers; they answer different questions. This piece works through the distinction using the PREMIS Data Dictionary, Archivematica's implementation, and the E-ARK specification.

premisuuidsha256digitalpreservation

🪤A wrong module in moduleRef: how the published TEI schema came to reject all 795 waka

I brought my own ODD to the TEI 2026 workshop on Schematron in ODD. Before writing a single rule, RELAX NG reported 795 errors. The cause was a wrong module in moduleRef, and nothing had ever reported that mistake.

teixmlschematronrelaxng

🔍Embedding Schematron in a TEI ODD and validating it in VS Code

Generating RELAX NG and Schematron from a single TEI ODD, and wiring both into VS Code without oXygen.

teixmlschematronxslt

Why Drupal Won't Show the Translate Tab: Content Translation Enablement and the Two-Layer Permission Model

A record of a Drupal multilingual site where one content type would not show the Translate tab, so an editor could not create the English version. The fix required separating two things: enabling translation per content type, and the fact that translation permissions are split into an 'action' layer and a 'target' layer.

drupali18nheadless

IIIF Image API Thumbnails Break with !w,h (sizeByConfinedWh): Level 1 Servers Are Not Guaranteed to Support It

A IIIF viewer generated thumbnails with full/!w,h/ (sizeByConfinedWh), and thumbnails stopped rendering for some collections backed by an external IIIF Image API. The cause: !w,h is not a required feature at Image API level 1. This walks through the level/supports relationship, the measured behavior, and switching to width-only sizing (sizeByW).

iiifthumbnaildigital-archivesimage-api

🤗Migrating to transformers 5: SigLIP2 Moved Over, clip-japanese-base Was Deferred

How a Dependabot major bump of transformers 4.57.6 → 5.5.0 played out: the native SigLIP2 model migrated after absorbing a return-type change (.pooler_output), while the trust_remote_code clip-japanese-base was deferred due to a two-stage incompatibility (meta-device init and the post_init() contract) — plus a checklist for deciding whether to take such an upgrade.

transformershuggingfacepythondependabot