Hyku Documentation Wiki Space
Hyku Decision Log
The Hyku Decision Log serves as the source of truth for major community decisions, with a clear record of outcomes and links to relevant documents and discussions. It is maintained by the Product Owner to give the community a shared and reliable reference point.
5/7/2026 Controlled Vocabulary Validation for Backend Ingests
Decision: Add server-side validation for local controlled vocabulary terms (via Questioning Authority lookups), gated behind a per-tenant Feature Flipper flag (opt-in). Future work will enable per-field configuration allowing both controlled and non-controlled versions of a field.
Date: May 6, 2026 (Samvera Tech Call)
Who: Samvera Tech Call attendees, with Tech Lead, Hyrax and Hyku Product Owners
Why: The only existing defense against invalid controlled vocabulary data is the frontend dropdown on deposit forms. Backend ingest paths — Bulkrax imports, API ingests, and any direct interaction with the backend — can bypass this and insert arbitrary values into CV fields. In current releases this can cause errors when works with invalid CV content are displayed. The UI and backend should enforce the same rules; deviations from controlled vocabularies should be managed through configuration, not through the accident of which ingest path was used.
Follow-up:
Future work to move CV validation control into the M3 profile (e.g., a
controlled_values.validate: true/falsekey per property), which would allow per-field granularity rather than a tenant-wide toggle.Future work to support both controlled and non-controlled versions of a field for cases where administrators want a suggested vocabulary (dropdown populated from a CV source) without strict enforcement.
A script should be made available to correct past entries where non-conforming terms were used in Controlled fields, moving the content to a non-CV field (e.g., Rights Statement to Rights Notes or Additional Rights Information)
References:
PR: samvera/hyrax#7423 — Add validation to local controlled vocabulary