Content Commons — sdílená knihovna položek a moderace
Obsah nahraný uživateli a sdílený napříč produkty (písně WorshipCommons, lekce Lessons.church, šablony FreeShow, šablony webu B1) prochází jednou frontou ke schválení, a ne samostatným procesem kontroly pro každý produkt. Tato stránka popisuje životní cyklus odeslání a schválení, datový model sdílených položek a místo, kde moderace probíhá.
Páteř položek
Každou položku Commons nesou dvě tabulky bez ohledu na produkt:
assets— veřejný identifikační záznam.status:pending|published|unpublished|removed. Údaje specifické pro typ (podrobnosti o písni, autoři) jsou uloženy v navazujících tabulkách propojených přesassetId.assetFiles— každý soubor připojený k položce (audio, obrázky, dokumenty). Nahrazuje starší sloupcepathafilesoddělené čárkami v jednotlivých tabulkách obsahu.submissions— jednotka moderace. Životní cyklus:draft → pending → approved | rejected | withdrawn. Odeslání může být zcela nová položka nebo úprava již publikované položky (od původního autora nebo třetí strany).
Schválení odeslání spustí publikační hook specifický pro produkt (Api/src/modules/commons/helpers/publishHooks/, např. song.ts), který odeslání rozbalí do vlastních záznamů produktu.
Postup odeslání
CommonsSubmissionController (Api/src/modules/commons/) je API určené koncovým uživatelům: vytvoření konceptu, předpřipravení a připojení souborů, odeslání ke kontrole nebo stažení odeslání. Jeho skutečnými klienty jsou externí weby producentů (web WorshipCommons, Lessons.church, FreeShow, galerie šablon webu B1), nikoli B1Admin.
Využití směrem k církvi
Kromě moderace čte B1Admin ze sdílené páteře i přímo. Vyhledávání „Add Song“ v sekci Serving → Songs přes GET /songs?sundayReady=true prohledává vedle existující externí databáze písní také publikované písně WorshipCommons, které personál označil jako připravené na nedělní bohoslužbu (viz poslechová brána níže), a zobrazuje jejich štítek licence. Výběr položky propojí nový SongDetail s jeho zdrojem přes songDetailLinks. Je to jediná cesta, kterou se B1Admin jednotlivé církve dotýkají dat Commons přímo, místo prostřednictvím nástrojů Server Admin určených jen pro personál. Popis pro církve najdete v části Bezplatné písně z WorshipCommons v podpůrné dokumentaci.
Fronta moderace
Fronta je v B1Admin → Server Admin → Commons (B1Admin/src/serverAdmin/components/CommonsTab.tsx) a je chráněna oprávněním Permissions.server.admin, tedy stejným oprávněním, které na této stránce chrání také Churches, Impersonate a Jobs. Jde o interní nástroj určený výhradně pro personál ChurchApps; jednotlivé církve jej nevidí.
Jsou tu tři podzáložky:
- Queue — všechna čekající odeslání napříč produkty, filtrovatelná podle produktu a typu položky. Každý řádek ukazuje odznak typu (nová položka, úprava od autora, úprava od třetí strany), přehled schválení odesílatele, souhrn rozdílů v polích a souborech a stáří (od 72 hodin označené). Tlačítko Review otevře panel s rozdíly na úrovni polí, náhledy souborů a vloženým náhledem produktu pouze pro čtení. Akce Approve a Reject podporují klávesové zkratky (j/k pro pohyb, a/r pro provedení akce).
- Reports — hlášení o autorských právech a o zásadách a kvalitě u publikovaných položek, rozdělená do dvou front a historie vyřešených hlášení. Člen personálu si hlášení převezme a poté ho vyřeší zvolením výsledku (upheld/dismissed/duplicate) a akce (none/unpublish/remove).
- Assets — prohledávatelný přehled publikovaného obsahu s akcemi u jednotlivých položek: zvýraznit, zrušit publikaci nebo znovu publikovat, či odstranit (důvod: autorská práva/zásady). U písní je zde poslechová brána tím, jak se píseň stane „připravenou na nedělní bohoslužbu“: personál ji označí poté, co poslechne všechny publikované tóniny a potvrdí, že jsou přítomny notový zápis, akordy i slajdy.
Každý endpoint pod /commons/admin/* (CommonsAdminController.ts) samostatně znovu ověřuje oprávnění server-admin.
Tento návrh záměrně používá jedinou frontu: vlastní moderační rozhraní /admin projektu WorshipCommons bylo vyřazeno, aby se odeslání všech produktů směrovala přes nástroje Server Admin v B1Admin.
Oblasti
Api (modul commons), B1Admin (Server Admin) a externí weby producentů: WorshipCommons, Lessons.church, FreeShow, šablony tvůrce webu B1.