Împărtășiți textul citit (Supriaha)¶
Aceeași carte de arhivă o recunoaște astăzi fiecare separat. O citire nu costă mult, dar costă de fiecare dată: un dosar de trei mii de file înseamnă ore de lucru al calculatorului, iar pentru ele plătește oricine a ajuns la el. Textul este însă același, iar la cineva el se află deja gata.
Supriaha (nyshporka.online) este banca comună de dosare citite. Pleacă
tocmai textul, nu imaginile: un dosar de 3772 de file ocupă în pachet
3–4 megaocteți.
Imaginile nu intră niciodată în pachet
Pachetul poartă textul citit automat și pașaportul felului în care a fost obținut. Scanările înseși rămân la cel care le-a descărcat, iar pachetul doar numește sursa — ca destinatarul să le poată lua din același loc și în aceleași condiții.
Calea cea mai scurtă¶
nysh share login # один раз: браузер, одна кнопка
nysh share setup --as "ваше імʼя" # один раз: профіль
nysh share pack "ДАХмО 315-1-1234" # спакувати справу
nysh share publish data/share/outbox/DAHMO_315-1-1234.nyshtext
De partea cealaltă:
nysh share pull "ДАХмО 315-1-1234" --take # знайти в пулі й прийняти
nysh share pull --repo RGIA --fond 592 --opys 25 --take # уся серія одним викликом
Citirile primite ajung în același loc cu textul citit propriu și intră imediat
în depozitul de text, așa că nysh text find, grep și ctx le văd fără un
text index separat. Se poate căuta într-o serie la fel ca într-un dosar:
nysh text find <прізвище> --case "RGIA 592-25"; pentru mai multe dosare —
repetați --case.
Dacă împărtășiți prin agent
Skill-ul share-case îl duce pe agent pe aceeași cale și păzește locurile
care se strică pe tăcute: cota o verifică în dry-run înainte de încărcare,
anii din catalogul FamilySearch nu îi ia, iar fișa setată cu share card
o duce până în banca comună printr-o nouă încărcare. Se instalează
împreună cu celelalte skill-uri: nysh skills install.
Conectare¶
nysh share login deschide pagina nyshporka.online: vă conectați prin e-mail
sau Google ori anonim. Cheia ajunge singură în Nyshporka și se pune în
depozitul de chei al sistemului — nu trebuie copiat nimic. Ca să ștergeți
cheia de pe calculator: nysh share logout. Pe un server fără browser, cheia
se pune în variabila NYSHPORKA_SUPRIAHA_TOKEN, iar ea se emite în Contul meu.
Căutarea, preluarea și oferirea pachetelor banca comună le permite doar cu
cheie. Dacă încă nu o aveți, pull, sync și publish vă vor propune singure
să vă conectați.
Profilul¶
nysh share setup fără opțiuni întreabă pe rând; cu orice opțiune — doar
salvează ce s-a numit și nu întreabă nimic (pentru scripturi și programul de
instalare).
| câmp | opțiune | implicit |
|---|---|---|
| pseudonim în catalog | --as |
fără nume |
| contact (public) | --contact, ștergere — --contact - |
nu există |
| licența textului | --license |
CC0-1.0 |
| când se oferă | --consent nikoly \| pytaty \| zavzhdy |
pytaty — ține lista și amintește |
| întreabă banca comună înaintea citirii | --lookup / --no-lookup |
nu |
| contururile rândurilor | --geometry / --no-geometry |
da |
Contactul este o dată publică
El pleacă în fiecare pachet al dumneavoastră și este vizibil pentru toți
cei care îl vor primi. Nu se completează niciodată singur (nici din
git config, nici din numele utilizatorului sistemului) — doar din
profilul pe care l-ați completat sau din --contact. Pentru un singur
pachet fără contact — --contact -.
Întrebarea băncii comune înaintea citirii (--lookup) înseamnă: înaintea
fiecărui nysh read, Nyshporka trimite la server cota dosarului și numărul de
imagini și, dacă textul există deja, afișează un rând. Serverul vede astfel ce
dosar urmează să citiți — de aceea implicit este dezactivat.
Fișa dosarului: titlu, ani, locuri, gen¶
Programul de împachetare alcătuiește fișa singur — din pașaportul directorului, din registrul inventarului fondului și din biblioteca de dosare. Notațiile de lucru ale pașaportului (data verificării în paranteze, „FS-тег: …”, „⚠ …”, notațiile de prioritate) nu intră în fișă. Când asta nu ajunge — dosar fără nume, titlu de lucru în loc de cel adevărat — fișa o stabilește cel care încarcă:
nysh share card "ДАХмО 315-1-1234" --title "Сповідні розписи парафії …" \
--years 1795-1797 --place "Слобідка" --place "Вербівка" --genre confession
Același lucru direct la împachetare: nysh share pack … --title … --years ….
Ce s-a stabilit se reține (data/share/cards.json) și se aplică la
fiecare împachetare următoare a acestui dosar — pack, suggest --all,
oferirea automată. Ca să vedeți — nysh share card <шифра>, ca să ștergeți un
câmp — --title "", toată fișa — --clear.
Genuri: birth, marriage, death, confession, revision, clergy_list,
gazette, finding_aid, other (se poate și cu denumirea: «сповідні»).
Unde sunt imaginile. Când dosarul a fost citit dintr-o fotografiere privată — colecția cercetătorului, cumpărată sau comandată — destinatarul nu o va găsi pe FamilySearch și Commons. Fișa numește cine deține imaginile:
nysh share card "ДАХмО 230-1-1234" --scans "Колекція дослідника=https://…"
Linkul pleacă primul dintre linkurile pachetului, cu marcajul role: scans,
și în banca comună stă lângă text: după imagini omul va merge tocmai acolo. La
fel ca restul fișei, el se reține; ștergere — --scans "".
Ce s-a citit, dar nu s-a oferit încă¶
nysh share suggest # перелік зі статусами
nysh share suggest --all --ready # спакувати все готове
nysh share suggest --skip "ДАХмО 315-1-1234" --why "платна зйомка"
Stări: gata, în banca comună fără chenare, incomplet (s-a citit
mai puțin de 80 % din imagini — se oferă doar cu --partial), fără
imagini. Ce se află deja în banca comună hotărăște instantaneul băncii
comune (nysh share sync); dosarele pe care instantaneul nu le cuprinde —
după jurnalul împachetărilor. Refuzul se reține pentru fiecare dosar în
parte: despre un dosar pe care ați decis să nu-l oferiți nu vi se mai cere.
Ce se află în pachet¶
manifest.json шифра, картка, джерело сканів, знаменник, ваші поля
frames.jsonl перелік кадрів справи
runs/<прогін>/ NNNN.txt — сторінка, рядок у рядок; плюс паспорт прогону
README.md пояснення для того, хто відкриє пакет без Нишпорки
Contururile rândurilor (*.lines.json) pleacă într-un fișier separat
….geom.nyshtext: ele cântăresc de ×10 cât textul și sunt necesare doar
celui care are aceleași imagini.
Ce citiri pleacă¶
Vocile pachetului sunt citirile dosarului, nu tot ce se află alături. Rămân
acasă, iar pack o numește pe fiecare, cu motivul:
- citirile de măsurare (marcajul
control_runîn pașaportul citirii); - probele: o citire ale cărei pagini se află toate într-o citire mai completă a aceluiași model (părțile dosarului citite de un singur model pleacă amândouă);
- citirile altui dosar cu nume asemănător;
- citirile străine primite — le oferă autorul, nu dumneavoastră;
- cele numite de dumneavoastră:
--skip-run <прогін>.
Numitorul — câmpul principal¶
Manifestul spune câte imagini are dosarul și câte dintre ele au fost citite, cu ce model și dacă s-a verificat orientarea. Fără asta, o citire străină produce zerouri false în masă: omul caută în trei pagini luate drept trei mii, nu găsește numele de familie — și închide cinstit direcția, după ce a făcut totul corect.
De aceea un pachet cu citire incompletă sau fără numele modelului pur și simplu nu se va asambla. Ați citit o bucată intenționat — spuneți de ce:
nysh share pack "ДАХмО 315-1-1234" --partial "лише аркуші з нашим селом"
nysh share pack "ДАХмО 315-1-1234" --frames 408 # число кадрів справи, якщо пакувальник його не знайшов
Câmpurile dumneavoastră¶
nysh share pack "ДАХмО 315-1-1234" \
--as "sergiy" --contact "t.me/…" \
--note "читав Дяком, останні аркуші підмокли" \
--link "звідки скани=https://…" \
--extra "plivka=105208823"
--note— text liber; ajunge la cititor și intră în README-ul pachetului.--link— „denumire=adresă” sau doar linkul; cel mai util este cel care duce la scanări. O adresă cu=înăuntru (linkurile FamilySearch) este tratată întreagă.--extra— perechi „cheie=valoare”, pe care formatul le va purta neatinse. O pereche fără=, cu cheie goală sau numită de două ori — refuz, nu omitere tăcută.
Ce nu intră în pachet¶
Programul de împachetare ia doar paginile de text și pașaportul citirii
— iar din pașaport doar câmpurile necesare destinatarului: modelul, motorul,
scrierea, câte pagini s-au făcut. Nu pleacă căile de pe discul
dumneavoastră, notițele de lucru (*_note, explicațiile măsurătorilor,
istoricul unificării), decupajele de salvare, jurnalele, carantina, depozitul
de pagini, verdictele, canonul.
Puteți vedea ce anume va pleca înainte de asamblare:
nysh share pack "ДАХмО 315-1-1234" --dry-run
Carnetul dosarului¶
Pe lângă text, despre un dosar se știe adesea și altceva, util oricui îl va deschide: ce conține de fapt cartea, unde inventarul arhivei a greșit titlul sau anii, unde se află o copie. Tot aici — un rând pe care calculatorul l-a citit strâmb, iar dumneavoastră l-ați verificat pe scanare. Toate acestea formează carnetul dosarului. El stă lângă filele consultate și pleacă în Supriaha separat de text: îl puteți completa și pentru o carte oferită de altcineva.
nysh note add "ДАХмО 315-1-1234" --kind about --text "Метрична книга Покровської церкви, 1834–1836" --share
nysh note add "ДАХмО 315-1-1234" --kind catalog-error --field years --archive-says 1834 --actually "1834–1836" --share
nysh note add "ДАХмО 315-1-1234" --kind copy --other "ДАВіО 904-24-55" --text "копія в консисторії" --share
nysh note read "ДАХмО 315-1-1234" 0031 --line 153 --text "урожденная Прухницкая" --share
nysh note push "ДАХмО 315-1-1234" --dry-run # що поїде
nysh note push "ДАХмО 315-1-1234" # віддати
nysh note pull "ДАХмО 315-1-1234" # що дописали інші
În Supriaha pleacă doar ce este marcat cu --share și lista filelor
consultate, fără comentariile dumneavoastră. Ce ține de familie — „aici este
înregistrat bunicul meu” — scrieți ca --kind note: o asemenea însemnare nu
pleacă niciodată, iar o însemnare cu cuvinte de familie banca comună nu o va
primi, nici dacă este marcată. Pe pagina cărții carnetul se vede separat de
text și nu intră în numărul paginilor citite: verificat cu ochiul înseamnă
rânduri alese, nu un dosar citit.
Rândul verificat pleacă în Supriaha împreună cu decupajul — fragmentul acestui
rând din scanare, un JPEG gri, dacă scanarea dosarului se află pe calculatorul
dumneavoastră (fără ea rândul pleacă doar ca text). Împărtășind rândurile
verificate, sunteți de acord ca proprietarul Nyshporka să le poată folosi
pentru antrenarea modelelor de recunoaștere. Altor utilizatori decupajele
nu li se dau și nu se afișează pe pagina cărții; textul verificării îl văd
toți. O însemnare retrasă (nysh note retract și note push) ia din banca
comună și decupajul.
Primiți pachetul altcuiva¶
Dacă îl luați prin agent
Skill-ul pull-case îl duce pe agent de la pull până la căutarea în
textul primit și citește cu voce tare marcajul de corespondență: ce din
textul străin se va așeza pe imaginile dumneavoastră și ce — doar pentru
căutare.
nysh share inspect <файл або адреса> # подивитись, нічого не розкладаючи
nysh share import <файл або адреса> # прийняти
nysh share geometry <….geom.nyshtext> # докласти рамки рядків
Pachetul vine de la un om pe care nu îl cunoașteți, iar receptorul nu îl crede pe cuvânt:
- verificările măsoară conținutul, nu declarația: paginile, rândurile și hash-ul textului se numără din pachetul însuși, iar un pachet care declară mai mult decât conține nu trece;
- un defect al pachetului înseamnă refuz înainte de scriere: o cale în
afara
runs/<прогін>/<файл>, un nume nepermis pe Windows, o legătură simbolică, un fișier prea mare — și pe disc nu se scrie nimic; - se desfac doar citirile numite în manifest și doar textul cu pașaportul; pașaportul se curăță cu aceeași listă albă;
- citirea dumneavoastră nu se suprascrie niciodată — nici cu
--force. O citire cu același nume (indiferent de majuscule) — refuz.--forceînlocuiește doar un pachet primit anterior; - pachetul de la o adresă din catalog se verifică după sha256-ul lui
(
share pull --takeface asta singur; pentruimportșigeometrydupă adresă —--sha256): un fișier înlocuit în depozit după ce banca comună l-a primit nu este acceptat.
Cât de bine se va așeza textul străin pe imaginile dumneavoastră¶
Cheia dosarului nu este potrivită pentru asta: ea se alcătuiește din numele directorului și din ghidul dumneavoastră al arhivelor, așa că la doi oameni aceeași carte primește chei diferite. De aceea pachetul poartă lista imaginilor și amprenta fotografierii, iar Nyshporka măsoară potrivirea și o spune cu voce tare:
| marcaj | ce înseamnă | ce funcționează |
|---|---|---|
exact |
s-au potrivit toate imaginile (hash sau identificator FamilySearch) sau amprenta fotografierii pe cel puțin trei imagini | totul, inclusiv decupajele și contururile străine |
by-name |
s-au potrivit numele și numărul | totul, în afară de contururile străine |
by-position |
s-a potrivit doar numărul sau o parte din imagini | pagina da, decupajul este îndoielnic |
text-only |
imaginile lipsesc sau sunt altele | căutarea, pagina, cota |
Contururile străine se așază doar pe textul aceleiași contribuții și doar
la exact; altfel — refuz cu explicație (--force, dacă sunteți sigur).
text-only nu este o înfrângere, ci scenariul cel mai frecvent de folos:
găsiți numele de familie în textul altcuiva, vedeți dosarul și numărul filei —
și mergeți să vedeți scanarea însăși la sursă.
Potrivirea numelui de fișier nu înseamnă aceeași imagine
Așezarea plată renumerotează paginile, așa că două fotografieri ale aceleiași cărți dau ușor nume identice la conținut diferit. Tocmai de aceea marcajul nu se ridică niciodată prin presupunere.
Zeroul propriu și zeroul străin sunt răspunsuri diferite¶
Citirile primite sunt marcate, iar căutarea o spune:
знаменник: кадрів 3772 · прочитано 3770 · у сторі прогонів 2 із 2 …
з них чужий декод: прогонів 2 із 2 · сторінок 3770 · від oksana
Textul străin a fost citit de alt model, pentru completitudinea lui nimeni de aici nu răspunde, iar recitit poate fi doar cerându-l celui care l-a dat. Un zero pe el cântărește mai puțin decât un zero pe al dumneavoastră — și acest lucru trebuie să se vadă.
Banca comună¶
nysh share pull # огляд пулу: архів · фонд · опис, справ і сторінок
nysh share pull "Слобідка" # що є в каталозі
nysh share pull "ДАХмО 315-1-1234" --take
nysh share pull --repo RGIA --fond 592 # серія: що в ній є
nysh share pull --repo RGIA --fond 592 --take # і прийняти всю
nysh share stats --catalog # хто скільки вніс
nysh share sync --repo DAHMO --fond 315 # зріз для колонки «пул» у `cases fond`
Catalogul — API https://api.nyshporka.online/v1. O oglindă proprie sau un
server de test se setează cu variabila NYSHPORKA_TOLOKA sau cu opțiunea
--base; cheia Supriaha nu pleacă la o asemenea adresă — nici din
depozitul de chei, nici din NYSHPORKA_SUPRIAHA_TOKEN. Serverul propriu
trebuie numit explicit: NYSHPORKA_SUPRIAHA_TRUST=https://хост[:порт] —
doar HTTPS și doar potrivire exactă a adresei; atunci cheia Supriaha pleacă
spre el. Bucla acestui calculator (127.0.0.1, localhost) este oricum de
încredere.
sync cu --repo/--fond adaugă instantaneul unui singur fond la cel
existent; despre fondurile pe care instantaneul nu le cuprinde, coloana
«пул» (banca comună) spune „nu știm”, nu „nu există”.
Refuzul băncii comune (verificări, norma zilnică) Nyshporka îl afișează cu
cuvintele serverului. Când același text se află deja în banca comună,
publish spune dacă a fost acceptat, respins cândva sau încă neterminat —
„deja în Supriaha” înseamnă doar primul caz.
Urma schimbului¶
data/share/journal.jsonl ține minte ce a venit de unde și ce a plecat unde,
iar pachetele primite rămân în data/share/inbox. Aceasta nu este evidență de
dragul evidenței: un fapt luat dintr-o citire străină și trecut în canon
trebuie să se sprijine pe un fișier permanent — altfel citarea va rămâne în
aer de îndată ce veți șterge descărcarea.
nysh share list # журнал
nysh share stats # скільки віддано, скільки прийнято, від кого
Licență¶
Pachetul numește condițiile în care se oferă textul (--license, implicit
CC0-1.0) și, separat, condițiile sursei scanărilor (--source-terms), dacă
există. Fără licență pachetul nu se va asambla: destinatarul trebuie să știe
ce poate face cu el.