Spring til hovedindhold

Open Lesson Format

Open Lesson Format er et standardiseret JSON-skema, der tillader tredjepartsindholdsudgivere at udgive undervisningsplan for Lessons.church. Enhver organisation, der hoster et feed i dette format, kan tilføjes som en ekstern udbyder, hvilket gør deres indhold gennemsogeligt og afspilleligt sammen med det indbyggede bibliotek.

Hvordan det fungerer

En udbyder hoster to typer endepunkter:

  1. Provider Tree -- En enkelt URL, der returnerer hele katalog med programmer, studier, lektioner og venues. Hver venue inkluderer en feed-URL, der peger på det detaljerede lektionsindhold.
  2. Venue Feed -- En URL pr. venue, der returnerer det fulde lektionsindhold (sektioner, handlinger og mediefiler).

Når en kirke tilføjer din udbyder-URL i Lessons.church, henter platformen dit træ for at opdage tilgængeligt indhold, derefter henter individuelle venue-feeds efter behov.

Provider Tree

Din udbyder-URL skal returnere et JSON-objekt med denne struktur:

{
"programs": [
{
"id": "program-1",
"name": "Gospel of Mark",
"slug": "gospel-of-mark",
"image": "https://example.com/images/mark.jpg",
"about": "A 12-week study through the Gospel of Mark.",
"studies": [
{
"id": "study-1",
"name": "The Beginning",
"slug": "the-beginning",
"image": "https://example.com/images/study1.jpg",
"lessons": [
{
"id": "lesson-1",
"name": "The Baptism of Jesus",
"slug": "baptism-of-jesus",
"title": "The Baptism of Jesus",
"image": "https://example.com/images/lesson1.jpg",
"description": "An introduction to Jesus' ministry.",
"venues": [
{
"id": "venue-1",
"name": "Kids",
"apiUrl": "https://example.com/feed/venues/venue-1"
},
{
"id": "venue-2",
"name": "Adults",
"apiUrl": "https://example.com/feed/venues/venue-2"
}
]
}
]
}
]
}
]
}

Tree-felter

FeltTypeBeskrivelse
programs[].idstringUnik programidentifikator
programs[].namestringVisningsmavn
programs[].slugstringURL-venligt navn
programs[].imagestringProgram billede-URL (valgfrit)
programs[].aboutstringBeskrivelse (valgfrit)
studies[].idstringUnik studieidentifikator
studies[].namestringVisningsmavn
studies[].slugstringURL-venligt navn
studies[].imagestringStudie billede-URL (valgfrit)
lessons[].idstringUnik lektionsidentifikator
lessons[].namestringVisningsmavn
lessons[].slugstringURL-venligt navn
lessons[].titlestringFuld titel
lessons[].imagestringLektions billede-URL (valgfrit)
lessons[].descriptionstringLektionsopsummering (valgfrit)
venues[].idstringUnik venue-identifikator
venues[].namestringVenue-navn (f.eks. "Kids", "Adults", "Youth")
venues[].apiUrlstringURL, der returnerer venue-feedet (se nedenfor)

Venues repræsenterer forskellige versioner af den samme lektion tilpasset forskellige publikum (aldersgrupper, indstillinger osv.).

Venue Feed

Hver venues apiUrl skal returnere et JSON-objekt, der matcher dette skema:

{
"id": "venue-1",
"name": "Kids",
"lessonId": "lesson-1",
"lessonName": "The Baptism of Jesus",
"lessonImage": "https://example.com/images/lesson1.jpg",
"lessonDescription": "An introduction to Jesus' ministry.",
"studyName": "The Beginning",
"studySlug": "the-beginning",
"programName": "Gospel of Mark",
"programSlug": "gospel-of-mark",
"programAbout": "A 12-week study through the Gospel of Mark.",
"downloads": [],
"sections": [
{
"id": "section-1",
"name": "Opening Discussion",
"sort": 1,
"materials": "Whiteboard and markers",
"actions": [
{
"id": "action-1",
"actionType": "text",
"content": "**Key Verse:** Mark 1:9-11",
"sort": 1
},
{
"id": "action-2",
"actionType": "question",
"content": "What do you know about baptism?",
"sort": 2,
"role": "Leader"
},
{
"id": "action-3",
"actionType": "play",
"content": "Intro Video",
"sort": 3,
"files": [
{
"id": "file-1",
"name": "intro-video.mp4",
"url": "https://example.com/media/intro.mp4",
"streamUrl": "https://vimeo.com/123456789",
"fileType": "video/mp4",
"seconds": 180,
"bytes": 52428800,
"thumbnail": "https://example.com/media/intro-thumb.jpg",
"loop": false
}
]
}
]
}
]
}

Venue Feed-felter

Rodoblekt

FeltTypeBeskrivelse
idstringVenue-identifikator
namestringVenue-navn
lessonIdstringLektionsidentifikator
lessonNamestringLektionens visningsmavn
lessonImagestringLektions billede-URL
lessonDescriptionstringLektionsopsummering
studyNamestringOverordnet studienavn
studySlugstringOverordnet studie slug
programNamestringOverordnet programnavn
programSlugstringOverordnet program slug
programAboutstringProgrambeskrivelse
downloadsarrayDownloadbare filbundter
sectionsarrayOrdnede lektionssektioner

Sektion

FeltTypeBeskrivelse
idstringSektions-identifikator
namestringSektions-titel
sortnumberVisningsrækkefølge
materialsstringMaterialer eller forberedelsesnoter (valgfrit)
actionsarrayOrdnede handlinger inden for denne sektion

Handling

FeltTypeBeskrivelse
idstringHandling-identifikator
actionTypestringEn af: play, text, question, quote, subhead
contentstringTekstindhold eller medieudtalelse
sortnumberVisningsrækkefølge
rolestringRollenavn, f.eks. "Leader", "Kids" (valgfrit)
roleIdstringRolle-identifikator (valgfrit)
filesarrayMediefiler til play-handlinger (valgfrit)

Fil

FeltTypeBeskrivelse
idstringFil-identifikator
namestringFilnavn
urlstringDirekte download-URL
streamUrlstringStreaming URL, f.eks. Vimeo-link (valgfrit)
fileTypestringMIME-type (f.eks. video/mp4, image/jpeg)
secondsnumberVarighed i sekunder til lyd/video (valgfrit)
bytesnumberFilstørrelse i bytes (valgfrit)
thumbnailstringThumbnail billede-URL (valgfrit)
loopbooleanOm medier skal loops (valgfrit, standard falsk)

Download

FeltTypeBeskrivelse
namestringDownload bundtnavn (f.eks. "Printable Materials")
filesarrayFiler i dette downloadbundt (samme felter som Fil ovenfor)

Handlingstyper

TypeFormål
playMediaafspilning -- video, lyd eller slideshow. Skal inkludere files.
textStatisk tekstindhold. Understøtter markdown-style fed (**text**).
questionDiskussion eller reflektionsspørgsmål til publikum.
quoteEt fremhævet citat eller skrift passage.
subheadEn overskrift eller skillelinie inden for en sektion.
tip

For at se et arbejdende eksempel på feedet i handling, kan du se det indbyggede Lessons.church-indholdstræ på https://api.lessons.church/lessons/public/tree og hente enhver venue feed-URL derfra.