⬆ NAHORU
Transparentní přehled Ta-Na-Si Media & Document Repository — architektura, technologický stack a vývojářské kredity.

Repository Core

Tato stránka vysvětluje, z čeho je Ta-Na-Si Media & Document Repository postaveno — jeho architekturu, jeho technologii a lidi stojící za jeho vývojem. Věříme v plnou transparentnost: každý, kdo archiv používá nebo uvažuje o provozování vlastního, si zaslouží přesně vědět, z čeho se systém skládá. Stránka O projektu vysvětluje, k čemu archiv slouží; tato stránka vysvětluje, jak funguje.

1. Co je Repository Core

Repository Core je software, na kterém tento archiv běží: plně nezávislý, samostatně hostovaný digitální archivní systém, napsaný od základu pro jediný účel — ukládat, pořádat a otevřeně zpřístupňovat dokumenty a média jako doložitelný zdrojový materiál. Nestaví na WordPressu, Joomle, Drupalu ani jiném hotovém CMS a nepoužívá žádný PHP framework. Každá komponenta — databázová vrstva, vyhledávač, kurátorská pracovna, veřejné stránky — byla navržena a napsána přímo pro tento úkol.

Software je postaven jako multiinstalační platforma: neobsluhuje jeden centrální archiv, ale pohání mnoho oddělených, nezávislých. Každý archiv — ať malá rodinná sbírka, nebo velký regionální repozitář — je vlastní úplnou instalací s vlastní databází, vlastními soubory a vlastním správcem. Mezi archivy neexistuje žádná sdílená infrastruktura ani centrální služba, na níž by závisely.

2. Jedna kódová základna, mnoho nezávislých archivů

Každá instalace běží na identické kódové základně. Vše, co je specifické pro jeden server — jeho veřejná adresa, přístup k databázi, odesílatel pošty — žije v jediném souboru prostředí, který se vytvoří jednou při zřízení a nikdy necestuje s kódem. Právě toto přísné oddělení umožňuje celý model: tutéž aktualizaci softwaru lze nasadit na každý archiv, malý i velký, aniž by se sáhlo na individuální konfiguraci kteréhokoli z nich.

Nový archiv se instaluje pomocí průvodce nastavením přímo v prohlížeči — žádná příkazová řádka, žádné konfigurační soubory k ručnímu upravování. Průvodce mluví 18 jazyky, zkontroluje požadavky serveru, otestuje databázové připojení dříve, než se cokoli zapíše, a založí účet vlastníka s bezpečně hashovaným heslem. Databázové tabulky vytváří idempotentní migrační systém: může běžet libovolněkrát a vždy dospěje ke správnému schématu. Pozdější změny schématu jsou verzované a sledované, takže každá instalace přesně vidí, kde stojí; rutinní změny se provádějí automaticky, zatímco těžké čekají na vědomé potvrzení vlastníkem. Aktualizace se řídí stejným pečlivým pořadím: nejprve zálohovat, pak migrovat, pak vyprázdnit mezipaměť.

3. Technologický stack Verze 1.0.0 (Thuringia)

