Feature request
B1 already maintains a global SongDetail table shared across all churches — catalog songs added via PraiseCharts are automatically deduplicated so any two churches adding the same song share one record. Original songs don't benefit from this because they have no external ID to match on. This feature would extend that shared infrastructure to let churches voluntarily publish their originals into the community library.
The ask
An opt-in "Share with B1 community" workflow on original songs that includes:
- Ownership attestation — before a church can publish, they confirm:
- They wrote or own the song (not a cover of a copyrighted work)
- They hold the rights to distribute the attached audio tracks
- A simple checkbox agreement, not a legal form — but it puts the responsibility clearly on the church
- Usability requirement for audio — shared tracks need to be production-ready for other bands:
- Click track (metronome/guide)
- Stem or full mix the band can actually play to
- Not just a recording of their service — something another worship team can use in rehearsal and on stage
- Community discovery UI — a searchable library of community-contributed songs, separate from the PraiseCharts catalog, where churches can find and add originals to their own library
- Audio travels with the song — when a church adds a community song, the attached tracks come with it (or are accessible from the shared SongDetail)
Why the architecture already supports this
The SongDetail table has no churchId — it was designed to be shared. Currently only external-ID-matched songs (PraiseCharts, CCLI, Genius) use the shared pool. Original songs create a per-church SongDetail. A contributingChurchId and a communityPublished flag on SongDetail would be enough to expose originals to the broader pool without breaking the existing model.
Why the ownership/usability gate matters
Without it, the library fills with unusable content — rough recordings, covers of copyrighted songs, or half-finished demos. The gate is lightweight (a confirmation step, not a review queue) but it sets the right expectation: you're sharing something another band can actually perform.
Relationship to other issues
Depends on audio upload UI being built first — see #961. A song can't be shared if the tracks can't be uploaded in the first place.
Feature request
B1 already maintains a global
SongDetailtable shared across all churches — catalog songs added via PraiseCharts are automatically deduplicated so any two churches adding the same song share one record. Original songs don't benefit from this because they have no external ID to match on. This feature would extend that shared infrastructure to let churches voluntarily publish their originals into the community library.The ask
An opt-in "Share with B1 community" workflow on original songs that includes:
Why the architecture already supports this
The
SongDetailtable has nochurchId— it was designed to be shared. Currently only external-ID-matched songs (PraiseCharts, CCLI, Genius) use the shared pool. Original songs create a per-churchSongDetail. AcontributingChurchIdand acommunityPublishedflag onSongDetailwould be enough to expose originals to the broader pool without breaking the existing model.Why the ownership/usability gate matters
Without it, the library fills with unusable content — rough recordings, covers of copyrighted songs, or half-finished demos. The gate is lightweight (a confirmation step, not a review queue) but it sets the right expectation: you're sharing something another band can actually perform.
Relationship to other issues
Depends on audio upload UI being built first — see #961. A song can't be shared if the tracks can't be uploaded in the first place.