Recording Holdings
This tutorial explains how to use HoldingCore2 to track physical zine holdings (copies you own) and RepoCore2 to document your repository (library, archive, distro, or personal collection).
What You'll Learn
- The difference between a zine (the work) and a holding (a copy)
- How to create RepoCore2 records for repositories
- How to create HoldingCore2 records for individual copies
- How to track condition, access, and location
Understanding the Concepts
Zine vs Holding
- ZineCore2 = The intellectual work ("Riot Grrrl Zine")
- HoldingCore2 = A specific physical copy you own
Think of it like books:
- Many libraries own copies of "Moby Dick" (the work)
- Each library's copy is a separate holding (this copy, with this call number, in this condition)
Why Track Holdings Separately?
- Inventory management: Know what you physically have
- Condition tracking: Document damage, missing pages, etc.
- Access control: Is it loanable? Reference only?
- Location: Where is it stored?
- Circulation: Can it be photocopied or digitized?
Step 1: Create a Repository Record
Before tracking holdings, describe your repository (collection).
Example: Personal Collection
Your home zine collection
{
"repo_id": "my-zine-collection",
"repository_name": "Pat's Personal Zine Collection",
"repository_kind": "Personal Collection",
"description": "Personal collection of punk, feminist, and DIY zines collected since 2015.",
"location": {
"city": "Seattle",
"region": "Washington",
"country": "United States"
}
}
Example: Library
A library zine collection
{
"repo_id": "oaktown-library-zines",
"repository_name": "Oakland Public Library Zine Collection",
"repository_kind": "Library",
"description": "Public lending library with a circulating zine collection focused on local zine culture and community voices.",
"location": {
"city": "Oakland",
"region": "California",
"country": "United States"
},
"marc_org_code": "CaOK",
"website": ["https://oaklandlibrary.org"],
"email": "[email protected]"
}
Example: Zine Distro
An independent distro
{
"repo_id": "queer-zine-collective",
"repository_name": "Queer Zine Collective Distro",
"repository_kind": "Distro",
"description": "Worker-run distro specializing in queer and trans zines. All zines available for trade or sliding scale purchase.",
"location": {
"city": "Portland",
"region": "Oregon",
"country": "United States"
},
"website": ["https://queerzinecollective.example.org"],
"specializations": ["LGBTQ+ zines", "Trans voices", "Queer history"]
}
Repository Kinds
Choose from the vocabulary:
- Library - Public or academic library
- Archive - Archival institution
- Distro - Independent distributor
- Personal Collection - Individual's collection
- Museum - Museum or cultural institution
- Infoshop - Radical bookstore/infoshop
- Community Center - Community space library
Step 2: Create a Holding Record
Now let's document a specific copy you own.
Basic Holding
You own a copy of "Riot Grrrl Zine" in your collection:
{
"holding_id": "holding-001",
"zine_id": "riot-grrrl-zine",
"repository_id": "my-zine-collection"
}
Three required fields:
- holding_id - Unique ID for this copy
- zine_id - Links to the ZineCore2 record
- repository_id - Links to the RepoCore2 record
Adding Copy Information
Track copy-specific details:
{
"holding_id": "holding-001",
"zine_id": "riot-grrrl-zine",
"repository_id": "my-zine-collection",
"copy_number": "Copy 1",
"condition_note": "Good condition. Small tear on back cover (1 inch). All pages intact.",
"location_details": "Shelf B, Box 3"
}
Library Holdings with Call Numbers
For libraries using call numbers:
{
"holding_id": "opl-zine-1234",
"zine_id": "not-your-moms-meatloaf",
"repository_id": "oaktown-library-zines",
"call_number": "ZINE-COOKZINE-2023-01",
"barcode": "31234567890123",
"location_details": "Zine Collection, First Floor",
"access_status": "Loanable"
}
Access Statuses
Control how the zine can be used:
Common Access Status Values
Loanable - Can be checked out
{
"access_status": "Loanable"
}
Reference - In-library use only
{
"access_status": "Reference"
}
Reading room only - Supervised access
{
"access_status": "Reading room only"
}
Restricted - Permission required
{
"access_status": "Restricted",
"restrictions": "Creator requested restricted access. Contact archivist for viewing."
}
Distro Statuses
For distros and collections that allow duplication:
Distro Status Values
Can duplicate - Photocopying permitted
{
"distro_status": "Can duplicate"
}
Can digitize - Scanning/digital copies OK
{
"distro_status": "Can digitize"
}
For trade - Available for zine trades
{
"distro_status": "For trade"
}
For sale - Available for purchase
{
"distro_status": "For sale"
}
Complete Examples
Personal Collection Holding
{
"holding_id": "pat-001",
"zine_id": "bike-punx",
"repository_id": "my-zine-collection",
"copy_number": "1",
"condition_note": "Excellent condition. Original from 2022 zine fest.",
"location_details": "Red box, top shelf",
"distro_status": "Can duplicate",
"public_notes": "Got this from the creator at Portland Zine Symposium 2022"
}
Library Holdings
{
"holding_id": "lib-zine-456",
"zine_id": "riot-grrrl-zine",
"repository_id": "oaktown-library-zines",
"call_number": "ZINE-FEMINIST-1991-01",
"barcode": "31234567890456",
"accession_number": "2024.03.001",
"copy_number": "1 of 2",
"condition_note": "Fair condition. Some wear on covers. Pages in good condition. This is a photocopy of the original.",
"location_details": "Zine Collection, Drawer F",
"access_status": "Loanable",
"distro_status": "Can duplicate"
}
Archive Holdings
{
"holding_id": "archive-riot-01",
"zine_id": "riot-grrrl-zine",
"repository_id": "feminist-zine-archive",
"accession_number": "RG-1991-001",
"condition_note": "Original issue in excellent condition. Archival storage in acid-free folder.",
"location_details": "Box 12, Folder 3, Climate-controlled storage",
"access_status": "Reading room only",
"distro_status": "Can digitize",
"restrictions": "Handling requires archivist supervision. White gloves required.",
"public_notes": "Donated by creator in 2020. Part of the Riot Grrrl Collection."
}
Multiple Copies
If you own multiple copies of the same zine:
Copy 1 (mint condition)
{
"holding_id": "hold-123-copy-1",
"zine_id": "popular-zine",
"repository_id": "my-collection",
"copy_number": "1 of 3",
"condition_note": "Mint condition, unread",
"location_details": "Archive box",
"access_status": "Reference"
}
Copy 2 (reading copy)
{
"holding_id": "hold-123-copy-2",
"zine_id": "popular-zine",
"repository_id": "my-collection",
"copy_number": "2 of 3",
"condition_note": "Good condition, shows handling",
"location_details": "Lending shelf",
"access_status": "Loanable"
}
Copy 3 (damaged)
{
"holding_id": "hold-123-copy-3",
"zine_id": "popular-zine",
"repository_id": "my-collection",
"copy_number": "3 of 3",
"condition_note": "Poor condition. Water damage on first 3 pages. Last 2 pages missing.",
"location_details": "Damaged items box",
"access_status": "Restricted",
"restrictions": "Damaged copy for reference only"
}
Tracking Donations and Acquisition
Use public_notes to document provenance:
{
"holding_id": "hold-789",
"zine_id": "rare-zine",
"repository_id": "library-special-collections",
"accession_number": "2024.01.042",
"condition_note": "Excellent",
"public_notes": "Donated by creator Jane Doe, March 2024. Part of the Jane Doe collection donation (2024.01.001-050).",
"access_status": "Reading room only"
}
Validation
Validate your records:
HoldingCore2
curl -o holdingcore2.schema.json \
https://zinecore.org/v2/schema/holdingcore2.schema.json
ajv validate -s holdingcore2.schema.json -d holding.json
RepoCore2
curl -o repocore2.schema.json \
https://zinecore.org/v2/schema/repocore2.schema.json
ajv validate -s repocore2.schema.json -d repository.json
Complete Workflow
To catalog a zine in your collection:
- Create Repository record (once) - Describes your collection
- Create ZineCore2 record - The intellectual work
- Create AgentCore2 record (optional) - The creator
- Create HoldingCore2 record - Your specific copy
Practice Exercise
You run a zine library. Document this holding:
- Library: "Community Zine Library" in Austin, TX
- Zine: "Mental Health Matters" by Riley Chen
- Your copy: Call number ZINE-MH-2023-05, barcode 400123456
- Condition: Good, slight wear on spine
- Status: Loanable, can duplicate
- Location: Third floor, Zine cabinet
Click to see answer
Repository:
{
"repo_id": "community-zine-library-austin",
"repository_name": "Community Zine Library",
"repository_kind": "Library",
"location": {
"city": "Austin",
"region": "Texas",
"country": "United States"
}
}
Holding:
{
"holding_id": "czl-400123456",
"zine_id": "mental-health-matters",
"repository_id": "community-zine-library-austin",
"call_number": "ZINE-MH-2023-05",
"barcode": "400123456",
"condition_note": "Good condition. Slight wear on spine.",
"location_details": "Third floor, Zine cabinet",
"access_status": "Loanable",
"distro_status": "Can duplicate"
}
Next Steps
- Building a Zine Catalog - Put it all together
- HoldingCore2 Reference - All fields
- RepoCore2 Reference - All fields
- Access Status Vocabulary
- Distro Status Vocabulary