Repository Core
Această pagină explică din ce este construit Ta-Na-Si Media & Document Repository — arhitectura sa, tehnologia sa și oamenii din spatele dezvoltării sale. Credem în transparență deplină: oricine folosește o arhivă sau se gândește să administreze una proprie merită să știe exact din ce este făcut sistemul. Pagina Despre explică la ce servește arhiva; această pagină explică felul în care funcționează.
1. Ce este Repository Core
Repository Core este software-ul pe care rulează această arhivă: un sistem de arhivă digitală complet independent, auto-găzduit, scris de la zero pentru un singur scop — să stocheze, să organizeze și să ofere în mod deschis documente și media ca material-sursă doveditor. Nu se bazează pe WordPress, Joomla, Drupal sau alt CMS prefabricat și nu folosește niciun framework PHP. Fiecare componentă — stratul de bază de date, motorul de căutare, atelierul de curatoriat, paginile publice — a fost proiectată și scrisă special pentru această sarcină.
Software-ul este construit ca platformă multi-instalare: nu deservește o arhivă centrală, ci pune în mișcare multe arhive separate și independente. Fiecare arhivă — fie o mică colecție de familie, fie un mare depozit regional — este propria sa instalare completă, cu propria bază de date, propriile fișiere și propriul îngrijitor. Nu există infrastructură comună între arhive și niciun serviciu central de care să depindă.
2. O singură bază de cod, multe arhive independente
Fiecare instalare rulează o bază de cod identică. Tot ce este specific unui singur server — adresa sa publică, accesul său la baza de date, expeditorul său de e-mail — trăiește într-un singur fișier de mediu, creat o dată la instalare, care nu călătorește niciodată împreună cu codul. Această separare strictă este ceea ce face ca modelul să funcționeze: aceeași actualizare de software poate fi aplicată fiecărei arhive, mici sau mari, fără a atinge configurația individuală a vreunei arhive.
O arhivă nouă se instalează printr-un asistent de instalare ghidat, în browser — fără linie de comandă, fără fișiere de configurare de editat manual. Asistentul vorbește 18 limbi, verifică cerințele serverului, testează conexiunea la baza de date înainte să fie scris ceva și creează contul de proprietar cu o parolă protejată printr-un hash sigur. Tabelele bazei de date sunt create de un sistem de migrare idempotent: poate rula de oricâte ori și ajunge întotdeauna la schema corectă. Modificările ulterioare ale schemei sunt versionate și urmărite, astfel încât fiecare instalare poate vedea exact unde se află; modificările de rutină se aplică automat, iar cele grele așteaptă confirmarea deliberată a proprietarului. Actualizările urmează aceeași ordine atentă: mai întâi copia de rezervă, apoi migrarea, apoi golirea cache-ului.
3. Stack tehnologic Versiunea 1.0.0 (Thuringia)
4. Căutarea și navigarea pe fațete
Inima arhivei publice este căutarea ei. Un singur index de text integral acoperă fiecare înregistrare publicată — titlu, descriere, rezumat, note și textul articolelor — astfel încât un singur câmp de căutare ajunge la tot. Dar textul integral singur nu ajunge pentru o cercetare serioasă, motiv pentru care fiecare înregistrare este clasificată și pe nouă axe de fațete:
- Subiect — temele și subiectele despre care este o înregistrare.
- Loc — locurile geografice la care se referă o înregistrare, preluate dintr-un director structurat de locuri (vezi secțiunea GeoNames de mai jos).
- Limbă — limba conținutului înregistrării, dintre cele 49 de limbi suportate nativ.
- Contribuitor — oamenii implicați: autori, vorbitori, fotografi, redactori.
- Gen — felul materialului: mărturie, analiză, raport și așa mai departe.
- Parte din — lucrarea mai amplă din care face parte o înregistrare; leagă materialul alcătuit din mai multe părți.
- Colecție — grupări denumite, curatoriate, întreținute de îngrijitorii arhivei.
- Serie — grupări ordonate, pentru materialul care urmează o succesiune.
- Acces — nivelul de acces al unei înregistrări, de exemplu public sau doar pentru membri.
Navigarea pe fațete funcționează așa cum se așteaptă cercetătorii de la marile arhive instituționale. Lângă rezultate, fiecare axă își arată valorile cele mai frecvente, cu numărători de rezultate în timp real — un clic restrânge rezultatele, iar filtrele de pe axe diferite pot fi combinate liber: de exemplu, toate înregistrările audio în germană pe subiectul educație din anii 1990. Filtrele active sunt afișate ca etichete detașabile deasupra rezultatelor, astfel încât restrângerea curentă este mereu vizibilă și orice filtru poate fi înlăturat din nou cu un singur clic. Acolo unde o axă cuprinde mai multe valori decât arată bara laterală, poate fi răsfoit un index alfabetic complet al întregii axe, literă cu literă.
Dincolo de fațete, rezultatele pot fi limitate după tipul de material (articole, audio, video, documente, imagini, seturi de date — mai multe deodată, dacă doriți) și după dată, fie prin linkuri rapide pe decenii, fie printr-un interval exact de ani. Rezultatele pot fi sortate după relevanță, titlu sau dată și afișate în patru feluri: ca listă detaliată, ca galerie de imagini, ca grilă compactă sau ca prezentare de diapozitive pe tot ecranul. Întreaga stare a căutării — interogare, filtre, sortare, mod de afișare — trăiește în bara de adrese, astfel încât orice pagină de rezultate poate fi salvată ca semn de carte, citată și distribuită exact așa cum este.
Fațetele nu sunt etichete care plutesc liber: vocabularele lor sunt curatoriate de îngrijitorii arhivei, iar axe precum colecția și seria pot fi organizate ierarhic. Fiecare valoare de fațetă afișată pe pagina unei înregistrări trimite înapoi în căutare, astfel încât un cititor poate trece oricând de la o înregistrare interesantă la tot ce mai deține arhiva despre același subiect, același loc, aceeași persoană sau aceeași serie.
5. Paginile de înregistrări
Fiecare înregistrare are propria pagină, cu o prezentare potrivită tipului ei: audio și video se redau direct în pagină, documentele PDF se deschid într-un vizualizator încorporat, imaginile pot fi examinate într-o vizualizare în profunzime cu zoom, iar articolele sunt redate din Markdown filtrat în siguranță. Pe lângă fișierul propriu-zis, pagina unei înregistrări arată descrierea completă, contribuitorii, lucrarea mai amplă din care face parte (cu navigare între părțile ei), înregistrări înrudite care merită văzute în continuare și citări gata pregătite în format Chicago, APA și MLA. Fiecare înregistrare poartă metadate care pot fi citite automat (schema.org JSON-LD) și o adresă stabilă, care nu se schimbă niciodată; pot fi atribuite linkuri permanente scurte, de forma /go/…, pentru citarea în tipar și pentru referințe externe.
6. Limbi
Arhiva este construită pentru o lume multilingvă, pe două niveluri distincte.
Interfața — tot ce citește un vizitator sau un îngrijitor pe paginile propriu-zise — este scrisă în engleză și păstrează fiecare text vizibil în fișiere de limbă traductibile, niciodată îngropat în cod. Pachete de limbă pentru interfață în 18 limbi sunt în pregătire și în prezent în traducere: engleză, germană, franceză, italiană, spaniolă, portugheză, neerlandeză, rusă, poloneză, suedeză, daneză, norvegiană, chineză, japoneză, coreeană, turcă, cehă și română. Pachetele se instalează și se gestionează din panoul de administrare, care urmărește și cât de completă este fiecare traducere față de sursa engleză. Asistentul de instalare vorbește deja astăzi toate cele 18.
Conținutul — materialul arhivat însuși — suportă nativ 49 de limbi: engleză, germană, franceză, italiană, spaniolă, portugheză, neerlandeză, rusă, ucraineană, poloneză, greacă, suedeză, daneză, norvegiană, turcă, chineză, hindi, arabă, indoneziană, japoneză, vietnameză, coreeană, belarusă, cehă, slovacă, maghiară, română, bulgară, croată, slovenă, finlandeză, bengaleză, urdu, persană, islandeză, irlandeză, swahili, thailandeză, filipineză, ebraică, punjabi, telugu, tamilă, marathi, hausa, yoruba, amharică, javaneză și paștună. Înregistrările sunt marcate cu limba conținutului lor, iar fațeta de limbă a căutării filtrează după oricare dintre ele — un cititor poate, de exemplu, să afișeze cu un singur clic tot ce deține arhiva în ucraineană sau în arabă. Scrierile de la dreapta la stânga, precum araba, ebraica, persana și urdu, sunt afișate corect peste tot.
În plus, un comutator de limbă de pe fiecare pagină publică deschide o versiune a paginii tradusă automat, fără a încărca vreun script terț în pagina însăși.
7. Date despre locuri: GeoNames
Fațeta de loc se sprijină pe un director geografic organizat ca ierarhie — țară, regiune, loc — astfel încât înregistrările să poată fi localizate precis și regăsite după geografie. Datele de bază (țările și regiunile lor administrative din întreaga lume) provin din baza de date geografică GeoNames și sunt importate într-un depozit local de consultare la instalare sau ulterior, din panoul de administrare; îngrijitorii arhivei îl pot extinde cu propriile locuri locale. Date despre locuri: GeoNames.org, licențiate sub CC BY 4.0.
8. Date de vocabular: cataloagele de subiecte și genuri
Vocabularele curatoriate din spatele fațetelor precum subiectul și genul sunt livrate împreună cu software-ul și traduse centralizat, astfel încât termenii lor să poarte înțeles în fiecare limbă a interfeței. Pentru a le păstra compatibile cu standardele consacrate de organizare a cunoașterii, următoarele vocabulare controlate publice servesc drept surse de referință pentru munca de catalog: EuroVoc, tezaurul multilingv al Uniunii Europene (© Uniunea Europeană, CC BY 4.0), IPTC Media Topics (© IPTC, CC BY 4.0) și Getty Art & Architecture Thesaurus (ODC-By 1.0). Fiecare termen de catalog derivat dintr-un vocabular extern își consemnează originea, iar lista completă a tuturor componentelor terțe și surselor de date însoțește fiecare instalare: poate fi citită aici.
9. Partea de lucru
În spatele arhivei publice se află un panou de administrare organizat în patru zone: Guvernanța persoanelor (conturi de operatori și de membri, roluri, permisiuni), Publicare internă (atelierul de curatoriat al înregistrărilor și editoarele), Configurarea platformei (setări, forme media, fațete, limbi, structura site-ului) și Tehnologie și date (starea sistemului, diagnosticare, copii de rezervă). Tot ce are de configurat îngrijitorul unei arhive este accesibil prin aceste pagini — administrarea unei arhive nu cere modificări de cod.
Înregistrările parcurg un flux de curatoriat clar: sunt create ca ciorne, completate cu metadate și fațete, opțional trimise la verificare, apoi publicate — sau, mai târziu, arhivate din nou. Fișierele se încarcă în bucăți mici, cu reluare, astfel încât fișierele media mari supraviețuiesc conexiunilor instabile, iar fiecare încărcare este verificată, înainte de a fi acceptată, față de tipul declarat, prin inspecția semnăturii de fișier. Imaginile de previzualizare sunt generate automat acolo unde serverul o permite.
O zonă a membrilor opțională lasă o arhivă să crească dincolo de îngrijitorii ei: membrilor înregistrați li se poate acorda încredere pas cu pas, pe patru trepte fixe, de la citit și discutat până la curatoriatul și publicarea înregistrărilor. Permisiunile sunt fin granulate de ambele părți — rolurile administrative pot fi definite liber și se alimentează dintr-un registru detaliat de drepturi, iar derogările individuale pot lărgi sau restrânge accesul oricărei persoane în parte. Accesul proprietarului este ținut în mod deliberat cu totul în afara bazei de date, astfel încât ușa către o arhivă să nu poată fi niciodată încuiată de un fișier corupt sau de o modificare eșuată.
10. Siguranța datelor
Copiile de rezervă sunt de prim rang: îngrijitorul unei arhive poate crea copii de rezervă ZIP, cu data în nume, ale bazei de date, ale conținutului media, ale instalării sau ale tuturor deodată — la cerere, cu o regulă de păstrare care reține cele mai noi și le înlătură pe cele mai vechi. Fiecare copie de rezervă poate fi, în plus, replicată în altă locație, către orice furnizor de stocare compatibil S3. Restaurarea este protejată în mod deliberat: sistemul verifică dacă o copie de rezervă se potrivește cu instalarea și face o copie de siguranță proaspătă înainte să atingă ceva. Împreună cu urmărirea versionată a schemei, aceasta înseamnă că o arhivă construită cu grijă poate fi întreținută, mutată și reparată pe termen lung.
11. Principii de proiectare
Depozitul este construit în jurul unui set mic de principii nenegociabile, care au ghidat fiecare decizie de arhitectură:
- Fără urmărire, fără analitică, fără cereri către terți — fiecare resursă, inclusiv fonturile și bibliotecile de scripturi, este servită de pe propriul server al arhivei. Nimic despre un vizitator nu este trimis nicăieri.
- Deschis pentru indexare prin construcție — HTML curat, un sitemap structurat, metadate descriptive și un robots.txt care le urează bun venit motoarelor de căutare și sistemelor de inteligență artificială, pentru ca faptele arhivate să poată fi găsite și citite pe scară largă.
- Imprimabil și descărcabil — documentele sunt menite să părăsească ecranul și să intre în lumea reală.
- Lizibil în multe limbi — 18 pachete de limbă pentru interfață în pregătire, 49 de limbi de conținut suportate nativ în căutare și fațete și un comutator de limbă pe fiecare pagină publică (vezi secțiunea Limbi de mai sus).
- Dependențe minime și îngrădite — o mână de componente auto-găzduite (un parser de Markdown pe server; biblioteci de editor și de vizualizare în browser), ținute strict separat de codul propriu al sistemului. Fără CDN, fără manager de pachete, fără pas de build.
- Agnostic față de mediu — codul identic rulează pe fiecare instalare; doar un singur fișier de mediu diferă de la un server la altul.
- Degradare elegantă — funcțiile opționale își verifică cerințele și se opresc curat acolo unde un server nu le poate susține, în loc să strice arhiva.
12. Mențiuni privind dezvoltarea
👥 Proiect & conținut
Raven D. Pond & Keylam Folker — fondatorii proiectului Ta-Na-Si și păstrătorii acestui software de depozit. Întreaga direcție editorială, deciziile curatoriale și viziunea de proiect din spatele acestui software provin în întregime de la Raven și Keylam. Ei au definit fiecare cerință, au testat fiecare funcție și au ghidat dezvoltarea acestui sistem de la conceptul inițial până la forma sa actuală; fiecare decizie de arhitectură a fost luată și aprobată de Keylam.
✨ Dezvoltarea software-ului
Claude (Anthropic) — asistentul AI Claude a servit drept partener principal de dezvoltare pentru acest depozit. Backend-ul PHP, stratul de bază de date multi-driver, motorul de căutare și de fațete, panoul de administrare, sistemul de design al frontend-ului și toate uneltele auxiliare au fost proiectate și scrise într-un proces colaborativ între cerințele lui Raven & Keylam și munca de cod a lui Claude. Acest depozit este un exemplu de arhivă independentă construită printr-o inginerie software colaborativă directă om–AI, pentru un proiect real.
📅 Cronologia dezvoltării
Dezvoltarea inițială a început la mijlocul lunii mai 2026 și continuă de atunci în colaborare zilnică. Software-ul poartă versiunea 1.0.0; această pagină reflectă starea sa din iulie 2026.
13. Regulile cu care vine acest software
Fiecare instalare a acestui software poartă aceleași reguli, iar cine a instalat această arhivă le-a acceptat înainte să fie scris un singur fișier. Sunt scurte și au fost scrise ca să fie citite de un om, nu disecate de un avocat: le puteți citi aici.
Într-o singură frază: arhiva la care vă uitați aparține în întregime oamenilor care o administrează — numele ei, colecția ei, membrii ei, datele ei — iar proiectul din spatele software-ului nu deține nicio cheie către nimic din toate acestea. Ceea ce rămâne, în fiecare instalare, este numele propriu al software-ului, textele fundamentale și numirea celor doi oameni care au făcut proiectul. Nu pentru că o licență o cere, ci pentru că o arhivă care minte despre propria origine a rupt exact lucrul pentru care există.
14. Contact & păreri
Acesta este un sistem viu — evoluează odată cu proiectul. Dacă întâlniți o problemă tehnică sau un link stricat ori aveți o sugestie de îmbunătățire, vă rugăm să ne scrieți prin pagina de contact din subsolul fiecărei pagini sau să lăsați un comentariu pe oricare dintre canalele noastre de platformă. Citim tot.