FOR INSTITUTIONS · SELF-TEST KIT
Test the workflow yourself.
Download the offline checker and these files, run them, and compare what you see with the expected results. SmellBook checks every expected result before each release.
Steps
- Download the offline checker and compare its SHA-256 with the published value.
shasum -a 256 smellbook-check-heritage.mjs - Run it on a worked example: it must say VALID.
node smellbook-check-heritage.mjs smellbook-worked-0001.json - Run it on a broken file: it must say INVALID and name the problem listed here.
node smellbook-check-heritage.mjs broken-record-number.json - Download the collection tool and turn the LIDO example into a draft record: it must say what is still missing.
node smellbook-collection-tools.mjs import example-lido.xml - Export a valid record as the statements to add to your own catalogue.
node smellbook-collection-tools.mjs export smellbook-worked-0001.json --format lido
Heritage record checker SHA-256 50aa70d18690fe9fe5995abf1547a01e7906dc5b44f502a42b003629d61d1d4c
Files and expected results
| File | What it is | Expected result |
|---|---|---|
| smellbook-worked-0001.json | Worked example: Garlic and oil as a local scent of Spanish cooking in an 1858 travel essay | VALID |
| smellbook-worked-0002.json | Worked example: Incense outside Valencia Cathedral in a 1901 novel | VALID |
| smellbook-worked-0003.json | Worked example: Volatile compounds of artisan bread from bakeries in Valencia | VALID |
| example-obj-0001.json | Illustrative record: Smell of a wooden spice box (illustrative example) | VALID |
| example-pra-0001.json | Illustrative record: Early-morning baking in a neighbourhood bakery (illustrative example) | VALID |
| broken-unknown-identifier.json | Broken: links an identifier SmellBook never issued | INVALID: smellbook:smell:not-a-smell is not an issued SmellBook identifier (unknown) |
| broken-record-number.json | Broken: gives an SB number without its permanent identifier | INVALID: SB-0074 is smellbook:smell:church-incense; list that identifier in record.smellbookEntities too |
| broken-archival-locator.json | Broken: an archival-document record whose source gives no passage location | INVALID: An archival-document record needs sources, each with a locator and its date as catalogued |
| broken-object-reference.json | Broken: an object record without an object reference | INVALID: An object record needs heritageObject.holdingInstitution and heritageObject.objectReference |
| broken-illustrative-id.json | Broken: an illustrative record whose ID looks like a real holding | INVALID: record.recordId of an illustrative record must begin with EXAMPLE- |
| broken-evidence-class.json | Broken: an evidence class that does not exist | INVALID: record.evidenceClass must be one of scientific, historical, cultural, editorial, community, predicted |
| example-lido.xml | Illustrative LIDO export (short form): one invented object | 1 draft record, EXAMPLE-LIDO-0001, dated 1890–1910 from its production event, held by Example Museum (invented for documentation); not yet valid: record.smellDescription is required; record.evidenceClass is required; record.rights is required; record.recordedBy is required; record.recordedOn is required; record.status is required; suggested link to confirm: smellbook:smell:church-incense |
The kit runs entirely on your computer. Its records are SmellBook's worked examples, built from registered evidence, and invented illustrative records whose IDs begin with EXAMPLE-; the broken files are copies with one deliberate mistake each. No file describes a real institution's holding as if it came from that institution. The kit as data.