
Cite: Oreshchenkov I. S. Designing personal bibliographic manager through 
client-side web technologies // Scientific and technical libraries. 2025. No. 7, 
pp. 79–101. https://doi.org/10.33186/1027-3689-2025-7-79-101

    


1. Введение
1.1. Цифровая трансформация и общество
    Развитие информационно-телекоммуникационных технологий (ИКТ) в последние десятилетия, сопровождающееся переходом от аналоговых электронно-механических к цифровым оптоэлектронным системам, привело к революционному росту возможностей хранения, обработки и передачи информации, появилась возможность практического применения инновационных методов автоматизированной обработки информации, основанных на компьютерных нейронных сетях и машинном обучении – так называемого искусственного интеллекта [1, 2].
    В рекордно короткие сроки весь мир был охвачен интернетом и мобильными средствами коммуникации. Облачные решения снизили порог доступа к вычислительным мощностям, которыми ранее можно было воспользоваться только в учреждениях, оснащённых суперкомпьютерами [3]. Пандемия COVID-19 форсировала внедрение последних достижений ИКТ в науку, производство и повседневную жизнь [4, 5].
    Но вместе с потрясающими воображение перспективами цифровая трансформация повседневной жизни поставила перед обществом новые вопросы, которые ещё в 1981 г. прогнозировал академик 
А. П. Ершов:  «Тысячи профессий меняют своё лицо. Миллионы людей – операторов производства, наладчиков, машинисток, банковских служащих, продавцов-контролёров, библиотекарей, монтажников, секретарей, сборщиков на конвейере – садятся за полностью переоборудованные рабочие места, на которых ЭВМ становится их партнёром и собеседником. И даже если этот партнёр дружественен и надёжен, у работника должна произойти глубокая психологическая и квалификационная перестройка для того, чтобы сохранить свою целостность и достоинство в этой новой обстановке»1. В ответ на сокращение традиционных рабочих мест система образования должна формировать индивида, который будет способен к быстрой перестройке и адаптации к новым требованиям взаимодействия человека и машины [6, 7. С. 48]. 
На достижение необходимых результатов направлен компетентностный подход, закреплённый современными образовательными стандартами и обеспечивающий переход от знаниевой парадигмы образования к личностно-ориентированной [8]. В информационном обществе ключевую роль начинает играть информационно-технологическая компетенция – «способность решать задачи профессиональной деятельности на основе информационной и библиографической культуры с применением ИКТ и с учётом основных требований информационной безопасности» [9. С. 46].
1.2. Проблема информационного перенасыщения
    Решение учебной, производственной или научной проблемы начинается со сбора из различных источников сведений о том, что было сделано в данной области предшественниками [10. С. 61, 148–149]. Ещё 20 лет назад для того, чтобы ознакомиться с публикациями по определённой тематике, необходимо было провести долгое время в кропотливой работе с библиотечными каталогами, реферативными изданиями, многочисленными книгами и журналами. Сейчас ситуация радикально изменилась – очень многое доступно в сети Интернет [11. С. 6].
    По данным интернет-ресурса Dimensions. A Digital Science Solution2 ежегодное количество публикаций в мире за последние 40 лет выросло почти в восемь раз. А количество публикаций, посвящённых различным аспектам информационных технологий, удваивалось каждые 90 месяцев (рис. 1). Если ещё в 1990-х гг. информация распространялась преимущественно на бумажных носителях, то уже в 2012 г. 99% информации в мире было представлено в электронном виде [2].

Рис. 1. Относительное изменение годового количества публикаций 
в мире с 1985 по 2023 г.
    В сетевой среде документы и данные представлены в разнообразных форматах, границы между опубликованными и неопубликованными документами стираются, пользователи не только потребляют информацию, но и активно её создают, модифицируют, классифицируют [12]. Быстрота, с которой информация способна генерироваться и доставляться пользователю, простота доступа к ней вызывает у работников интеллектуального труда информационное перенасыщение [13].
