Your schema. Without forking the product.
Add the fields your archive actually needs — donor reference, conservator, embargo end date, materials — to any of the eight catalog modules. Set them up in one place, edit them like any other field, and publish them with the rest of the record.
DR-2024-0188
Hayes, M.
2049-12-31
Silver gelatin · Card mount
Stable, foxing on verso
Yes
Every module. Same surface.
Each catalog module gets its own definition list and section title. Define what your collection actually needs, where it actually goes.
Items
Files
People
Organizations
Accessions
Fonds
Subjects
Events
The shapes a real catalog needs.
Not just text and number. Multi-tag, multi-select, rich text, and date — all editor variants the rest of the product already renders.
Text
Single-line input — short codes, identifiers, names.
Textarea
Multi-line input for medium-length notes and descriptions.
Rich text
Full WYSIWYG with bold, italic, lists, links, and headings.
Number
Numeric input — counts, measurements, weights, dimensions.
Boolean
Yes / no toggle — flags, embargoes, processing states.
Date
ISO date picker with timezone-safe storage.
Select
Single value from a curator-defined option list.
Multi-select
Several values from the same option list, with chips.
Multi-tag
Free-form tag input that still references your option list.
Define once. Edit anywhere.
A single Settings → Custom Fields page with one tab per module. Add definitions, mark as required, set help text, provide options, reorder with up/down — and save.
- Up/down reorder · per-tab section title editor
- Required flag, help text, active toggle, sort order
- Field key locked after creation so JSON values stay valid
- Options with { value, label } pairs for select / multiselect / multitag
- Drag-style reorder UX without the drag-drop bug surface
key: donor_reference · required
key: materials
key: restricted_until
key: catalogued
They behave like every other field.
Custom fields land on the detail page next to the built-in ones, and edit, save, and publish exactly the same way.
Edits flow through the same save bar
Change a custom field, see the floating save bar light up like it does for every other field. Revert, save, or publish — same buttons, same behaviour.
Published snapshots stay readable
When a record is published, the snapshot captures the field labels and values together — so a researcher reading it next year sees "Donor reference: DR-2024-0188", not a stray key.
Rename labels anytime
Realised "Restricted until" should read "Embargo end date"? Change it. Existing values stay attached — the underlying key doesn't move.
Name the section yourself
Default section title is "Custom Fields", but you can rename it per module — "Conservation", "Provenance", "Loan terms" — to fit the way your team thinks.