🖥️ ServerStandardní prostředí Apache + PHP — běží na běžném sdíleném hostingu i na jakémkoli vlastním serveru; žádné kontejnery, žádné build nástroje, žádné externí služby
🐘 BackendPHP 8.1 nebo novější — bez frameworku; jedinou serverovou knihovnou třetí strany je malý Markdown parser Parsedown
🗄️ DatabázeJedna vrstva s více ovladači podporující SQLite (nulová konfigurace), MySQL/MariaDB a PostgreSQL — každý archiv si vybere, co odpovídá jeho velikosti
🔎 VyhledáváníFulltextový index nad všemi texty záznamů plus devět fasetových os (téma, místo, jazyk, přispěvatel, žánr, součást, sbírka, série, přístup) s živými počty výsledků
🌐 JazykyRozhraní připravené na 18 jazykových balíčků (v překladu); 49 jazyků obsahu nativně podporovaných ve vyhledávání a fasetách, včetně písem psaných zprava doleva
📦 Ukládání souborůMediální strom dělený podle UUID s deterministickými cestami — navržený pro růst do milionů souborů; volitelná replikace mimo server do objektového úložiště kompatibilního s S3
🎨 FrontendRučně psané HTML5 a CSS3 ve vrstveném designovém systému, minimum čistého JavaScriptu — každá stránka funguje nejprve bez skriptů
🧩 Knihovny v prohlížečiTři samostatně hostované open-source komponenty, podávané přímo z archivu a nikdy z CDN: OpenSeadragon pro přiblížitelné hloubkové zobrazení obrázků (New BSD 3-Clause), rich-textový editor Jodit (MIT) a Markdown editor EasyMDE (MIT)
🔒 PřihlašováníPřihlášení založené na relacích se silným hashováním hesel, volitelnými dvoufaktorovými kódy (TOTP), uzamčením po neúspěšných pokusech o přihlášení a ochranou CSRF na každém formuláři
⚡ MezipaměťSouborová mezipaměť stránek s ochranou proti přetížení a oddělenými dobami platnosti pro server, prohlížeč a CDN; volitelně Cloudflare v předřazení
🗺️ SEO & dohledatelnostStreamovaná XML sitemap (jeden soubor, nebo režim indexu pro velmi velké archivy), automaticky generovaný robots.txt, strukturovaná metadata (JSON-LD), čisté a stabilní URL
💾 ZálohyČtyři volitelné typy ZIP záloh s pravidlem uchovávání, volitelná synchronizace mimo server přes rclone a hlídané obnovení, které nejprve pořídí bezpečnostní zálohu

4. Vyhledávání a fasetová navigace

Srdcem veřejného archivu je jeho vyhledávání. Jediný fulltextový index pokrývá každý zveřejněný záznam — název, popis, shrnutí, poznámky i text článku — takže jedno vyhledávací pole dosáhne na vše. Samotný fulltext však pro seriózní bádání nestačí, a proto je každý záznam navíc zařazen podle devíti fasetových os:

  • Téma — témata a náměty, o nichž záznam pojednává.
  • Místo — geografická místa, k nimž se záznam vztahuje, čerpaná ze strukturovaného adresáře míst (viz oddíl GeoNames níže).
  • Jazyk — jazyk obsahu záznamu, ze 49 nativně podporovaných jazyků.
  • Přispěvatel — zúčastnění lidé: autoři, mluvčí, fotografové, redaktoři.
  • Žánr — druh materiálu: svědectví, analýza, zpráva a tak dále.
  • Součást — větší dílo, k němuž záznam patří; propojuje vícedílný materiál.
  • Sbírka — kurátorovaná pojmenovaná seskupení udržovaná správci archivu.
  • Série — uspořádaná seskupení pro materiál, který následuje v určitém pořadí.
  • Přístup — úroveň přístupu k záznamu, například veřejný, nebo jen pro členy.

Fasetová navigace funguje tak, jak to badatelé znají z velkých institucionálních archivů. Vedle výsledků zobrazuje každá osa své nejčastější hodnoty s živými počty výsledků — jedno kliknutí výsledky zúží a filtry z různých os lze volně kombinovat: například všechny audio záznamy v němčině na téma vzdělávání z 90. let. Aktivní filtry se zobrazují jako odstranitelné štítky nad výsledky, takže aktuální zúžení je vždy vidět a kterýkoli filtr lze jedním kliknutím zase zrušit. Tam, kde osa obsahuje více hodnot, než kolik jich postranní panel ukazuje, lze procházet úplný abecední rejstřík celé osy, písmeno po písmenu.