1.3. Инструменты управления личными знаниями
    Качественное решение возникающих задач, обучение на личном опыте и продуцирование новых знаний теперь невозможно без организации процесса управления личными знаниями (PKM, Personal Knowledge Management), целью которого является обогащение индивидуальной базы знаний исследователя путём эффективной обработки и агрегирования новой информации [14]. Составной частью этого процесса является управление личной информацией (PIM, Personal Information Management), включающее повседневные действия по сбору, использованию и организации информации в её различных формах [15]. В частности, студентам, исследователям и научным работникам приходится обрабатывать множество литературных источников, которые надо оценить, классифицировать и упорядочить. Существенную помощь в организации этой работы оказывают специализированные программные продукты – библиографические менеджеры [16].
    Библиографические менеджеры, или менеджеры ссылок (bibliographic manager, reference manager) предназначены для сбора, хранения, обработки и последующего использования библиографических метаданных – названий, авторов, аннотаций и др. Они имеют встроенные средства для просмотра текстов, создания заметок, выделения ключевых фрагментов, комментирования материалов и формирования списков литературы. При наличии подключения к компьютерной сети может быть организован совместный доступ к данным с автоматической синхронизацией и проверкой достоверности ссылок [17]. 
На прошедшем 10 апреля 2024 г. в Институте физиологии НАН Беларуси семинаре «Библиографические менеджеры: организация персональной коллекции литературных источников и быстрое составление списка литературы к диссертациям, отчётам и статьям» было отмечено3, что библиографические менеджеры, автоматизируя рутинные задачи, значительно ускоряют и упрощают работу учёных и позволяют им сосредоточиться непосредственно на исследовании.
    На рынке представлены платные и бесплатные библиографические менеджеры, работающие как на настольных и мобильных устройствах пользователя под управлением различных операционных систем (например, Zotero, Mendeley, EndNote), так и сетевые веб-сервисы, 
не требующие установки (такие, как CiteULike, ResearchGate). Несмотря на широкие возможности существующих программных средств, некоторые пользователи отмечают связанные с их применением недостатки [12, 18]:
    сложность выбора – оценить удобство работы и функциональные возможности зачастую можно лишь после достаточно длительной эксплуатации;
    трудности перехода от выбранной программы к альтернативной –разработчики программ стремятся удержать пользователя, ограничивая возможности переноса накопленной им информации;
    сложность освоения из-за особенностей интерфейса и многообразия функций;
    неожиданные побочные эффекты, проявляющиеся, например, в переименовании файлов с информационными источниками и реорганизации структуры каталогов;
    не всегда правильная обработка информации на национальных языках;
    утрата части функциональности при отсутствии подключения к компьютерной сети.
1.4. Постановка задачи разработки 
персонального библиографического менеджера
    Поскольку узкоспециализированное решение зачастую лучше выполняет необходимые функции, чем универсальное, в некоторых случаях имеет смысл разработать собственный инструмент [18]. В статье описана реализация персональной информационной системы для каталогизации информационных источников.
    К разрабатываемой системе были выставлены следующие требования:
    1.  Автономность – обслуживание запросов пользователей вне зависимости от наличия подключения к компьютерной сети.
    2.  Простота – должна быть понятна неподготовленному пользователю.
    3.  Лёгкость – нетребовательна к вычислительным ресурсам.
    4.  Универсальность – должна позволять вести единообразный учёт различных информационных источников.
    5.  Функциональность – иметь механизмы для быстрого доступа к необходимым сведениям.
    6.  Переносимость – работать на широком спектре программно-аппаратных вычислительных платформ.
    7.  Открытость – накопленная в системе информация должна  свободно конвертироваться в формат других информационных систем.
2. Проектное решение
    В инженерных кругах используется понятие идеального технического объекта [19. С. 20]. Это объект, который в реальном мире не существует, но его функция тем не менее выполняется. При этом отсутствуют затраты на его приобретение, он не может сломаться и не требует ухода. 
    На современных компьютерах, планшетах и смартфонах кандидатом на роль «идеального» средства доступа к информации выступает веб-браузер. Он входит в стандартный набор программного обеспечения, в нём есть встроенные средства для просмотра текстов в различных форматах, воспроизведения звука и видео, а за вычисления отвечает модуль обработки сценариев JavaScript. Возможности веб-браузера во всей полноте раскрываются ноутбуком Chromebook4 с операционной системой Chrome OS, ориентированным на использование интернет-приложений Google.
    Архитектура типичного веб-приложения подразумевает наличие двух взаимодействующих частей – клиентской, выполняющейся в веб-браузере на компьютере пользователя, и серверной, которая работает на удалённом от пользователя сетевом сервере и взаимодействует с клиентской частью посредством сетевых запросов (рис. 2). На основе представленного на языке HTML описания структуры и содержимого документа в области оперативной памяти веб-браузера строится объектная модель документа DOM (document object model), начальные свойства элементов которой корректируются значениями из таблицы CSS-стилей. Объектная модель визуализируется в окне веб-браузера в виде страницы. Воздействия пользователя на элементы страницы передаются в виде сообщений JavaScript-функциям обработки событий, которые могут осуществлять информационный обмен с сервером и изменять свойства объектов DOM, что приводит к обновлению страницы. В современных одностраничных веб-приложениях (SPA, single page applications) обмен с сервером минимизируется, благодаря чему возрастает отзывчивость интерфейса [20. С. 30–36].
    Если от сервера отказаться совсем, то веб-приложение сможет работать в браузере на устройстве пользователя автономно. Надо только решить, откуда оно будет получать данные для своей работы. 
