home

Drupal Biblio

Продолжаем обзор электронных библиотек. Ранее рассматривался Drupal SOPAC, теперь рассмотрим вариант создания библиотеке на Drupal при помощи модуля Biblio.

Боевая демонстрация работы Biblio: http://liiscience.org/biblio.

biblio_liiscience.png

O Biblio[править]

Biblio - модуль к популярной CMS Drupal, написан на php, позволяет импортировать или создавать на основе библиографической информации страницы сайта. Обеспечивает поиск по полям библиографического описания и ряд других возможностей. Главное отличие от рассмотренного ранее SOPAC - использование для хранения библиографического описания стандартных полей Drupal, за счет чего всякий специалист Drupal (а это третья по популярности CMS среди Joomla и Wordpress) сможет легко разобраться в системе и порог вхождения для начала успешного программирования для специалистов в Drupal оказывается достаточно низким.

На русском языке уже есть описание Biblio, но за это время появилась новая версия Biblio и я бы хотел заострить внимание на те моменты, которые не затронуты в статье Леонова Ю.В. и Федотова А.М. Однако я не буду делать обзора Drupal, который есть в статье, т.к. большое число обзоров Drupal можно найти в рунете.

Модули для библиотеки на Biblio[править]

Вначале надо установить Drupal7. Инструкций полно, все проходит без проблем.

Biblio[править]

На http://drupal.org/project/biblio лежит старая версия модуля 2.x, последнюю версию 3.х надо ставить с github. Пути я указываю относительно корневой папки установленного Drupal.

Клонирование модуля с github:

cd sites/all/modules/
git clone https://github.com/Gizra/biblio.git

Biblio - базовый модуль, обеспечивает функционирование библиографического ядра системы и содержит модули импорта записей из BibTeX и EndNode. Кстати, более древний модуль 2.х поддерживает в 10 раз больше форматов импорта данных.

Views OAI-PMH[править]

Для друпалистов важно отметить, что Biblio3 создает только стандартные поля с бибописанием, ноды (страницы) он не создает! Но ЭБ должна показывать бибописание на сайте, а не только хранить. Отображение выполняется модулем Views OAI-PMH.

Здесь пару слов надо сказать об модуле Drupal Views. Часто есть статьи с полями автора, даты публикации, тегами, хранящимися в некоторой иерархии навигации. И вдруг возникает задача вывести модули определенного автора, опубликованные за определенное время и помеченные, например, тегом "новости". Обычно для этого садится программист и делает нужные запросы в базу данных и пишет представление данных в виде страницы.

Проблема в том, что нужен программист на каждый, казалось, банальных чих, изначально не предусмотренный модулем. В Drupal эту проблему решили написанием огромного и сложного фреймворка Views, который позволяет формировать вывод в виде страниц сайта различных материалов с фильтрацией по существующим полям. И все это можно настроить буквально "натыкав" кнопки в модуле Views. Еще одним плюсом является возможность визуальной генерации поисковых форм.

views_biblio_filter.png

Применительно к модулю Biblio, то раз все библиографические поля являются полями Drupal, то при помощи Views по этим библиографическим полям можно самостоятельно создавать собственные страницы сайта с собственными правилами. Например, можно "накликать" страницу из библ. записей в которой есть заданные ключевые слова определенного автора за определенные годы. Или сделать страницу определенного издательства и т.п. Главная сила Views - для фильтрации не нужны программисты при этом сохраняется.

views_biblio_language_filter.png

Итак, после установки Views и Views OAI-PMH надо зайти в управление представлениями Views admin/structure/views и активировать представление biblio.

views_biblio.PNG

