Gelesenes teilen (Supriaha)¶
Ein und dasselbe Archivbuch lässt heute jeder für sich erkennen. Ein Lesedurchgang kostet nicht viel, aber er kostet jedes Mal: Eine Akte mit dreitausend Blättern bedeutet Stunden Rechenzeit, und dafür zahlt jeder, der bei ihr angekommen ist. Der Text ist dabei derselbe, und bei jemandem liegt er schon fertig da.
Supriaha (nyshporka.online) ist eine gemeinsame Sammlung gelesener Akten.
Geteilt wird der Text, nicht die Bilder: Eine Akte mit 3772 Blättern wiegt
im Paket 3–4 Megabyte.
Bilder kommen niemals ins Paket
Das Paket enthält den Text der Lese-Engine und einen Pass darüber, wie er entstanden ist. Die Scans selbst bleiben bei dem, der sie heruntergeladen hat, und das Paket nennt nur die Quelle — damit der Empfänger sie dort und zu denselben Bedingungen beziehen kann.
Der kürzeste Weg¶
nysh share login # один раз: браузер, одна кнопка
nysh share setup --as "ваше імʼя" # один раз: профіль
nysh share pack "ДАХмО 315-1-1234" # спакувати справу
nysh share publish data/share/outbox/DAHMO_315-1-1234.nyshtext
Auf der anderen Seite:
nysh share pull "ДАХмО 315-1-1234" --take # знайти в пулі й прийняти
nysh share pull --repo RGIA --fond 592 --opys 25 --take # уся серія одним викликом
Übernommene Lesedurchgänge landen dort, wo auch Ihr eigenes Gelesenes liegt,
und gehen sofort in den Textspeicher, sodass nysh text find, grep und
ctx sie ohne gesonderten text index sehen. Suchen kann man in einer Serie
genauso wie in einer Akte: nysh text find <прізвище> --case "RGIA 592-25";
für mehrere Akten --case wiederholen.
Wenn Sie über den Agenten teilen
Der Skill share-case führt den Agenten genau diesen Weg und bewacht die
Stellen, die still kaputtgehen: Die Signatur prüft er vor dem Hochladen
im Dry-Run, Jahre aus dem Katalog von FamilySearch übernimmt er nicht,
und eine mit share card festgelegte Karteikarte bringt er durch
erneutes Hochladen in den Pool. Installiert wird er mit den übrigen
Skills: nysh skills install.
Anmeldung¶
nysh share login öffnet die Seite nyshporka.online: Anmeldung per E-Mail
oder Google oder anonym. Der Schlüssel kommt von selbst in Nyshporka an und
landet im Schlüsselspeicher des Systems — kopieren müssen Sie nichts. Den
Schlüssel vom Rechner entfernen: nysh share logout. Auf einem Server ohne
Browser kommt der Schlüssel in die Variable NYSHPORKA_SUPRIAHA_TOKEN,
ausgegeben wird er unter „Mein Konto“.
Suchen, Übernehmen und Teilen von Paketen erlaubt der Pool nur mit
Schlüssel. Gibt es noch keinen, schlagen pull, sync und publish von
selbst vor, sich zu verbinden.
Profil¶
nysh share setup ohne Optionen fragt der Reihe nach; mit einer beliebigen
Option schreibt es nur das Genannte und fragt nichts (für Skripte und das
Installationsprogramm).
| Feld | Option | Standard |
|---|---|---|
| Pseudonym im Katalog | --as |
ohne Namen |
| Kontakt (öffentlich) | --contact, entfernen — --contact - |
keiner |
| Lizenz des Textes | --license |
CC0-1.0 |
| wann teilen | --consent nikoly \| pytaty \| zavzhdy |
pytaty — Liste führen und erinnern |
| vor dem Lesen im Pool nachfragen | --lookup / --no-lookup |
nein |
| Zeilenpositionen | --geometry / --no-geometry |
ja |
Der Kontakt ist öffentlich
Er geht in jedes Ihrer Pakete mit und ist für alle sichtbar, die es
übernehmen. Er wird nie von selbst eingesetzt (weder aus git config
noch aus dem Benutzernamen des Systems) — nur aus dem Profil, das Sie
ausgefüllt haben, oder aus --contact. Für ein einzelnes Paket ohne
Kontakt — --contact -.
Vor dem Lesen im Pool nachfragen (--lookup) bedeutet: Vor jedem
nysh read schickt Nyshporka die Signatur der Akte und die Zahl der
Aufnahmen an den Server und gibt, wenn der Text schon da ist, eine Zeile aus.
Der Server sieht dabei, welche Akte Sie lesen wollen — deshalb ist es
standardmäßig ausgeschaltet.
Karteikarte der Akte: Titel, Jahre, Orte, Quellenart¶
Der Packer stellt die Karteikarte selbst zusammen — aus dem Pass des Ordners, dem Register des Findbuchs und der Aktenbibliothek. Arbeitsvermerke des Passes (Prüfdatum in Klammern, „FS-тег: …“, „⚠ …“, Prioritätsvermerke) kommen nicht auf die Karteikarte. Reicht das nicht — eine namenlose Akte, ein Arbeitstitel statt des echten —, legt die Karteikarte fest, wer hochlädt:
nysh share card "ДАХмО 315-1-1234" --title "Сповідні розписи парафії …" \
--years 1795-1797 --place "Слобідка" --place "Вербівка" --genre confession
Dasselbe direkt beim Verpacken: nysh share pack … --title … --years …. Das
Festgelegte wird gespeichert (data/share/cards.json) und gilt für jedes
weitere Verpacken dieser Akte — pack, suggest --all, automatisches
Teilen. Ansehen — nysh share card <шифра>, ein Feld löschen —
--title "", die ganze Karteikarte — --clear.
Quellenarten: birth, marriage, death, confession, revision,
clergy_list, gazette, finding_aid, other (auch als Bezeichnung
möglich: «сповідні»).
Wo die Aufnahmen sind. Wurde die Akte aus privaten Aufnahmen gelesen — der Sammlung eines Forschers, gekauft oder bestellt —, findet der Empfänger sie weder bei FamilySearch noch auf Commons. Die Karteikarte nennt, wer die Aufnahmen hat:
nysh share card "ДАХмО 230-1-1234" --scans "Колекція дослідника=https://…"
Der Link steht unter den Links des Pakets an erster Stelle, mit dem Vermerk
role: scans, und im Pool steht er neben dem Text: Für die Bilder geht man
genau dorthin. Wie der Rest der Karteikarte wird er gespeichert; löschen —
--scans "".
Was gelesen, aber noch nicht geteilt ist¶
nysh share suggest # перелік зі статусами
nysh share suggest --all --ready # спакувати все готове
nysh share suggest --skip "ДАХмО 315-1-1234" --why "платна зйомка"
Status: bereit, im Pool ohne Rahmen, unvollständig (weniger als
80 % der Aufnahmen gelesen — wird nur mit --partial geteilt), ohne
Aufnahmen. Was schon im Pool ist, entscheidet der Stand des Pools
(nysh share sync); Akten, die der Stand nicht abdeckt, nach dem Protokoll
der Verpackungen. Eine Ablehnung wird einzeln gespeichert: Zu einer Akte,
die Sie nicht teilen wollten, wird nicht mehr nachgefragt.
Was im Paket steckt¶
manifest.json шифра, картка, джерело сканів, знаменник, ваші поля
frames.jsonl перелік кадрів справи
runs/<прогін>/ NNNN.txt — сторінка, рядок у рядок; плюс паспорт прогону
README.md пояснення для того, хто відкриє пакет без Нишпорки
Die Zeilenpositionen (*.lines.json) gehen als gesonderte Datei
….geom.nyshtext mit: Sie wiegen das Zehnfache des Textes und werden nur
von dem gebraucht, der dieselben Aufnahmen hat.
Welche Lesedurchgänge mitgehen¶
Die Stimmen des Pakets sind Lesungen der Akte, nicht alles, was daneben
liegt. Zu Hause bleiben, und pack nennt jeden mit Grund:
- Messdurchgänge (Vermerk
control_runim Pass des Durchgangs); - Proben: ein Durchgang, dessen Seiten alle in einem vollständigeren Durchgang desselben Modells enthalten sind (Teile einer Akte, die mit einem Modell gelesen wurden, gehen beide mit);
- Durchgänge einer anderen Akte mit ähnlichem Namen;
- fremde übernommene Durchgänge — die teilt der Autor, nicht Sie;
- von Ihnen genannte:
--skip-run <прогін>.
Der Nenner — das wichtigste Feld¶
Das Manifest sagt, wie viele Aufnahmen die Akte hat und wie viele davon gelesen sind, mit welchem Modell und ob die Ausrichtung geprüft wurde. Ohne das erzeugt eine fremde Lesung massenhaft falsche Nullen: Jemand durchsucht drei Seiten, die er für dreitausend hält, findet den Nachnamen nicht — und schließt die Richtung ehrlich, obwohl er alles richtig gemacht hat.
Deshalb lässt sich ein Paket mit unvollständiger Lesung oder ohne Modellnamen gar nicht erst zusammenstellen. Haben Sie absichtlich nur ein Stück gelesen, sagen Sie, warum:
nysh share pack "ДАХмО 315-1-1234" --partial "лише аркуші з нашим селом"
nysh share pack "ДАХмО 315-1-1234" --frames 408 # число кадрів справи, якщо пакувальник його не знайшов
Ihre Felder¶
nysh share pack "ДАХмО 315-1-1234" \
--as "sergiy" --contact "t.me/…" \
--note "читав Дяком, останні аркуші підмокли" \
--link "звідки скани=https://…" \
--extra "plivka=105208823"
--note— freier Text, er kommt beim Leser an und landet in der README des Pakets.--link— „Bezeichnung=Adresse“ oder nur der Link; am nützlichsten ist, was zu den Scans führt. Eine Adresse mit=darin (FamilySearch-Links) wird als Ganzes erkannt.--extra— Paare „Schlüssel=Wert“, die das Format unangetastet mitnimmt. Ein Paar ohne=, mit leerem Schlüssel oder doppelt genannt — das ist eine Ablehnung, kein stilles Überspringen.
Was nicht ins Paket kommt¶
Der Packer nimmt nur die Textseiten und den Pass des Durchgangs — und aus
dem Pass nur die Felder, die der Empfänger braucht: Modell, Engine, Schrift,
wie viele Seiten fertig sind. Nicht mit gehen Pfade Ihrer Festplatte,
Arbeitsnotizen (*_note, Erläuterungen zu Messungen, Verlauf von
Zusammenführungen), Rettungsausschnitte, Protokolle, Quarantäne,
Seitenspeicher, Urteile, Kanon.
Was genau mitgeht, kann man vor dem Zusammenstellen ansehen:
nysh share pack "ДАХмО 315-1-1234" --dry-run
Notizbuch der Akte¶
Außer dem Text weiß man über eine Akte oft noch etwas, das jedem nützt, der sie öffnet: was wirklich im Buch steht, wo das Findbuch des Archivs sich im Titel oder bei den Jahren geirrt hat, wo eine Abschrift liegt. Hierher gehört auch eine Zeile, die die Lese-Engine schief gelesen und Sie mit dem Scan abgeglichen haben. All das ist das Notizbuch der Akte. Es liegt neben den durchgesehenen Blättern und geht getrennt vom Text an Supriaha: Ergänzen kann man es auch zu einem Buch, das jemand anderes geteilt hat.
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" # що дописали інші
An Supriaha geht nur das mit --share Markierte und die Liste der
durchgesehenen Blätter ohne Ihre Kommentare. Familiäres — „hier ist mein
Großvater eingetragen“ — schreiben Sie als --kind note: Ein solcher Eintrag
geht niemals mit, und einen Eintrag mit familiären Wörtern nimmt der Pool
nicht an, selbst wenn er markiert ist. Auf der Seite des Buches ist das
Notizbuch getrennt vom Text zu sehen und zählt nicht zu den gelesenen Seiten:
Von Hand Geprüftes sind ausgewählte Zeilen, keine gelesene Akte.
Eine geprüfte Zeile geht zusammen mit einem Ausschnitt an Supriaha — einem
Ausschnitt dieser Zeile aus dem Scan als graues JPEG, wenn der Scan der Akte
auf Ihrem Computer liegt (ohne ihn geht die Zeile nur als Text). Indem Sie
geprüfte Zeilen teilen, erklären Sie sich einverstanden, dass der Betreiber
von Nyshporka sie für das Training von Erkennungsmodellen verwenden kann.
Anderen Nutzern werden die Ausschnitte nicht weitergegeben und auf der Seite
des Buches nicht gezeigt; der Text der Prüfung ist für alle sichtbar. Ein
zurückgezogener Eintrag (nysh note retract und note push) nimmt auch den
Ausschnitt aus dem Pool.
Ein fremdes Paket übernehmen¶
Wenn Sie über den Agenten übernehmen
Der Skill pull-case führt den Agenten von pull bis zur Suche im
Übernommenen und liest die Zuordnungsmarke laut vor: Was vom fremden Text
auf Ihre Aufnahmen passt und was nur für die Suche taugt.
nysh share inspect <файл або адреса> # подивитись, нічого не розкладаючи
nysh share import <файл або адреса> # прийняти
nysh share geometry <….geom.nyshtext> # докласти рамки рядків
Das Paket kommt von einem Menschen, den Sie nicht kennen, und der Empfänger glaubt ihm nicht aufs Wort:
- die Prüftore messen den Inhalt, nicht die Angabe: Seiten, Zeilen und der Hash des Textes werden aus dem Paket selbst gezählt, und ein Paket, das mehr angibt, als es enthält, kommt nicht durch;
- ein Fehler im Paket ist eine Ablehnung vor dem Schreiben: ein Pfad
außerhalb von
runs/<прогін>/<файл>, ein unter Windows unzulässiger Name, ein Verweis, eine zu große Datei — und auf die Festplatte kommt nichts; - entpackt werden nur die im Manifest genannten Durchgänge und nur Text mit Pass; der Pass wird mit derselben Positivliste bereinigt;
- Ihre eigene Lesung wird niemals überschrieben — auch nicht mit
--force. Ein Durchgang mit demselben Namen (ohne Rücksicht auf Groß- und Kleinschreibung) — Ablehnung.--forceersetzt nur ein früher übernommenes Paket; - ein Paket unter einer Adresse aus dem Katalog wird mit seiner sha256
abgeglichen (
share pull --takemacht das selbst; fürimportundgeometryper Adresse —--sha256): Eine Datei, die im Speicher ausgetauscht wurde, nachdem der Pool sie angenommen hatte, wird nicht übernommen.
Wie gut ein fremder Text auf Ihre Aufnahmen passt¶
Der Schlüssel der Akte taugt dafür nicht: Er wird aus dem Ordnernamen und Ihrem Archivverzeichnis gebildet, sodass dasselbe Buch bei zwei Menschen verschiedene Schlüssel erhält. Deshalb trägt das Paket eine Liste der Aufnahmen und einen Fingerabdruck der Aufnahmeserie, und Nyshporka misst die Übereinstimmung und sagt sie laut:
| Marke | Was sie bedeutet | Was funktioniert |
|---|---|---|
exact |
alle Aufnahmen stimmen überein (Hash oder FamilySearch-Kennung) oder der Fingerabdruck der Aufnahmeserie auf mindestens drei Aufnahmen | alles, einschließlich Ausschnitten und fremder Zeilenpositionen |
by-name |
Namen und Anzahl stimmen überein | alles außer fremden Zeilenpositionen |
by-position |
nur die Anzahl oder ein Teil der Aufnahmen stimmt überein | Seite ja, Ausschnitt fraglich |
text-only |
keine Aufnahmen oder andere | Suche, Seite, Signatur |
Fremde Zeilenpositionen passen nur zum Text desselben Beitrags und nur
bei exact; sonst — Ablehnung mit Erklärung (--force, wenn Sie sicher
sind).
text-only ist keine Niederlage, sondern der häufigste nützliche Fall: Sie
finden den Nachnamen im fremden Text, sehen Akte und Blattnummer — und gehen
den Scan selbst in der Quelle ansehen.
Ein gleicher Dateiname bedeutet nicht dieselbe Aufnahme
Flaches Staging nummeriert die Seiten neu, sodass zwei Aufnahmeserien desselben Buches leicht gleiche Namen bei verschiedenem Inhalt ergeben. Genau deshalb wird die Marke niemals durch Vermutung heraufgesetzt.
Die eigene Null und eine fremde Null sind verschiedene Antworten¶
Übernommene Durchgänge sind markiert, und die Suche nennt das:
знаменник: кадрів 3772 · прочитано 3770 · у сторі прогонів 2 із 2 …
з них чужий декод: прогонів 2 із 2 · сторінок 3770 · від oksana
Den fremden Text hat ein anderes Modell gelesen, für seine Vollständigkeit steht hier niemand ein, und neu lesen lässt er sich nur, wenn man den bittet, der ihn gegeben hat. Eine Null darauf wiegt weniger als eine Null auf dem eigenen — und das muss sichtbar sein.
Pool¶
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`
Der Katalog ist die API https://api.nyshporka.online/v1. Ein eigener
Spiegel oder ein Testserver wird mit der Variablen NYSHPORKA_TOLOKA oder der
Option --base festgelegt; der Schlüssel von Supriaha geht an eine solche
Adresse nicht mit — weder aus dem Schlüsselspeicher noch aus
NYSHPORKA_SUPRIAHA_TOKEN. Einen eigenen Server muss man ausdrücklich
nennen: NYSHPORKA_SUPRIAHA_TRUST=https://хост[:порт] — nur HTTPS und nur
bei exakter Übereinstimmung der Adresse; dann geht der Schlüssel von Supriaha
an ihn. Die Loopback-Adresse dieses Rechners (127.0.0.1, localhost) ist
ohnehin vertrauenswürdig.
sync mit --repo/--fond ergänzt den vorhandenen Stand um den Stand eines
Bestands; zu Beständen, die der Stand nicht abdeckt, sagt die Spalte „Pool“
„unbekannt“, nicht „gibt es nicht“.
Eine Ablehnung durch den Pool (Prüftore, Tageskontingent) gibt Nyshporka mit
den Worten des Servers aus. Liegt derselbe Text schon im Pool, sagt
publish, ob er angenommen, irgendwann abgelehnt oder noch nicht
abgeschlossen ist — „schon in Supriaha“ bedeutet nur das Erste.
Spur des Austauschs¶
data/share/journal.jsonl merkt sich, was woher gekommen und was wohin
gegangen ist, und übernommene Pakete bleiben in data/share/inbox. Das ist
keine Buchführung um der Buchführung willen: Eine Tatsache, die aus einer
fremden Lesung stammt und in den Kanon eingetragen wurde, muss sich auf eine
dauerhafte Datei stützen — sonst hängt das Zitat in der Luft, sobald Sie den
Download entfernen.
nysh share list # журнал
nysh share stats # скільки віддано, скільки прийнято, від кого
Lizenz¶
Das Paket nennt, zu welchen Bedingungen der Text geteilt wird (--license,
standardmäßig CC0-1.0), und gesondert die Bedingungen der Scanquelle
(--source-terms), falls es welche gibt. Ohne Lizenz lässt sich das Paket
nicht zusammenstellen: Der Empfänger muss wissen, was er damit tun darf.