Przejdź do treści

Віддача в Супрягу: особливі випадки

Довідник скіла share-case. Звичайна справа сюди не заходить — її шлях, перевірка картки й виправлення описані в самому скілі. Тут те, що трапляється рідко: справа більша за пакет, справа з вирізок плівки, друковане видання, віддача з черги.

Справа завелика для одного пакета

Пул приймає пакет до 20 000 файлів і 64 МБ: файл — це сторінка одного голосу, тож справа на ~9 000 сторінок двома голосами вже не влазить. Звичайний pack таку справу відмовляє ДО заливки з підказкою --segments.

nysh share pack <справа> --segments --dry-run   # таблиця сегментів: мітка, сторінки, файли
nysh share pack <справа> --segments --frames 272288 --title "назва з опису архіву" --years 1942-1945
nysh share publish data/share/outbox/<справа>~segments   # уся тека, по одному
  • 🔴 Назва й роки обов'язкові. Без них --segments відмовляє: такі справи часто без номера (@назва), і пул показав би «Справу без назви в описі» з транслітом теки. Роки — роки документа з опису архіву, не роки подій у ньому.
  • Частина — тека кадрів, яку читали прогони (алфавітна підтека картотеки), з усіма її голосами. Сегмент — суміжні частини під стелею; частина, що сама не влазить, ділиться за сторінками («Гол… (1/2)»). Мітка — діапазон абетки («Аб… - Берл…»), технічні імена тек (part-01__…) з неї знімаються.
  • ⚠ Попередження prereform_voice — голос пише дореформеним правописом (ѣ, ѳ, ъ, «-аго») у документі після 1918 року. Модель, навчена на метриках XIX ст., дописує зі свого корпусу слова, яких на картці немає. Сказати людині до заливки; такий голос краще перечитати іншим рушієм (для друкованих бланків ХХ ст. — Дяк-Літописець), ніж віддавати.
  • 🔴 Це одна справа, а не N справ. Не пакувати частини окремими шифрами й не вигадувати шифру на літеру: пул зводить сегменти в одну книгу й сумує прочитане.
  • --frames — число кадрів цілої справи; знаменник кожного сегмента — його власні кадри, і картка його не підміняє.
  • Обрив посередині: повторити той самий publish <тека> — віддані сегменти пул упізнає за хешем. Перепакування з іншим поділом прибирає з теки старі сегменти.
  • Геометрія в сегменти за абеткою не їде (у вирізки з плівки — їде, див. нижче).
  • Забір: nysh share pull <шифра> --take бере всі сегменти, --segment Дал — лише ту частину, що покриває ці літери (усі її шматки «(1/2)», «(2/2)»).

Справа, прочитана вирізками з плівки (село за селом)

Справу читано не цілою, а вирізками: кожне село — окремий PDF чи тека кадрів, вирізана з плівки FamilySearch, зі своєю сторінкою 1 (катаграфії, зведені книги повіту). Під одним ключем справи тоді лежить кілька тек кадрів, і звичайний pack відмовляє («справу розкладено на N тек кадрів»).

nysh share part <тека села> --film 2362453 --frames-on-film 670-709 --folios 35-55 --village Lipceni
nysh share pack ANRM/134/2/257 --segments --by-part --dry-run   # села, плівки, межі справи
nysh share pack ANRM/134/2/257 --segments --by-part --frames N --title "…" --years 1850
nysh share publish data/share/outbox/<справа>~segments
  • 🔴 Плівка — не справа. На одній плівці лежить кілька справ, а одна справа буває на двох плівках. Кадри вирізки — так, як їх нумерує переглядач FamilySearch, а не з 1 у теці. Число кадрів у --frames-on-film мусить дорівнювати кадрам у теці, інакше пакування відмовить.
  • 🔴 Межа справи на плівці. Пакувальник звіряє кожну вирізку з межами справи: поле film_ranges паспорта справи, а без нього — покажчик катаграфій. Вирізка, що виходить за певні межі (чи лежить на чужій плівці), — відмова: це текст сусідньої справи під цією шифрою. Поділити вирізку або, якщо так і є, пояснити: share part <тека> --cross-case "чому". Межі, лише оцінені покажчиком, дають попередження.
  • 🔴 Покажчик — підказка, не дані. Dry-run і share part показують, що покажчик катаграфій каже про село (плівка, кадри, аркуші), але в паспорт нічого не підставляють. Узяти явно: share part <тека> --from-index, і на картці ці поля стоять «за покажчиком». Покажчик рахує кадри в томі FS, тож звірити з самою вирізкою.
  • 🔴 Знаменник — уся справа, не сума вирізок. --frames N з опису чи каталогу; без нього — сума меж справи на плівках (з позначкою джерела). Кадри вирізок на диску знаменником не стають ніколи.
  • Село = сегмент зі сталим ключем (плівка + кадри), набір — один на справу. Додати село пізніше: share part для нової теки → той самий pack --by-part → publish теки. Віддані села пул упізнає за хешем.
  • Виправили плівку, кадри чи аркуші — share part ще раз → pack → publish: текст той самий, пул оновлює лише опис частини («Опис частини … оновлено»).
  • Рамки рядків їдуть окремим пакетом поруч із кожним сегментом. Одержувач шукає свої кадри сам: id кадрів FamilySearch чи відбиток → exact (і в теці цілої плівки); лише номер кадру на плівці → by-position, без кропа.
  • Справу, у якій прочитано одне село, теж можна віддати так — тоді картка покаже, яке це село й де воно на плівці, а не «уривок без пояснення».
  • Пачкою: рядок файла переліку {"case": "ANRM/134/2/257", "segments": true, "by_part": true} → nysh share push --from <файл>.

