Как библиотекарь и ИИ строят новую библиотечную систему
Хроника Katlog с первого дня: решения, ошибки, интерфейс, данные и идеи.
Почему я начал делать новый каталог
Электронный каталог нашей библиотеки на Aleph появился задолго до того, как я пришёл сюда работать. Он честно служит годами. Но за это время изменились и технологии, и ожидания читателей. Об этом — первая, личная статья журнала.
Читать →- ХР001Хроника4 мин чтения
Почему я начал делать новый каталог
Электронный каталог нашей библиотеки на Aleph появился задолго до того, как я пришёл сюда работать. Он честно служит годами. Но за это время изменились и технологии, и ожидания читателей. Об этом — первая, личная статья журнала.
- ХР002Хроника3 мин чтения
Одна ссылка и 6 153 записи
С чего может начаться новая библиотечная система? С простого вопроса: можно ли взять данные открытого каталога и подготовить их для нового приложения.
- ХР003Хроника2 мин чтения
От файла к прототипу
Архив с 6 153 записями лежал на диске. Следующий вопрос: что можно сделать для читателей на основе этих полей? Ответом стал прототип — одна страница, на которой уже можно искать.
- БИ001Библиотечное2 мин чтения
Шифр как корешок: почему каталог начинается с полки
Для библиотекаря шифр — адрес книги. Для читателя в старом каталоге — строка мелкого текста в таблице. Мы решили показать его так, как он выглядит в зале.
- РИ001Разбор интерфейса2 мин чтения
Анатомия карточки книги
Шесть решений, из которых состоит одна карточка записи в новом каталоге. Разбираем по номерам, зачем здесь каждый элемент.
- РИ002Разбор интерфейса2 мин чтения
Как работает поиск
Одна строка вверху страницы — главный инструмент каталога. Рассказываем, что происходит между нажатием Enter и первым результатом, и почему «Haeckel Reisebriefe» однажды ничего не находил.
- РШ001Решение2 мин чтения
Фильтры, которые не врут
Число рядом с фильтром — это обещание: столько записей вы увидите, если его выберете. Рассказываем, почему это обещание легко нарушить и как мы его держим.
- БИ002Библиотечное2 мин чтения
Botany - Germany: как устроены предметные рубрики
В каталоге 4 239 разных рубрик. Если показать их все в фильтре, им никто не воспользуется. Разбираем, как из них получается удобный фильтр «Тема».
- РИ003Разбор интерфейса2 мин чтения
Подборка, RIS и готовая ссылка
Читатель нашёл пять нужных книг. Что дальше? Переписывать названия в блокнот? В Katlog их можно собрать в подборку и одной кнопкой отправить в Zotero или Citavi.
- РИ004Разбор интерфейса2 мин чтения
Кабинет читателя: четыре счётчика и шкала заказа
Читателю не нужна история транзакций. Ему нужно знать три вещи: готова ли книга, когда её вернуть и не просрочено ли что-то. Кабинет построен вокруг этих вопросов.
- БИ003Библиотечное2 мин чтения
Жизнь заказа: от заявки до возврата
Шесть статусов, две стороны экрана и несколько развилок. Проходим весь путь одного заказа — и смотрим, где он может свернуть.
- БИ004Библиотечное2 мин чтения
Правила выдачи: на дом, в читальный зал, не выдаётся
Редкое издание XVIII века и свежий справочник по генетике нельзя выдавать по одним правилам. Как в Katlog задаются правила для фондов — и как одна строгая проверка не давала выдавать книги в читальный зал.
- РИ005Разбор интерфейса2 мин чтения
Рабочее место библиотекаря: заявки и выдачи
Кабинет читателя отвечает на вопрос «где моя книга». Кабинет библиотекаря — на вопрос «что мне сделать прямо сейчас». Разбираем экран, с которого начинается рабочий день.
- РШ002Решение2 мин чтения
Почему у каждой библиотеки — своя копия системы
Одна большая платформа для всех или отдельная копия для каждой библиотеки? Мы выбрали второе. Рассказываем, чем пришлось заплатить и что получили взамен.
- РШ003Решение2 мин чтения
Безопасность маленькой системы
Маленькой библиотеке не нужна система уровня банка. Но ей нужно, чтобы чужой человек не вошёл в кабинет библиотекаря, а данные читателей не утекли. Какие решения для этого приняты.
- ПР001Задание для ИИ2 мин чтения
32 пункта сверки: как проверять работу ИИ-агента
ИИ-агент написал систему по нашему описанию и сообщил, что всё готово. Проверка кода показала: многое потеряно, часть сделана наполовину. Рассказываем, как мы выстроили работу, чтобы это не повторялось.
- ПР002Задание для ИИ3 мин чтения
Задание целиком: поиск описания по ISBN
Мы много говорили о том, как ставить задачи ИИ-агенту. Здесь — настоящее задание, которое ушло агенту, с разбором: зачем каждая часть и что она предотвращает.
- ПР003Задание для ИИ3 мин чтения
22 исправления в три этапа: как не сломать работающую систему
Пока мы снимали скриншоты для этого журнала, накопился список из 22 недочётов. Отдать его агенту одним заданием было бы самым надёжным способом что-нибудь сломать. Как мы разложили работу.
- ОШ001Разбор ошибки2 мин чтения
Каталог, который забыл два языка
В задании стояли три языка интерфейса: немецкий, английский, русский. Первая версия, которую написал агент, открылась только на русском. Как это случилось и что мы поняли о многоязычном каталоге.
- ОШ002Разбор ошибки2 мин чтения
Ошибка 415: почему не удалялась запись
Библиотекарь создал запись по ISBN, попробовал её удалить — и получил «HTTP 415: Ожидается JSON». Разбираем, как защитное правило сломало удаление и почему исправлять нужно правило, а не исключение.
- ОШ003Разбор ошибки2 мин чтения
Куда пропали девять записей
В исходной выгрузке 6 153 записи, в новой базе — 6 144. Никакой ошибки на экране, никакого предупреждения. Как мы это заметили и почему «пропустить» — худшее, что может сделать импорт.
- ОШ004Разбор ошибки2 мин чтения
Настройки, которые ни на что не влияли
В кабинете библиотекаря можно было выбрать акцентный цвет, тёмную тему и загрузить логотип. Всё сохранялось. Но сайт не менялся. Разбираем, как функция может существовать и не работать одновременно.
- ОШ005Разбор ошибки2 мин чтения
Код 02: как система сама закрыла треть фонда
Тестовый читатель заказал книгу, а выдать её оказалось невозможно: «Доступных экземпляров нет». Причина нашлась в двух цифрах из Aleph — и в том, что система решила их значение сама.
- РШ004Решение2 мин чтения
Удалить нельзя восстановить: двойное подтверждение и корзина
Удаление записи — единственное действие в каталоге, которое может уничтожить годы работы одним нажатием. Поэтому мы сделали его медленным. Намеренно.
- РИ006Разбор интерфейса2 мин чтения
Качество данных: список работы вместо упрёка
242 записи без года, 3 320 без языка, 121 повторяющийся ISBN. В старом каталоге такие вещи находились случайно. В Katlog они собраны в раздел, где каждая группа — понятная задача.
- ЦФ001Цифры2 мин чтения
Искали и не нашли
Каждый пустой результат поиска — это читатель, которому библиотека не смогла помочь. В Katlog такие запросы собираются в список. Зачем он нужен и почему в нём нет ни одного имени.
- ИД001Идеи2 мин чтения
Повторный импорт без страха
Каталог уже в новой системе, библиотекарь исправил сотни записей. Теперь нужно загрузить свежую выгрузку с новыми поступлениями. Как сделать так, чтобы ни одно исправление не пропало.
- ИД002Идеи2 мин чтения
Описание по ISBN: DNB, K10plus и Crossref
Библиотекарь вводит ISBN — и через пару секунд видит готовое описание из национальных каталогов. Как это устроено и почему запись всё равно не сохраняется сама.
- РШ005Решение2 мин чтения
Дополнительные поля: гибкость без поломок
Набор полей записи повторял наш экспорт из Aleph. Но время меняется: завтра понадобятся DOI, ссылка на электронную версию, провенанс. Как дать библиотекарю создавать поля самому и не дать случайно всё сломать.
- БИ005Библиотечное2 мин чтения
Aleph изнутри: что скрывают строки размещения
Одна строка вроде «BOOK MPMPT BIB F 759 8660 01 20181115» содержит почти всю жизнь экземпляра. Разбираем её по частям — и рассказываем, что из неё нельзя понять без библиотекаря.
- ЦФ002Цифры2 мин чтения
Каталог в цифрах: от «Flora Marchica» 1663 года до поступлений 2020-х
Что можно узнать о библиотеке, просто посчитав её записи. 6 153 описания, 1 239 редких изданий и 242 записи без года.
- ИД003Идеи2 мин чтения
Как библиотеке перейти с Aleph: сценарий по шагам
Всё, что мы узнали за время эксперимента, складывается в сценарий, который можно повторить. Не инструкция по установке, а порядок действий и вопросы, на которые библиотеке стоит ответить заранее.
- РШ006Решение2 мин чтения
Частный проект по немецким правилам
Блог о библиотечной системе кажется безобидным. Но в Германии даже у частного сайта есть обязательные страницы, а у одной строчки кода со шрифтами — судебная история. Что мы сделали и почему.
- ХР004Хроника2 мин чтения
Что осталось нерешённым
Журнал о разработке был бы нечестным без этой статьи. Katlog работает, но в нём есть известные слабые места, непроверенные функции и открытые вопросы. Вот они — все сразу.
- СЛ001Словарь2 мин чтения
RIS, MARC, SRU, DOI — простыми словами
Короткий словарь терминов, которые то и дело встречаются в этом журнале. Для библиотекарей, которые не обязаны быть программистами, и программистов, которые не обязаны быть библиотекарями.
- ХР005Хроника2 мин чтения
Как появился этот журнал
Зачем рассказывать о разработке, если можно просто разрабатывать? Потому что самое интересное в Katlog — не код, а путь: вопросы, ошибки, решения. Этот путь стоило записать.