С этого момента все импортированные записи становятся доступными на вашем сайте по адресу biblio (http://example.com/biblio).

Модуль при этом опубликует записи в Dublic Core для харвестеров.

Кроме представления Biblio, модулем будут предоставлены представления Archive, Biblio contributor, Biblio Issued, Biblio OAI-PMH, Biblio summary (группировка по первому символу).

Импорт данных[править]

Записи можно импортировать вставкой BibTeX текста. В 3.х импортировать можно пока только из BibTeX и EndNote. Biblio 2.x поддерживает заметно больше форматов.

import_bibtex.PNG

Ручное занесение данных[править]

Как известно, поля газетных записей и монографий разные. Biblio имеет встроенные шаблоны для большого числа типов записей. Можно создавать собственные шаблоны. Изначально есть шаблоны Artwork, Audiovisial, Bill, Book, BookChapter, Broadcast, Case, Chart, Classical, Conference Paper, Conference Proceedings, Database, Film, Government Report, Hearing, Journal, Journal Article, Legal Ruling, Magazine Article, Manuscript, Map, Miscellaneous, Miscellaneous Section, Newspaper Article, Paten, Personal, Presentation, Report, Software, Statute, Thesis, Unpublished, Website, Web Article, Web project page, Web service.

Пример некоторых (не всех) полей для шаблона книги

add_biblio_book.PNG

Как видно, шаблон предполагает возможность загрузки файла PDF. Используется встроенное в Drupal поле файлов. Это означает возможность применения стандартной политики защиты файлов: когда авторизованные пользователи видят особую ссылку и по этой ссылке они (и все кто ее знает) могут скачать файл. Можно, конечно, и не защищать файл. Но эта настройка для конкретного поля глобальная. Либо защищаем все файлы PDF, либо нет.

В качестве примера я создал поле Protected files и вывел рядом с полем незащищенного файла:

add_protected_file_field.PNG


В качестве одного из стандартных полей есть и обложка книги.

Пример вывода с обложкой:

biblio_book_output.PNG

Автодополнение[править]

Модуль Biblio Autocomplete позволяет добавить сервис автозаполнения полей к собственным провайдерам данных (надо их еще запрограммировать) и к базам IPNI и ZooBank. C веткой biblio 3.x, похоже, он не совместим.

Biblio Scholar[править]

Модуль Biblio Scholar добавляет мета-тега автора, ссылки на PDF-файл. Так как Biblio 3.x ушел от использования нод в качестве библиографической информации и все хранит в полях, пользы от этого модуля если только в качестве примера для написания своего. Или использовать Biblio 2.x.

Biblio Altmetric[править]

Biblio Altmetric позволяет встраивать виджет Altmetric для книг по их DOI.

FirefoxScreenSnapz004.png

Локалицазия[править]

Модуль частично переведен на некоторые языки. На русский для версии 2.х переведено 27%. В Drupal имеется встроенная система локализации. Если вы смотрите код и видите функцию t("Некоторая строка"), то можете создать файл и локализовать эту строку на любой язык без правки кода.

Поддержка типов файлов[править]

В самом Biblio определена только поддержка PDF. Однако, т.к. все это работает на штатных полях Drupal, добавление поддержки любых других файлов не составляет никакого труда путем добавления поля типа File. Другое дело, что файлы надо не только прикрепить, но и отобразить в каком-нибудь плеере. Для этого уже придется программировать вывод полей или искать модули темизации вывода полей Drupal.

Поиск[править]

Определенный поиск можно соорудить визуально из Views и возможность фильтрации по полям есть в самом Biblio. Основной проблемой при этом является отсутствие поиска по прикрепленный файлам. Да и поиск сделанных при помощи Views хоть и творится одной мышью, выглядит достаточно неинтуитивным для пользователей и искать будет без учета морфологии.

Есть заброшенный Apache Solr Biblio с реализаций фасетного поиска по полям и нодам. Его я не смотрел, так что дополнительно ничего не расскажу. Заявлять что он будет работать для ветки 3.x не буду.

Техническая поддержка[править]

Судя по баг-трекеру, работа над модулем идет как над 2.x так и на гитхабе. Однако на гитхабе последний коммит был 8 месяцев назад.

Часть модулей для Biblio прекратило свое развитие.

Прекратил развитие Biblio Facets, позволявший производить фасетный поиск без Apache Solr за счет встроенного поиска в Drupal. Причина - низкая производительность на большом числе материалов.

Уже год как не выходит из статуса разработки модуль Biblio Zotero для известного плагина (модули не вышедшие из режима разработки ставить можно, но надо быть готовым к проблемам).

Поддержка мобильных устройств[править]

Biblio не имеет каких-либо мобильных приложений. То как сайт будет выглядеть на мобильных устройствах определяется шаблоном Drupal. Под Drupal полно адаптивных шаблонов.

Выводы[править]

Инфраструктуру проекта Biblio нельзя назвать готовым решением для электронной библиотеки (ЭБ). Скорее это каркас для работы с библиографическими данными, предоставляющий готовые шаблоны и умеющий импортировать бибописание. Но чтобы превратить его в удобную для пользователей библиотеку его еще надо будет причесать. Если сравнивать с Drupal SOPAC, то подход Biblio мне представляется более взвешенным, т.к. он опирается на большое число Drupal-программистов, которые смогут адаптировать модуль под задачи конкретного сайта и правильно его темизировать.

Существенным недостатком считаю ориентацию в целом на библиографию, а не на электронную библиотеку. Самых разных каталогов полно и острой нужды в еще одном на php я лично не ощущаю. А вот в хорошей универсальной библиотеке нужда все-таки есть и Biblio может помочь самим создать (запрограммировать) такую библиотеку.

Какой я вижу при этом библиотеку? Это книги, статьи, видео, аудио и т.п. документы в виде отдельных нод (веб-страниц) Drupal-а. Бибописание можно составлять уже с помощью Biblio и прикреплять к странице электронного ресурса.

Иными словами, если у вас есть программисты или желание заказать разработку, Biblio поможет вам решить большую часть проблем с библиографией.

Но:

1) Если вы хотите сделать академическую электронную библиотеку с научными статьями, то лучше обратиться к Dspace-подобным системам.

2) Если вы хотите бесплатную универсальную библиотеку которую можно установить и использовать, то Biblio вам не подойдет.

P.S. В виду затишья в развитии Biblio 3.x, возможно стоит обратить внимание на Biblio 2.x. По Biblio 2.x есть статья.