Nad rámec faset lze výsledky omezit podle druhu materiálu (články, audio, video, dokumenty, obrázky, datové sady — podle potřeby i několik najednou) a podle data, buď rychlými odkazy na desetiletí, nebo přesným rozsahem let. Výsledky lze řadit podle relevance, názvu nebo data a zobrazit čtyřmi způsoby: jako podrobný seznam, galerii obrázků, kompaktní mřížku nebo celoobrazovkovou prezentaci. Celý stav vyhledávání — dotaz, filtry, řazení, zobrazení — žije v adresním řádku, takže každou stránku výsledků lze uložit do záložek, citovat a sdílet přesně tak, jak je.

Fasety nejsou volně plující štítky: jejich slovníky kurátorují správci archivu a osy jako sbírka a série lze uspořádat hierarchicky. Každá fasetová hodnota zobrazená na stránce záznamu odkazuje zpět do vyhledávání, takže čtenář může od jednoho zajímavého záznamu kdykoli přejít ke všemu ostatnímu, co archiv uchovává ke stejnému tématu, místu, člověku nebo sérii.

5. Stránky záznamů

Každý záznam má vlastní stránku s prezentací odpovídající jeho typu: audio a video se přehrávají přímo na stránce, dokumenty PDF se otevírají ve vestavěném prohlížeči, obrázky lze zkoumat v přiblížitelném hloubkovém zobrazení a články se vykreslují z bezpečně filtrovaného Markdownu. Vedle samotného souboru zobrazuje stránka záznamu úplný popis, přispěvatele, větší dílo, k němuž záznam patří (s navigací mezi jeho částmi), související položky, které stojí za to vidět jako další, a hotové citace ve formátech Chicago, APA a MLA. Každý záznam nese strojově čitelná metadata (schema.org JSON-LD) a stabilní adresu, která se nikdy nemění; pro citace v tisku a externí odkazy lze přidělit krátké trvalé odkazy ve tvaru /go/….

6. Jazyky

Archiv je postaven pro vícejazyčný svět, a to na dvou odlišných úrovních.

Rozhraní — vše, co návštěvník nebo správce čte na samotných stránkách — je napsáno anglicky a každý viditelný text drží v přeložitelných jazykových souborech, nikdy zakopaný v kódu. Jazykové balíčky rozhraní pro 18 jazyků se připravují a právě se překládají: angličtina, němčina, francouzština, italština, španělština, portugalština, nizozemština, ruština, polština, švédština, dánština, norština, čínština, japonština, korejština, turečtina, čeština a rumunština. Balíčky se instalují a spravují z administračního panelu, který také sleduje, jak úplný je každý překlad vůči anglickému zdroji. Průvodce nastavením mluví všemi 18 jazyky už dnes.

Obsah — samotný archivovaný materiál — nativně podporuje 49 jazyků: angličtinu, němčinu, francouzštinu, italštinu, španělštinu, portugalštinu, nizozemštinu, ruštinu, ukrajinštinu, polštinu, řečtinu, švédštinu, dánštinu, norštinu, turečtinu, čínštinu, hindštinu, arabštinu, indonéštinu, japonštinu, vietnamštinu, korejštinu, běloruštinu, češtinu, slovenštinu, maďarštinu, rumunštinu, bulharštinu, chorvatštinu, slovinštinu, finštinu, bengálštinu, urdštinu, perštinu, islandštinu, irštinu, svahilštinu, thajštinu, filipínštinu, hebrejštinu, paňdžábštinu, telugštinu, tamilštinu, maráthštinu, hauštinu, jorubštinu, amharštinu, javánštinu a paštštinu. Záznamy se označují jazykem svého obsahu a jazyková faseta vyhledávání filtruje podle kteréhokoli z nich — čtenář si tak může například jedním kliknutím vyvolat vše, co archiv uchovává v ukrajinštině nebo arabštině. Písma psaná zprava doleva, jako arabština, hebrejština, perština a urdština, se všude zobrazují správně.

Navíc přepínač jazyků na každé veřejné stránce otevírá strojově přeložené zobrazení stránky, aniž by do stránky samotné načítal jakýkoli skript třetí strany.

7. Data o místech: GeoNames

