ICT:Numbering v 4.1
Numbering and Identifier Policy
This page defines the official policy for identifiers, numbering, and file naming within the Costasano Heritage Database.
It establishes a single, consistent strategy to ensure:
- uniqueness
- predictability
- stability over time
- minimal editorial effort
- long-term maintainability
Identifiers are technical labels only.
They must never encode interpretation or semantics beyond grouping and sequencing.
Scope
This policy applies to:
- DigitalAssets
- HeritageObjects (if numbered)
- MediaWiki file names derived from DigitalAssets
It does NOT apply to:
- Persons
- Organizations
- Places
- Keywords
- lookup tables
Core philosophy
Separation of concerns
The system strictly separates:
- Files → storage only
- DigitalAssets → interpretation and metadata
- Research entities → historical meaning
Therefore:
Files must NEVER define identity.
Identity is defined only by research entities (primarily DigitalAssets).
Identifiers are mechanical
Identifiers:
- are generated automatically
- are sequential
- are context-based
- contain no interpretation
- must not be edited manually
Meaning belongs in metadata fields, not in the identifier.
One source of truth
Each entity has exactly one identifier.
Derived objects must reuse that identifier rather than creating new numbering systems.
No parallel or competing counters are allowed.
Identifier structure
Standard format
Numbered entities use:
CHAPTER–CONTEXT–COUNTER
Example:
CH03-ROM-0007
Components
Chapter
Short code of the ResearchChapter.
Provides narrative grouping.
Example:
CH03
Context
Short code of either:
- an Organization, or
- a Place
Whichever best describes the primary context.
The slot is neutral and does not distinguish between actor or location.
Examples:
ROM FLO ARCH CONG
Counter
Sequential integer:
- starts at 1
- unique within (chapter + context)
- zero padded
- automatically computed
Examples:
0001 0002 0003
Example
CH03-ROM-0015
Means:
- Chapter 03
- Context Rome
- 15th registered item in this group
Nothing more.
DigitalAssets numbering
Principle
DigitalAssets are the primary numbered entities because they represent concrete research sources.
Each DigitalAsset receives exactly one identifier.
Implementation
The DigitalAssets table stores:
- chapter_id
- context_code
- sequence_number
- identifier
When creating a new record:
- determine chapter
- determine context (organization or place)
- query MAX(sequence_number) for that pair
- next = max + 1
- compose identifier
- save identifier
No counter table exists.
The table itself acts as the counter history.
Rationale
This approach:
- avoids locking or race conditions
- avoids separate counter tables
- is simple to understand
- works reliably with Cargo
- is easy to debug
File naming policy
Core rule
Files are storage only.
Files must NEVER have independent numbering.
Naming rule
The file name MUST reuse the DigitalAsset identifier.
Format:
identifier + extension
Examples:
CH03-ROM-0007.jpg CH03-ROM-0007.tif CH03-ROM-0007.pdf
Why
This guarantees:
- one file ↔ one DigitalAsset
- immediate visual matching
- no duplicate numbering systems
- easier exports and backups
- long-term stability
Derivatives
Derived files reuse the same base identifier with suffixes.
Examples:
CH03-ROM-0007_master.tif CH03-ROM-0007_web.jpg CH03-ROM-0007_ocr.pdf
No new counters are created.
Prohibited
The following are not allowed:
- independent file numbering
- MediaWiki auto-generated names
- timestamps
- random hashes
- renaming after upload
- separate file counters
HeritageObjects numbering (optional)
HeritageObjects may optionally use the same scheme if sequential registration is useful.
If used:
- follow the same structure
- maintain separate counters
- never mix sequences with DigitalAssets
What is NOT numbered
The following entities intentionally do not use numbering:
- Persons
- Organizations
- Places
- Keywords
- lookup tables
These are identified by names or codes only.
Numbering would add complexity without benefit.
Editorial workflow
DigitalAsset creation
- create DigitalAsset page via form
- identifier generated automatically
- upload file using that exact name
- link file
Never upload files first and rename later.
Maintenance rule
Identifiers are permanent.
They must never be changed after creation.
Design principles summary
The system prioritizes:
- simplicity
- determinism
- automation
- long-term stability
- minimal dependencies
Boring, predictable numbering is preferred over clever solutions.
Status
Official numbering and identifier policy – Version 1.0