Sheets Collection
Sheets Collection
Section titled “Sheets Collection”The sheets collection stores sheet music metadata and files in the Directus CMS (crf-admin).
📚 Browse the Library: View Sheet Music Library - Dynamic pages that pull data from Directus
Overview
Section titled “Overview”The Sheets collection is the primary collection for managing sheet music in the Creative Ranges Foundation system. It includes metadata, file relationships, and connections to composers, heroes (artists), and genres.
Collection Schema
Section titled “Collection Schema”Core Fields
Section titled “Core Fields”id(UUID, primary key) - Unique identifierstatus(string) - Publication status:"published","draft", or"archived"title(string) - Title of the sheet musicshort_description(string) - Brief descriptiondescription(text, HTML) - Full description with rich text formatting
Images
Section titled “Images”hero_image(UUID, M2O → directus_files) - Main hero imagepreview_1(UUID, M2O → directus_files) - First preview imagepreview_2(UUID, M2O → directus_files) - Second preview imagepreview_3(UUID, M2O → directus_files) - Third preview imagepreview_4(UUID, M2O → directus_files) - Fourth preview image
File Relationships
Section titled “File Relationships”-
content_files(M2M → directus_files viasheets_filesjunction)- Public files: PDFs, images, audio files
- These are accessible to end users
-
source_files(M2M → directus_files viasheets_files_1junction)- Private source files: Sibelius files, MIDI files, design source files
- Not exposed publicly - for internal use only
Relationships
Section titled “Relationships”-
heroes(M2M → heroes viasheets_heroesjunction)- Artists/performers associated with this sheet music
-
composers(M2M → composer viasheets_composerjunction)- Composers of this sheet music
-
genres(M2M → genre viasheets_genrejunction)- Musical genres for categorization
Copyright & Publishing
Section titled “Copyright & Publishing”is_public_domain(boolean, required) - Whether the work is in the public domainfirst_published(string) - First publication datecopyright_notice(text, required) - Copyright information
learning_and_teaching_notes(text, HTML) - Public notes for learning/teachingprivate_notes(text) - Internal notes (not exposed publicly)
System Fields
Section titled “System Fields”sort(integer) - Sort orderuser_created(UUID, readonly) - Creator user IDdate_created(timestamp, readonly) - Creation dateuser_updated(UUID, readonly) - Last updater user IDdate_updated(timestamp, readonly) - Last update date
Usage in Sheet Music Library
Section titled “Usage in Sheet Music Library”The Sheets collection is used to:
- Store metadata about sheet music pieces
- Link to files (PDFs, preview images) stored in Directus
- Connect to related entities (composers, heroes, genres)
- Manage publication status (published/draft/archived)
- Track copyright and public domain status
Related Collections
Section titled “Related Collections”- Songs - Song information
- Composers - Composer information
- Heroes - Artist/performer information
- Genres - Musical genre taxonomy
API Access
Section titled “API Access”Access via Directus SDK:
import { getDirectusClient } from '@/lib/directus';import { readItems } from '@directus/sdk';
const client = getDirectusClient();const sheets = await client.request( readItems('sheets', { filter: { status: { _eq: 'published' } }, fields: [ '*', 'hero_image.*', 'preview_1.*', 'preview_2.*', 'preview_3.*', 'preview_4.*', 'content_files.*', 'heroes.*', 'composers.*', 'genres.*' ] }));