Друковане видання (газета, журнал, довідник)

Рік видання — окрема книга пулу з ключем VYD/<КОД>/<рік>. Пакується не share pack, а nysh print pack, і картку йому дає картка видання — одна на видання, вона їде в кожен рік.

nysh print status                                  # видання, роки, прочитане
nysh print adopt KOLSELO_PYR                       # лише коли кадрів тут немає, а тексти номерів є
nysh print card KOLSELO_PYR                        # 🔴 що стоїть на картці й чого бракує
nysh print card KOLSELO_PYR --title "Колективізоване село" --city "Пирятин" \
  --doc-type newspaper --holder "НБУВ (Національна бібліотека України імені В. І. Вернадського)" \
  --place "Пирятинський район" --place "Полтавська область" \
  --organ "1936: Орган Пирятинського РПК та РВК Харківської області" \
  --organ "1938–1940: Орган Пирятинського РК КП(б)У та РВК Полтавської області; виходила щодня"
nysh print assemble KOLSELO_PYR                    # роки з номерів (наглядач кличе сам)
nysh print pack KOLSELO_PYR --dry-run              # подивитись
nysh print publish KOLSELO_PYR                     # спакувати повні роки й віддати
  • 🔴 Назва, місто, жанр і тримач підшивки — обов'язкові. Без них nysh print pack відмовляє й називає, що заповнити. Порожнє поле картки на сайті читається як «Без назви / місце не назване», а виправляти потім доводиться кожен рік окремо запитом модерації.
  • 🔴 Кожне слово картки — з кадру, а не з декоду. Шапку першої сторінки відкрити оком: рушій калічить саме назви («Пиратинського», «ГОМАДЯНН»). Чий орган газета — з рядка під назвою, і він міняється з роками (район, область, партія): кожен період — окремий --organ "РРРР–РРРР: …". Невідомий період лишити без органу, не вгадувати.
  • Жанр: newspaper — світська газета; gazette — єпархіальні відомості; directory — адрес-календарі, пам'ятні книжки, місяцеслови.
  • Місця (--place) — те, за чим людина шукатиме: місто, район чи повіт, область чи губернія того часу. Місто додається само. Поділ мінявся — місце з роками: --place "1932–1937: Харківська область" --place "1937–1940: Полтавська область" піде лише в ті роки.
  • Скани. Якщо підшивка відкрита онлайн — --scans-url: це єдине, що дає на картці «Подивіться саму книгу». Посилання в переліку номерів пул не показує.
  • Опис року складається сам: орган цього року, місце, скільки номерів і додатків, перший і останній номер із датами, тримач підшивки. Сайт показує його як нотатку; перелік номерів окремо він не показує.
  • Номери й дати — з назв тек номерів (<N> (<наскрізний>) <РРРР-ММ-ДД>), тож тека, названа абияк, дає хибну дату на картці. Перед заходом — nysh print status: теки, що не розібрались, він називає.
  • Рік із непрочитаною сторінкою не пакується: сторінки зсунулись би в номерах.

Віддача з черги справ

nysh queue add <справа> --share або nysh queue run --share: після читання й обліку черга сама робить dry-run, пакує й заливає. Відмова пакування чи воріт ставить справу в «чекає вас» із текстом відмови — виправити так само, як руками (картка, --partial, число кадрів), і nysh queue retry <справа>. Стеля пулу (429) і обрив повторюються самі.

Виправлення: подробиці

  • Заміна — лише в межах тієї самої справи. Під іншою шифрою пул відмовляє й сам радить withdraw.
  • Старий внесок ховається лише після того, як новий прийнято. Обірвана заміна справу без тексту не лишає: повтори той самий publish --replaces.
  • Нічого не видаляється. Відкликаний внесок зникає з каталогу, але байти лишаються, і в того, хто його вже взяв, нічого не ламається. Повертає відкликане лише модерація. Той самий текст у ту саму справу після відкликання пул не прийме (409).
  • Стеля — 20 відкликань, замін і пропозицій картки на добу. Більше — це вже перебудова пулу, її роблять разом із модерацією.
  • Хто взяв чужий внесок: share sync попереджає, якщо автор його відкликав (pulled_withdrawn) чи замінив (pulled_replaced, з командою share pull … --take --force). Прийняте лишається в просторі доказом. Чи спиратись на нього далі, вирішує людина.

Рідкі відмови пакувальника

  • Збірна тека (шифра чи ім'я теки називають діапазон справ: «RGIA 592-25-926-929»). share suggest показує статус «збірна», pack відмовляє: ключ такої теки — за першою справою. Розкласти: nysh cases split <тека> --dry-run --part "<справа>=<перший файл>..<останній файл>" — межі справ називає людина за кадрами (картка «Фонд / Опись / Дело №» на початку кожної справи мікрофільму); далі та сама команда без --dry-run. Тека справді одна справа, а діапазон в імені — збіг: nysh case <тека> --one-case. Уже віддане під шифрою першої справи розбивка не відкличе (попередження already_shared). Кілька збірних тек підряд — кожну з --no-rebuild, а після останньої один nysh cases build.
  • Архіву нема в довіднику — шифра латинським кодом (KRAKOW/1-1/5) і --archive-name "повна назва". Картка покаже назву з позначкою «архіву ще немає в довіднику»; код і назву потім виправляє модерація.
  • Геометрія до вже залитого тексту доїжджає сама: publish бачить «дубль без геометрії» й дозаливає рамки. Без кадрів на диску відбитка зйомки нема, і чужий клієнт прив'язати рамки до своїх кадрів не зможе — текст і пошук працюють однаково.