katlog.orgжурнал разработки Демо-каталогДемо
Открытый дневник разработки

Как библиотекарь и ИИ строят новую библиотечную систему

Хроника Katlog с первого дня: решения, ошибки, интерфейс, данные и идеи.

Все материалы 36 · в порядке чтения
  1. ХР001
    Хроника4 мин чтения

    Почему я начал делать новый каталог

    Электронный каталог нашей библиотеки на Aleph появился задолго до того, как я пришёл сюда работать. Он честно служит годами. Но за это время изменились и технологии, и ожидания читателей. Об этом — первая, личная статья журнала.

  2. ХР002
    Хроника3 мин чтения

    Одна ссылка и 6 153 записи

    С чего может начаться новая библиотечная система? С простого вопроса: можно ли взять данные открытого каталога и подготовить их для нового приложения.

  3. ХР003
    Хроника2 мин чтения

    От файла к прототипу

    Архив с 6 153 записями лежал на диске. Следующий вопрос: что можно сделать для читателей на основе этих полей? Ответом стал прототип — одна страница, на которой уже можно искать.

  4. БИ001
    Библиотечное2 мин чтения

    Шифр как корешок: почему каталог начинается с полки

    Для библиотекаря шифр — адрес книги. Для читателя в старом каталоге — строка мелкого текста в таблице. Мы решили показать его так, как он выглядит в зале.

  5. РИ001

    Анатомия карточки книги

    Шесть решений, из которых состоит одна карточка записи в новом каталоге. Разбираем по номерам, зачем здесь каждый элемент.

  6. РИ002

    Как работает поиск

    Одна строка вверху страницы — главный инструмент каталога. Рассказываем, что происходит между нажатием Enter и первым результатом, и почему «Haeckel Reisebriefe» однажды ничего не находил.

  7. РШ001
    Решение2 мин чтения

    Фильтры, которые не врут

    Число рядом с фильтром — это обещание: столько записей вы увидите, если его выберете. Рассказываем, почему это обещание легко нарушить и как мы его держим.

  8. БИ002
    Библиотечное2 мин чтения

    Botany - Germany: как устроены предметные рубрики

    В каталоге 4 239 разных рубрик. Если показать их все в фильтре, им никто не воспользуется. Разбираем, как из них получается удобный фильтр «Тема».

  9. РИ003

    Подборка, RIS и готовая ссылка

    Читатель нашёл пять нужных книг. Что дальше? Переписывать названия в блокнот? В Katlog их можно собрать в подборку и одной кнопкой отправить в Zotero или Citavi.

  10. РИ004

    Кабинет читателя: четыре счётчика и шкала заказа

    Читателю не нужна история транзакций. Ему нужно знать три вещи: готова ли книга, когда её вернуть и не просрочено ли что-то. Кабинет построен вокруг этих вопросов.

  11. БИ003
    Библиотечное2 мин чтения

    Жизнь заказа: от заявки до возврата

    Шесть статусов, две стороны экрана и несколько развилок. Проходим весь путь одного заказа — и смотрим, где он может свернуть.

  12. БИ004
    Библиотечное2 мин чтения

    Правила выдачи: на дом, в читальный зал, не выдаётся

    Редкое издание XVIII века и свежий справочник по генетике нельзя выдавать по одним правилам. Как в Katlog задаются правила для фондов — и как одна строгая проверка не давала выдавать книги в читальный зал.

  13. РИ005

    Рабочее место библиотекаря: заявки и выдачи

    Кабинет читателя отвечает на вопрос «где моя книга». Кабинет библиотекаря — на вопрос «что мне сделать прямо сейчас». Разбираем экран, с которого начинается рабочий день.

  14. РШ002
    Решение2 мин чтения

    Почему у каждой библиотеки — своя копия системы

    Одна большая платформа для всех или отдельная копия для каждой библиотеки? Мы выбрали второе. Рассказываем, чем пришлось заплатить и что получили взамен.

  15. РШ003
    Решение2 мин чтения

    Безопасность маленькой системы

    Маленькой библиотеке не нужна система уровня банка. Но ей нужно, чтобы чужой человек не вошёл в кабинет библиотекаря, а данные читателей не утекли. Какие решения для этого приняты.

  16. ПР001
    Задание для ИИ2 мин чтения

    32 пункта сверки: как проверять работу ИИ-агента

    ИИ-агент написал систему по нашему описанию и сообщил, что всё готово. Проверка кода показала: многое потеряно, часть сделана наполовину. Рассказываем, как мы выстроили работу, чтобы это не повторялось.

  17. ПР002
    Задание для ИИ3 мин чтения

    Задание целиком: поиск описания по ISBN

    Мы много говорили о том, как ставить задачи ИИ-агенту. Здесь — настоящее задание, которое ушло агенту, с разбором: зачем каждая часть и что она предотвращает.

  18. ПР003
    Задание для ИИ3 мин чтения

    22 исправления в три этапа: как не сломать работающую систему

    Пока мы снимали скриншоты для этого журнала, накопился список из 22 недочётов. Отдать его агенту одним заданием было бы самым надёжным способом что-нибудь сломать. Как мы разложили работу.

  19. ОШ001
    Разбор ошибки2 мин чтения

    Каталог, который забыл два языка

    В задании стояли три языка интерфейса: немецкий, английский, русский. Первая версия, которую написал агент, открылась только на русском. Как это случилось и что мы поняли о многоязычном каталоге.

  20. ОШ002
    Разбор ошибки2 мин чтения

    Ошибка 415: почему не удалялась запись

    Библиотекарь создал запись по ISBN, попробовал её удалить — и получил «HTTP 415: Ожидается JSON». Разбираем, как защитное правило сломало удаление и почему исправлять нужно правило, а не исключение.

  21. ОШ003
    Разбор ошибки2 мин чтения

    Куда пропали девять записей

    В исходной выгрузке 6 153 записи, в новой базе — 6 144. Никакой ошибки на экране, никакого предупреждения. Как мы это заметили и почему «пропустить» — худшее, что может сделать импорт.

  22. ОШ004
    Разбор ошибки2 мин чтения

    Настройки, которые ни на что не влияли

    В кабинете библиотекаря можно было выбрать акцентный цвет, тёмную тему и загрузить логотип. Всё сохранялось. Но сайт не менялся. Разбираем, как функция может существовать и не работать одновременно.

  23. ОШ005
    Разбор ошибки2 мин чтения

    Код 02: как система сама закрыла треть фонда

    Тестовый читатель заказал книгу, а выдать её оказалось невозможно: «Доступных экземпляров нет». Причина нашлась в двух цифрах из Aleph — и в том, что система решила их значение сама.

  24. РШ004
    Решение2 мин чтения

    Удалить нельзя восстановить: двойное подтверждение и корзина

    Удаление записи — единственное действие в каталоге, которое может уничтожить годы работы одним нажатием. Поэтому мы сделали его медленным. Намеренно.

  25. РИ006

    Качество данных: список работы вместо упрёка

    242 записи без года, 3 320 без языка, 121 повторяющийся ISBN. В старом каталоге такие вещи находились случайно. В Katlog они собраны в раздел, где каждая группа — понятная задача.

  26. ЦФ001
    Цифры2 мин чтения

    Искали и не нашли

    Каждый пустой результат поиска — это читатель, которому библиотека не смогла помочь. В Katlog такие запросы собираются в список. Зачем он нужен и почему в нём нет ни одного имени.

  27. ИД001
    Идеи2 мин чтения

    Повторный импорт без страха

    Каталог уже в новой системе, библиотекарь исправил сотни записей. Теперь нужно загрузить свежую выгрузку с новыми поступлениями. Как сделать так, чтобы ни одно исправление не пропало.

  28. ИД002
    Идеи2 мин чтения

    Описание по ISBN: DNB, K10plus и Crossref

    Библиотекарь вводит ISBN — и через пару секунд видит готовое описание из национальных каталогов. Как это устроено и почему запись всё равно не сохраняется сама.

  29. РШ005
    Решение2 мин чтения

    Дополнительные поля: гибкость без поломок

    Набор полей записи повторял наш экспорт из Aleph. Но время меняется: завтра понадобятся DOI, ссылка на электронную версию, провенанс. Как дать библиотекарю создавать поля самому и не дать случайно всё сломать.

  30. БИ005
    Библиотечное2 мин чтения

    Aleph изнутри: что скрывают строки размещения

    Одна строка вроде «BOOK MPMPT BIB F 759 8660 01 20181115» содержит почти всю жизнь экземпляра. Разбираем её по частям — и рассказываем, что из неё нельзя понять без библиотекаря.

  31. ЦФ002
    Цифры2 мин чтения

    Каталог в цифрах: от «Flora Marchica» 1663 года до поступлений 2020-х

    Что можно узнать о библиотеке, просто посчитав её записи. 6 153 описания, 1 239 редких изданий и 242 записи без года.

  32. ИД003
    Идеи2 мин чтения

    Как библиотеке перейти с Aleph: сценарий по шагам

    Всё, что мы узнали за время эксперимента, складывается в сценарий, который можно повторить. Не инструкция по установке, а порядок действий и вопросы, на которые библиотеке стоит ответить заранее.

  33. РШ006
    Решение2 мин чтения

    Частный проект по немецким правилам

    Блог о библиотечной системе кажется безобидным. Но в Германии даже у частного сайта есть обязательные страницы, а у одной строчки кода со шрифтами — судебная история. Что мы сделали и почему.

  34. ХР004
    Хроника2 мин чтения

    Что осталось нерешённым

    Журнал о разработке был бы нечестным без этой статьи. Katlog работает, но в нём есть известные слабые места, непроверенные функции и открытые вопросы. Вот они — все сразу.

  35. СЛ001
    Словарь2 мин чтения

    RIS, MARC, SRU, DOI — простыми словами

    Короткий словарь терминов, которые то и дело встречаются в этом журнале. Для библиотекарей, которые не обязаны быть программистами, и программистов, которые не обязаны быть библиотекарями.

  36. ХР005
    Хроника2 мин чтения

    Как появился этот журнал

    Зачем рассказывать о разработке, если можно просто разрабатывать? Потому что самое интересное в Katlog — не код, а путь: вопросы, ошибки, решения. Этот путь стоило записать.