Файловый API веб-браузера предоставляет только два метода загрузки файлов в приложение: тег <input> и операцию перетаскивания 
[21. С. 347–349]. Оба эти метода создают неудобства для пользователя при повседневной работе. Поэтому было принято решение использовать возможность подключения сценариев JavaScript через указание пути к файлу в теге <script>, а библиографическую информацию хранить в текстовом файле в формате JSON.
    

Рис. 2. Принцип работы веб-приложения
    В начале распространения интернет-технологий веб-браузеры были плохо совместимы между собой, что не могло гарантировать единообразия работы веб-приложений на разных устройствах. Но, благодаря общим усилиям по стандартизации, большинство браузеров к концу 2013 г. достигли приемлемого уровня реализации стандартов HTML5 и CSS3 [22], а для решаемой задачи оказалось достаточно возможностей JavaScript 1.5 и DOM Level 2, описанных в [23].
    
3. Результат разработки
    Реализованная система (далее – Программа) представлена четырьмя файлами5:
    collection.html – основной текстовый файл, содержащий как описание интерфейса Программы на языках HTML и CSS, так и управляющую JavaScript-программу;
    collection.gif – графический файл с изображениями элементов управления и обложек для различных типов информационных источников;
    collection.js – текстовый файл, содержащий описание массива app.collection, который является для Программы основным источником данных, библиографических записей как наборов именованных значений – полей;
    collenotes.js – текстовый файл, содержащий описание массива app.collenotes, элементы которого дополняют и исправляют данные основного источника app.collection.
    Только первые три из перечисленных файлов необходимы для работы Программы. Использование дополнительного файла collenotes.js обусловлено сложностью ручного редактирования основного источника данных, о чём будет сказано отдельно в следующем разделе.
    Установка Программы заключается в извлечении папки/каталога Collection из дистрибутивного архива на устройство пользователя. 
При необходимости вместо Collection можно назначить другое имя, что позволит организовать несколько независимых коллекций. Прилагаемый к статье файл collection.js содержит 1 тыс. тестовых записей, сгенерированных случайным образом, чтобы пользователь мог сразу ознакомиться с работой Программы.
    После выбора файла collection.html в веб-браузере откроется страница, на которой библиографические записи отображаются в виде карточек (рис. 3а), содержащих изображения обложек и сведения об информационных источниках. Для увеличения плотности отображения информации можно переключиться в режим таблицы (рис. 3б). В обоих режимах имеются интерактивные элементы (ссылки), воздействие на которые левой кнопкой мыши приводит к открытию информационного ресурса для просмотра на отдельной вкладке.  


 
    В окне Программы размещены следующие интерфейсные элементы (рис. 4):
    1.  Кнопка переключения режимов отображения (карточки/таблица).
    2.  Область фильтрации по меткам-символам.
    3.  Область фильтрации по меткам-словам.
    4.  Область поиска, состоящая из строки поиска и кнопки поиска.
    5.  Кнопка формирования библиографического списка.
    6.  Области постраничной навигации, дублирующиеся в верхней и нижней частях окна.
    7.  Основная область отображения – карточек или таблицы.
    8.  Строка состояния.

Рис. 4. Интерфейсные элементы Программы
    Реализованные в Программе элементы управления позволяют эффективно сужать круг поиска необходимого источника информации с помощью фильтрации по меткам-словам и меткам-символам (рис. 5).  Если этого недостаточно, можно выполнить поиск по фразе, которая должна содержаться в названии или списке авторов. 
    


    
