Skip to content

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

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.

  • id (UUID, primary key) - Unique identifier
  • status (string) - Publication status: "published", "draft", or "archived"
  • title (string) - Title of the sheet music
  • short_description (string) - Brief description
  • description (text, HTML) - Full description with rich text formatting
  • hero_image (UUID, M2O → directus_files) - Main hero image
  • preview_1 (UUID, M2O → directus_files) - First preview image
  • preview_2 (UUID, M2O → directus_files) - Second preview image
  • preview_3 (UUID, M2O → directus_files) - Third preview image
  • preview_4 (UUID, M2O → directus_files) - Fourth preview image
  • content_files (M2M → directus_files via sheets_files junction)

    • Public files: PDFs, images, audio files
    • These are accessible to end users
  • source_files (M2M → directus_files via sheets_files_1 junction)

    • Private source files: Sibelius files, MIDI files, design source files
    • Not exposed publicly - for internal use only
  • heroes (M2M → heroes via sheets_heroes junction)

    • Artists/performers associated with this sheet music
  • composers (M2M → composer via sheets_composer junction)

    • Composers of this sheet music
  • genres (M2M → genre via sheets_genre junction)

    • Musical genres for categorization
  • is_public_domain (boolean, required) - Whether the work is in the public domain
  • first_published (string) - First publication date
  • copyright_notice (text, required) - Copyright information
  • learning_and_teaching_notes (text, HTML) - Public notes for learning/teaching
  • private_notes (text) - Internal notes (not exposed publicly)
  • sort (integer) - Sort order
  • user_created (UUID, readonly) - Creator user ID
  • date_created (timestamp, readonly) - Creation date
  • user_updated (UUID, readonly) - Last updater user ID
  • date_updated (timestamp, readonly) - Last update date

The Sheets collection is used to:

  1. Store metadata about sheet music pieces
  2. Link to files (PDFs, preview images) stored in Directus
  3. Connect to related entities (composers, heroes, genres)
  4. Manage publication status (published/draft/archived)
  5. Track copyright and public domain status

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.*'
]
})
);