Skip to content

Objects

An object is anything you catalog in Athena. (Other platforms and the Dublin Core standard call this a resource, the same thing.

There are three kinds of object, and the easiest way to understand them is as containers:

Object Contains Think of it as
Item Set Items a collection, a fonds, a box
Item Media + metadata one catalogued thing
Media a file + metadata one scan, photo, audio, or document file

So an Item Set holds Items, and an Item holds Media (the actual files) plus its metadata. A Media object holds one file plus its own metadata.

graph TD
    IS[Item Set] -->|contains| I[Item]
    I -->|contains| M[Media]
    I -.->|property → value| V1[metadata]
    M -.->|property → value| V2[metadata]

Item

A single catalogued thing, the unit a researcher actually looks for: a letter or a poster, say. An Item carries its own metadata and usually points at one or more Media (the files that show it).

Item Set

A group of Items, informally a "Collection" or "Set". Item Sets can nest (an Item Set can have a parent Item Set), so you can model a hierarchy like Collection → Series → Sub-series.

Media

The actual file: a scan, a photograph, an audio recording, a PDF. Media also carry metadata of their own (for example technical details pulled out of the file during ingest).

Every object has a class

Picking the kind of object (Item / Item Set / Media) is only half the story. Each object is also given a class (what kind of thing it is), drawn from a vocabulary:

  • a letter → class bibo:Letter
  • a photograph → class dctype:Image
  • a collection → class dctype:Collection

The class is the [class] in our [class] - [property] - [value] sentence. It sets expectations for which properties make sense (a Letter has a recipient, a Photograph has dimensions) and it's chosen once per object. After that, you describe the object with as many property → value pairs as you need, which brings us to metadata values.

Default metadata

An object's title is not a special field on the object. It is an ordinary dcterms:title value, and every object always has exactly one. Editing the title edits that value; searching and sorting by title read it directly.

On top of whatever a cataloguer enters, every object reports a small set of computed values, derived from the record itself and returned read-only (system: true). They are never stored and cannot be edited through the value endpoints:

Property Comes from On
dcterms:identifier the record id all objects
dcterms:issued / dateSubmitted when it was added all objects
dcterms:modified when it last changed all objects
dcterms:format the file's media type Media
dcterms:isPartOf the Item Sets containing it Items

Object flags

Beyond its class and metadata, every object carries two staff-controlled flags:

  • Locked: a frozen object. Once a Supervisor locks an object, nobody below Supervisor can edit or delete it (a safeguard for records that must not change).
  • NSFW: marks sensitive material. NSFW objects are served like any other public content and rendered blurred with click-to-reveal in the public and admin views. Turning on "show NSFW" in user settings unblurs the admin area for that user. The blur is presentation only, applied by the frontend.

Who can set each flag is covered in User roles.