При нажатии на кнопку формирования библиографического списка в веб-браузере открывается дополнительная вкладка, на которую в алфавитном порядке выводятся ссылки на источники, которые остались на экране после применения фильтров. Каждая строка начинается порядковым номером библиографической ссылки, после которой в круглых скобках указан идентификатор соответствующей библиографической записи.
4. Обсуждение принятых решений
4.1. Добавление новых записей в источник данных
    Выбранный способ реализации Программы подразумевает внесение новых записей в текстовый файл collection.js, имеющий формат JSON, что может представлять сложность для ручного редактирования неподготовленным пользователем. Чтобы максимально упростить эту процедуру, были приняты следующие решения:
    в начале текстового файла размещён комментарий с описанием процедуры редактирования и шаблоном новой записи для копирования;
    добавлять новые записи предлагается не в конец, а в начало файла – для снижения вероятности повреждения ранее добавленных записей.
    Нарушение синтаксиса JSON-файла приводит к тому, что Программа перестаёт выполняться без каких бы то ни было сообщений. Поиск ошибки без использования средств отладки может представлять значительные трудности. 
    Записи лучше добавлять по одной, проверяя после каждой работоспособность Программы. Облегчить обнаружение проблем может использование текстового редактора с подсветкой синтаксиса, например того, который встроен в бесплатный кроссплатформенный файловый менеджер Double Commander6 и запускается из него клавишей F4.
4.2. Исправление записей в источнике данных
    Рекомендуемый способ добавления новых записей не в конец, а в начало файла приводит к тому, что новые элементы появляются в начале массива app.collection. Это нарушает естественную нумерацию всех имеющихся элементов этого массива, каждый раз увеличивая их порядковый номер на число добавленных элементов, и создаёт проблему автоматической идентификации записей. Для устранения этой проблемы в начале работы программы порядок элементов массива app.collection инвертируется, после чего записи последовательно нумеруются.
    Иногда требуется удалять записи из коллекции. Чтобы сохранить нумерацию и автоматически назначенные записям идентификаторы, 
в Программе была наделена специальным смыслом указываемая в поле marks метка-символ «–» (знак минус). Помеченные ею записи не используются Программой и переходят в разряд скрытых от пользователя, но за ними резервируется их номер.
    Чтобы снизить вероятность непреднамеренного повреждения информации в файле collection.js, реализована возможность внесения изменений и дополнений в существующие записи через вспомогательный файл collenotes.js. Для этого в него надо внести идентификатор исправляемой записи и заполнить только те поля, которые требуют исправления. Этот приём можно использовать для указания в поле ref желаемого вида библиографической ссылки или маркирования записей метками-словами в поле tags или метками-символами в поле marks, в том числе и для только что описанного способа исключения их из обработки.
4.3. Формирование библиографического списка
    Объекты библиографического учёта отличаются большим разнообразием [25]. Формирование библиографических ссылок на них в соответствии с требованиями ГОСТов потребовало бы большей степени детализации библиографических записей, что может привести к усложнению процесса заполнения источника данных. Кроме того, на практике большинство редакций научных журналов хотя и учитывают ГОСТы и иные регламентирующие документы, но для непосредственного исполнения авторами формируют свои собственные требования, которые отличаются от требований стандартов или дополняют их [24]. Поэтому универсальные библиографические менеджеры Mendeley, Zotero и Papers реализуют более 6 тыс. стилей оформления ссылок [17] и предоставляют возможность дополнительной настройки их пользователем [12].
    Учитывая данные обстоятельства, было принято решение реализовать в Программе формирование упорядоченного по алфавиту библиографического списка в формате, приближённом к требованиям актуальных ГОСТов, насколько это позволяет имеющаяся в библиографических записях информация. Для тех случаев, когда готовится публикация в конкретное издание, имеется возможность ручного внесения в поле ref библиографической ссылки в требуемом формате.
    При формировании библиографического списка используются записи, оставшиеся на экране после применения фильтров. В ходе работы над несколькими статьями можно назначать информационным источникам, которые используются в них, в поле marks уникальные метки-символы, например, цифры 1, 2, 3 и т. д. (одному источнику может быть назначено несколько меток-символов). Тогда сразу после запуска Программы можно одним щелчком мыши установить фильтр, а вторым – сформировать библиографический список, после чего перенести его в рабочий документ с помощью приёма «копирование – вставка».
4.4. Оформление внешнего представления
    При разработке Программы было выбрано оформление в оттенках серого, чтобы сосредоточиться на технических деталях и не отвлекаться на подбор сочетающихся цветов. На практике это привело к тому, что вкладка с библиографическим каталогом хорошо заметна среди остальных открытых вкладок в браузере. Тем не менее внешний вид Программы может быть радикально изменён путём корректировки стилей в заголовке файла collection.html, как это показано на рис. 6.
    В конце файла collection.js имеются строки, устанавливающие некоторые свойства интерфейса программы. Изменяя указанные в них значения, можно:
    настроить количество записей, отображаемых в режимах таблицы и карточек,
    задать название коллекции, которое будет отображаться на ярлыке вкладки веб-браузера.