Faseta míst se opírá o geografický adresář uspořádaný jako hierarchie — země, region, místo — takže záznamy lze přesně lokalizovat a znovu dohledat podle geografie. Základní data (země a jejich správní regiony po celém světě) pocházejí z geografické databáze GeoNames a importují se do lokálního vyhledávacího úložiště při zřízení nebo později z administračního panelu; správci archivu jej mohou rozšířit o vlastní místní lokality. Data o místech: GeoNames.org, licencováno pod CC BY 4.0.

8. Slovníková data: katalogy témat a žánrů

Kurátorované slovníky stojící za fasetami, jako jsou téma a žánr, se dodávají se softwarem a překládají se centrálně, takže jejich pojmy nesou význam v každém jazyce rozhraní. Aby zůstaly slučitelné se zavedenými standardy organizace znalostí, slouží jako referenční zdroje katalogové práce následující veřejné řízené slovníky: EuroVoc, vícejazyčný tezaurus Evropské unie (© Evropská unie, CC BY 4.0), IPTC Media Topics (© IPTC, CC BY 4.0) a Getty Art & Architecture Thesaurus (ODC-By 1.0). Každý pojem katalogu odvozený z externího slovníku zaznamenává svůj původ a úplný seznam všech komponent třetích stran a datových zdrojů je přiložen ke každé instalaci: k přečtení zde.

9. Pracovní strana

Za veřejným archivem leží administrační panel členěný do čtyř oblastí: Správa lidí (účty operátorů a členů, role, oprávnění), Interní publikace (kurátorská pracovna záznamů a editory), Konfigurace platformy (nastavení, mediální formy, fasety, jazyky, struktura webu) a Technologie a data (stav systému, diagnostika, zálohy). Vše, co správce archivu potřebuje nastavit, je dostupné přes tyto stránky — provozování archivu nevyžaduje žádné zásahy do kódu.

Záznamy procházejí jasným kurátorským postupem: vzniknou jako koncepty, naplní se metadaty a fasetami, volitelně se předloží ke kontrole a poté se zveřejní — nebo se později znovu archivují. Soubory se nahrávají v malých navazovatelných blocích, takže velká média přežijí i nestabilní připojení, a každé nahrání se před přijetím ověřuje kontrolou souborové signatury proti deklarovanému typu. Náhledové obrázky se generují automaticky tam, kde to server podporuje.

Volitelná členská oblast umožňuje archivu růst nad okruh jeho správců: registrovaným členům lze krok za krokem svěřovat důvěru napříč čtyřmi pevnými stupni, od čtení a diskutování až po kurátorství a publikování záznamů. Oprávnění jsou na obou stranách jemně odstupňovaná — administrativní role jsou volně definovatelné a čerpají z podrobného registru práv a individuální výjimky mohou přístup každé jednotlivé osoby rozšířit i zúžit. Přístup vlastníka je záměrně držen zcela mimo databázi, takže dveře do archivu nikdy nemůže zamknout poškozený soubor ani nezdařená změna.

10. Bezpečnost dat

Zálohy mají prvořadé postavení: správce archivu může vytvářet ZIP zálohy s datem — databáze, mediálního obsahu, instalace, nebo všeho najednou — na vyžádání, s pravidlem uchovávání, které ponechává nejnovější a odstraňuje nejstarší. Každou zálohu lze navíc replikovat mimo server k libovolnému poskytovateli úložiště kompatibilního s S3. Obnovení je záměrně hlídané: systém ověří, že záloha odpovídá instalaci, a pořídí čerstvou bezpečnostní zálohu dříve, než na cokoli sáhne. Spolu s verzovaným sledováním schématu to znamená, že archiv vybudovaný s péčí lze dlouhodobě udržovat, stěhovat i opravovat.

11. Zásady návrhu

