Автоматическое заимствование аналитических записей в АБИС ИРБИС Возможная предварительная работа - получение из ИС МАРС списка кодов журналов, на которые подписана библиотека. В ближайшее время на сайте МАРС должна появиться кнопка, по которой такой список может получить каждый желающий. Список - текстовый файл с перечислением кодов. Такой список можно получить на каждый подписной период. Вторая подготовительная часть - получение описаний журналов (верхний уровень) и кодов. Эту информацию также можно получить из ИС МАРС (однократная выгрузка). В феврале (2009г) мы постараемся договориться о том, чтобы эту информацию тоже можно было бы получить. Есть две основные технологии работы библиотек-участниц: - А - библиотека формирует в локальном варианте полную сводную базу и в ней делает служебную отметку о том, выписывает ли она тот или иной журнал. - Б - библиотека работает с двумя базами. Одна - на выписываемые журналы, другая - на остальные журналы. Подготовительный этап 1. По полученным из ИС МАРС сформировать ядро записей первого уровня. 2. Настроить почтовый клиент на автоматическую запись приходящих с адреса [email protected] файлов. - 1А - все файлы складываются в фиксированную папку - 1Б - файлы делятся на "свои" и "чужие" в зависимости от того, выписывает библиотека тот или иной журнал, или нет. В теме письма указан код журнала, деление идет путем сопоставления кода и списка кодов расписываемых журналов. СГУ работает по 1А. Для 1Б, скорее всего, надо будет один раз внести таблицу в почтовый клиент руками. 3. Средствами сервера локальной сети обеспечивается разархивирование сложенных в определенную папку файлов и их объединение в один файл с фиксированным именем. 4. Командой АБИС (пакетное задание) обеспечивается импорт файла (вариант 1А) или файлов (1Б) в базу/базы и актуализация (индексирование) с записью протокола во внешний файл. У нас в ИРБИСе на эти операции при нынешнем входном потоке, объеме сводной базы около 900 тыс. записей и довольно слабеньком сервере уходит около часа, с 2 до 3 ночи, когда точно нет текущих поступлений. Все идет через пакетные задания (предварительно все поступившие файлы разархивированы). bat-файл: copy d:\_0\*.iso /B d:\_00\1111.iso del /Q d:\_0\*.iso d:\irbis-demo-7-2\irbis64\irbisa.exe irbisa_m.ini - запускается АРМ Администратор с соответствующим ini-файлом del /Q d:\_00\1111.iso В ini-файле есть ссылка на файл с пакетным заданием. Само пакетное задание выглядит примерно так: OpenDB MARS - открыть базу ImportDB 0,marc_irb,0,1,d:\_00\1111.iso - импортировать записи, находящиеся Windows, без в файле 1111.iso, в формально-логического формате контроля RUSMARC, с кодировке использованием конвертора marc_irb ActualIf - актуализировать БД CloseDB - закрыть БД Exit d:\_00\protocol1.txt - записаь протокол в указанный файл Сам импорт возможен в двух режимах. 1. Когда участник работает только с записями 3-го уровня ("плоская" база). В этом случае все просто. Импорт, проверка на дублетность по правилам ИРБИС "на лету". Удаление дублетов. В этом пока загвоздка, т.к. стандартно удаляется новое дублетное поступление, но по технологии МАРСа могут поступать исправленные записи, тогда удалить надо как раз старые дублеты. Дублетов не так много и проблема пока решается вручную. В протоколе отображаются такие дублеты, они удалены логически. Логически удаленные записи восстанавливаются, а соответствующие им "предшественники" удаляются. Другой вариант работы с дублетами - грузить все. И периодически запускать задание, которые ищет дублеты и удаляет дублетные записи, физически записанные ранее. 2. Если участник работает с трехуровневыми записями. То при очередной записи 3-го уровня проверяется наличие соответствующих записей 1-го и 2-го уровней. Минимально необходимая для записей 1-го и 2го уровня информация есть и в записи третьего уровня. Например, анализируем запись alma08_no8_ss1 (журнал Альма-матер, № 8 за 2008 год). Ищется запись первого уровня с кодом (поле 001, alma). Если такой записи нет, то она создается. Заглавие журнала и ISSN есть в записи 3го уровня. Далее ищется запись второго уровня (001 - alma08_no8). Если ее нет, то она создается. И далее загружается запись третьего уровня. Связь этих записей в ИРБИСе устанавливается автоматически, по коду в поле "Шифр". 1-й уровень - alma 2-й уровень - alma/2008/8 (уровень описания - журнал) 3-й уровень - alma/2008/8 (уровень описания - статья) При импорте по варианту А (полная сводная база) мы еще сравниваем код журнала с таблицей выписываемых журналов и ставим в одно из 900-х полей 1 или 0 в зависимости от того, выписываем ли мы этот журнал. В формате показа это поле анализируется. Если стоит 1, то выводится надпись "Журнал имеется в библиотеке", если 0 - "Статья можно заказать по МБА, к. 202".