4.5. Варианты использования
    Основная цель разработки Программы – каталогизация личных источников информации. Но анализ результата показал, что у неё есть дополнительный потенциал. На рис. 6 приведён пример оформления каталога школьных учебников. Для улучшения узнаваемости объектов хранения им были назначены рисунки обложек. В качестве меток-слов были использованы обозначения национальных языков (be – белорусский, ru – русский) и обозначения ступеней обучения (кл. 1 – первый класс, кл. 2 – второй класс и т. д.). Чтобы найти учебник по информатике для 7 класса на русском языке, достаточно установить фильтры ru и кл. 7, после чего произвести поиск по слову «ИНФО».
    


    
Другим вариантом использования Программы мог бы служить каталог организационно-распорядительных документов, где в качестве меток-слов используются годы издания документов, их виды (приказ, распоряжение, инструкция, правила, график и т. д.) и подразделения организации (бухгалтерия, ПТО, склад и т. д.). Выбранные для реализации программы веб-технологии позволяют легко интегрировать её в интранет-портал организации, для этого достаточно разместить файлы на веб-сервере. А для управления источником данных collection.js можно разработать серверную компоненту, которая будет экспортировать записи из системы электронного документооборота или предоставит удобный интерфейс для редактирования вручную ответственным сотрудником.
    Небольшая модификация Программы позволяет использовать её для работы с объектами произвольной природы. Потребуется лишь адаптировать функции отображения и поиска к использованию характерных для описываемых объектов полей. Можно представить оформленную с помощью Программы музыкальную коллекцию, где в качестве меток-слов использованы жанры произведений и годы выпуска альбомов. Если при каталогизации материальных объектов на производстве в качестве идентификаторов указывать их инвентарные номера, а в качестве меток-слов – места их размещения, то можно формировать списки для проведения инвентаризации.
5. Выводы
    Выбор клиентских веб-технологий для реализации персонального библиографического менеджера обеспечил выполнение поставленных перед разработкой требований.
    Автономность обеспечена отказом от использования в реализованной Программе серверной компоненты. Программа может работать прямо со сменного носителя (USB-накопителя или внешнего диска), подключённого к произвольному пользовательскому устройству, без выполнения процедуры установки.
    Простота достигнута благодаря применению в одностраничном интерфейсе элементов управления, которые хорошо знакомы пользователям по популярным интернет-сайтам.
    Лёгкость получена благодаря отказу от использования сторонних модулей и приложений, выбором простого формата источника данных и рациональных процедур их обработки, не создающих заметной нагрузки на процессор устройства.
    Универсальность обеспечена толерантностью Программы к данным, которые вносятся в поля записей информационного источника. Полнота заполнения сведений зависит только от потребностей пользователя. Если отказаться от автоматического формирования библиографического списка, то для ведения личной картотеки достаточно вносить названия источников, их авторов и пути к файлам с электронным представлением источников.
    Ключевыми элементами функциональности являются механизмы фильтрации на основе меток-слов и меток-символов, которые позволяют быстро сузить круг обрабатываемых записей, а использование строки поиска позволяет быстро найти конкретную запись.
    Переносимость обеспечена использованием веб-браузера, который присутствует в базовом оснащении персональных компьютеров и мобильных устройств. Сознательный контроль в ходе разработки над версиями используемых технологий привёл к тому, что Программа с одинаковым успехом может эксплуатироваться как на компьютерах под управлением современных операционных систем Windows или Linux, так и на планшетах, смартфонах или телевизионных приставках под управлением Android 4.1.
    Открытость обусловлена хранением данных в текстовом формате JSON, для которого существует множество средств как ручной, так и автоматизированной обработки.
    Благодаря применению стандартного набора технологий, состоящего из HTML, CSS и JavaScript, разработанная Программа может использоваться не только автономно на персональном компьютере пользователя, но и служить элементом интернет- или интранет-сайта. Небольшая адаптация Программы позволяет каталогизировать объекты произвольной природы с сохранением всей реализованной функциональности.
    Ограниченный набор средств, использованных для реализации Программы, подразумевает некоторые компромиссы. Наибольшую сложность в работе с Программой представляет ручная модификация данных в текстовом файле. Уменьшить неудобства этого процесса можно применением текстовых редакторов с подсветкой синтаксиса и эффективных приёмов редактирования. В некоторых случаях может оказаться целесообразной разработка специализированного средства для решения этой задачи.