Repozitář je postaven kolem malé sady nezpochybnitelných zásad, které vedly každé architektonické rozhodnutí:

  • Žádné sledování, žádná analytika, žádné požadavky na třetí strany — každý zdroj, včetně písem a skriptových knihoven, se podává z vlastního serveru archivu. Nic o návštěvníkovi se nikam neodesílá.
  • Otevřeně procházitelný už z návrhu — čisté HTML, strukturovaná sitemap, popisná metadata a robots.txt, který vítá vyhledávače i systémy AI, aby archivovaná fakta mohla být nalezena a čtena v širokém okruhu.
  • K tisku i ke stažení — dokumenty mají opustit obrazovku a vstoupit do skutečného světa.
  • Čitelný v mnoha jazycích — 18 jazykových balíčků rozhraní v přípravě, 49 jazyků obsahu nativně podporovaných ve vyhledávání a fasetách a přepínač jazyků na každé veřejné stránce (viz oddíl Jazyky výše).
  • Minimální, ohraničené závislosti — hrstka samostatně hostovaných komponent (Markdown parser na serveru; knihovny editorů a prohlížečů v prohlížeči), držených přísně odděleně od vlastního kódu systému. Žádné CDN, žádný správce balíčků, žádný build krok.
  • Nezávislost na prostředí — identický kód běží na každé instalaci; na každém serveru se liší jen jeden soubor prostředí.
  • Důstojné odstupňování — volitelné funkce si kontrolují své předpoklady a čistě se vypnou tam, kde je server nedokáže unést, místo aby rozbily archiv.

12. Vývojářské kredity

👥 Projekt & obsah

Raven D. Pond & Keylam Folker — zakladatelé projektu Ta-Na-Si a správci tohoto repozitářového softwaru. Veškeré redakční směřování, kurátorská rozhodnutí a projektová vize za tímto softwarem pocházejí zcela od Ravena a Keylama. Definovali každý požadavek, otestovali každou funkci a vedli vývoj tohoto systému od prvotního konceptu až do jeho současné podoby; každé architektonické rozhodnutí učinil a schválil Keylam.

✨ Vývoj softwaru

Claude (Anthropic) — AI asistent Claude sloužil jako hlavní vývojový partner tohoto repozitáře. PHP backend, databázová vrstva s více ovladači, vyhledávací a fasetový engine, administrační panel, frontendový designový systém a všechny pomocné nástroje byly navrženy a napsány ve společném procesu mezi požadavky Ravena & Keylama a Claudovou prací na kódu. Tento repozitář je příkladem nezávislého archivu vzniklého přímou spoluprací člověka a AI na softwarovém inženýrství pro reálný projekt.

📅 Časová osa vývoje

Vývoj začal v polovině května 2026 a od té doby pokračuje v každodenní spolupráci. Software nese verzi 1.0.0; tato stránka odráží jeho stav k červenci 2026.

13. Pravidla, s nimiž tento software přichází

Každá instalace tohoto softwaru nese stejná pravidla a ten, kdo tento archiv instaloval, s nimi souhlasil dříve, než byl zapsán jediný soubor. Jsou krátká a byla napsána tak, aby je četl člověk, ne aby je rozebíral právník: přečtěte si je zde.

Jednou větou: archiv, na který se právě díváte, patří zcela lidem, kteří jej provozují — jeho název, jeho sbírka, jeho členové, jeho data — a projekt stojící za softwarem nedrží klíč k ničemu z toho. Co v každé instalaci zůstává, je vlastní název softwaru, základní texty a uvedení dvou lidí, kteří projekt vytvořili. Ne proto, že to říká licence, ale proto, že archiv, který lže o svém vlastním původu, by porušil právě to, kvůli čemu existuje.

14. Kontakt & zpětná vazba

Toto je živý systém — vyvíjí se spolu s projektem. Pokud narazíte na technický problém či nefunkční odkaz, nebo máte návrh na zlepšení, ozvěte se prosím přes kontaktní stránku odkazovanou v patičce každé stránky, nebo zanechte komentář na kterémkoli z našich platformních kanálů. Čteme všechno.