В ноябре 2019 года в Пермской краевой библиотеке им. Горького произведена миграция с DSpace на ELiS Пермской электронной библиотеки (ПЭБ) с переносом контента из DSpace.
Так было: http://arch.permculture.ru.
Так стало: https://e.gorkilib.ru.
Вопросам миграции посвящена данная статья.
Содержание
Мотивация[править]
DSpace – это программа создания институционального репозитория, которая в силу бесплатности часто применяется в качестве универсальной электронной библиотеки. Но разработчики DSpace создают эту программу прежде всего для хранения научных статей, причём уже опубликованных и размещённых в научных журналах. Т.е. DSpace – не электронная библиотека с основной задачей выдачи ресурсов, а долгосрочный архив, что отражается на его пользовательских характеристиках и ограничениях, которые не существенны для архива открытого доступа, но создают неудобства пользователям, когда DSpace пытаются использовать в качестве универсальной электронной библиотеки.
Возникла необходимость миграции на более совершенную электронную библиотеку и такой программой была выбрана ELiS.
В процессе миграции выявлены недостатки использования DSpace, что будет освещено в статье.
Процесс миграции[править]
В DSpace размещено 11011 документов, из которых 10793 – PDF и 218 – изображения, разбитые по иерархии коллекций.
Почти все документы находятся в открытом доступе.
Миграция метаданных[править]
Перед миграцией надо оценить её возможность на предмет совместимости форматов метаданных.
DSpace | ELiS |
---|---|
Метаданные представлены в виде строковых значений в Дублиновском ядре, причём в некоторых полях хранятся значения, имеющие локальный смысл с точки зрения библиотеки: кто является держателем оригинала, с которого оцифрована книга и шифр хранения в поле серии. В отсутствии автодополнения при вводе метаданных в текстовое поле, иногда происходит ввод разных строк для одних и тех же организаций, что в дальнейшем делает невозможным полностью автоматическую конвертацию метаданных из Дублиновского ядра в связанные данные. | Метаданные представлены как в виде литеральных значений в полях ресурсов (как в DSpace), так и в виде связанных сущностей (когда для каждой организации, персоны, места, события и других метаданных генерируются отдельные сущности и сущности связываются с ресурсами при помощи полей). При этом сущности оказываются относительно независимыми от ресурсов и структурированными. Связи (отношения) между сущностями хранятся в полях (например факт, что человек связан с книгой отношением авторства производится следующим образом: у сущности книги есть поле «автор» и в это поле проставляется ссылка (а не текстовая строка) на структурированную сущность типа «персона». |
Библиотекарям проще объяснить принцип построения метаданных в ELiS, если говорить, что в ELiS на персон всегда автоматически создаются «нормативные файлы» и тоже самое касается любых других сущностей.
В целом, перенос метаданных из DSpace в ELiS возможен в случае, если нет необходимости различать разные сущности, имеющие одинаковые имена (т.к. в DSpace эта информация о различии изначально не сохраняется).
При этом все ошибки в описаниях (когда одного и того же человека записали по-разному или организацию записали в одних документах с сокращённым названием, а в других полным) будут перенесены и в ELiS и для них будут порождены различные сущности, с точки зрения ELiS появление дублей сущностей является не желательным и может потребовать от библиотеки ручных правок в целях исправления ошибок, созданных при описании в DSpace.
Одной из причин ошибок в описании в DSpace является отсутствие автодополнения полей метаданных (в ELiS автодополнение присутствует), что существенно ухудшает качество описания.
В случае, если в DSpace находятся поля, которых нет в ELiS, их можно создать и данные всё равно перенести. Ключевой момент, что все возможные поля в DSpace и что в них может лежать надо знать заранее, чтобы составить правила переноса в ELiS.
Подводя итоги:
- автоматическая конвертация возможна, но отсутствие автодополнения в DSpace ухудшает качество метаданных, что потребует в дальнейшем от библиотеки ручных правок сущностей и связей в ELiS;
- владельцы DSpace должны хорошо помнить структуру своих метаданных, уделяя особое внимание созданию собственных полей или хранении важной информации в полях Dublin Core не по прямому назначению.
Пользовательские копии[править]
В ELiS не используется создание уменьшенных пользовательских копий т.к. уменьшение размера изображений оцифрованных книг происходит прозрачно и автоматически, из DSpace т.о. импортировались только мастер-копии.
Здесь может возникнуть проблема, когда в DSpace хранится одновременно несколько файлов с одним описанием т.к. надо чтобы был простой способ автоматического извлечения информации какой из файлов является мастер-копией (в данном случае это было возможно).
Механизм миграции[править]
В DSpace есть встроенный механизм экспорта коллекций и OAI-PMH-провайдер.
Экспорт коллекций предполагал ручную работу и им решили не пользоваться в виду большого количества коллекций. Нужен был полностью автоматических процесс.
Его может обеспечить OAI-PMH, позволяющий выгрузить и файлы и метаданные в Дублиновском ядре с сохранением иерархии коллекций, но к моменту миграции OAI-PMH в DSpace после одного из обновлений был сломан и за разумное время восстановить его не удалось.
Возможно есть какие-то ещё механизмы экспорта всего архива целиком, но в итоге быстрее показалось написать робота для обхода веб-интерфейса DSpace, парсинга веб-страниц с извлечением метаданных и импортом документов.
Возможность такого обхода появляется из того, что DSpace может выводить все файлы списком с пейджером: http://arch.permculture.ru/browse?rpp=20&sort_by=1&type=title&offset=60&etal=-1&order=ASC и можно просто двигаться по страницам пейджера и собрать ссылки на все документы. Метаданные в Дублиновском ядре на каждый документ можно получить распарсив соответствующую страницу (пример: http://arch.permculture.ru/handle/permculture/1115?show=full).
Парсинг страницы – наиболее трудоёмкая задача в данном случае, т.к. надо знать какие поля в Дублиновском ядре в принципе встречаются и переложить их метаданные на структуру описания в ELiS.
По иерархии коллекций было решено, что проще их упорядочить вручную, чем писать парсер.
В результате был написан скрипт миграции на PHP, который в три прохода за 3 суток импортировал все 11 тыс. документов.
Проблемы[править]
Способ парсинга и скачивания через веб-интерфейс не пригоден, когда много документов в DSpace в ограниченном доступе, т.к. DSpace не даст скачать файлы через веб-интерфейс.
Как описано выше, выяснилось, что одни и те-же авторы и организации имеют разное описание в DSpace, в результате в ELiS порождены дубли сущностей, которые в дальнейшем надо устранять библиотекарям. И это не только ошибки библиотекарей при вводе метаданных, но прежде всего недостаток интерфейса ввода DSpace, в котором нет автодополнения ввода метаданных. Многих проблем с дубликатами удалось бы избежать, если бы автодополнение в DSpace было.
Связывание ресурсов в ELiS и DSpace[править]
Пока решено оставить действующими и сайт DSpace и ELiS как с точки зрения сохранения ссылочной массы, так и потому, что если какие-то метаданные не перенеслись из DSpace и это выяснится при просмотре документа в ELiS, была возможность перейти в DSpace и посмотреть как документ описан там.
Для этого в ELiS оставлены как гиперссылки на DSpace, так и в поле идентификатора проставлен URI документа в DSpace и его URL. В ELiS по идентификатору можно перейти на сам документ, т.о. зная URI документа в DSpace можно автоматически открыть его в ELiS.
Пример для документа: http://arch.permculture.ru/handle/permculture/3601
URI в DSpace: «/handle/permculture/3601»
В ELiS документ будет найден по ссылке: https://e.gorkilib.ru/ident//handle/permculture/3601
Если возникает необходимость перенаправить из DSpace в ELiS, для этого можно в JSP –страницу DSpace вставить JavaScript код:location.href = "https://e.gorkilib.ru/ident/" + location.href;
Преимущества от миграции[править]
- перевод метаданных на сущности и связанные данные;
- улучшенный интерфейс;
- улучшенный плеер PDF с полнотекстовым поиском и переходом из поиска на конкретные страницы;
- мобильный интерфейс, мобильные приложения;
- DRM-защита, возможность предоставить доступ только на чтение в стенах библиотеки;
- работа с EPUB и с видео;
- возможность предоставления библиохостинга для других библиотек и организаций;
- генерация подсайтов.
Выводы[править]
Миграция прошла успешно в автоматическом режиме. Возникшие проблемы с метаданными связаны прежде всего с недостатками самого DSpace. В связи с этими недостатками я не рекомендую использовать DSpace в случае большого числа хранящихся документов и хранении метаданных только в DSpace т.к. при переходе на связанные данные это приведёт к необходимости ручном работы устранения дублей. И эта проблема будет актуальна не только для ELiS, а и для других систем, работающих на связанных данных.