УТИЛИТЫ ОБСЛУЖИВАНИЯ СИСТЕМЫ
В системе предусмотрены две специальные утилиты, с помощью которых можно осуществить последовательное применение хук-обработчика к элементам массива записей, например с целью аналитики или корректировки. Это baseeditor и marceditor.
Настройка системы хуков выполняется с помощью аргументов командной строки:
с помощью ключа «--handler» можно указать имя файла обработчика хука, а с помощью одного из позиционных аргументов — имя команды, которую требуется выполнить.
В случае, если ключ «--handler» отсутствует, то применяется механизм автоматического определения обработчика, определённый для серверов, где вместо шаблона имени файла используется указанная пользователем команда.
Пример 1. baseeditor 18 check.myHandler
Будет предпринят поиск в настроечном файле «$OPACDIR/conf/hook/hook.ini» хук-обработчика для расширения «myHandler», и в него при запуске будет передана команда «check.myHandler».
Пример 2. baseeditor 18 list --handler myHookHandler.dll
Будет загружен хук-обработчик из библиотеки «myHookHandler.dll», и в него, при запуске, будет передана команда «list».
Подробнее о механизме работы хуков см. Руководство по работе с системой OPAC-Global, главу 2 "Администрирование и настройка системы", раздел 4 "Настройки", подраздел 2.4.4. "Механихм хуков в АИБС OPAC-Global".
Подробнее об утилитах см. ниже в этом разделе.
Вызывается из командной строки.
Предназначена для последовательного перебора всех записей в заданной логической БД и применения к ним хук-обработчика. Утилита позволяет модифицировать и удалять записи. Добавлять записи в базу данных с помощью утилиты baseeditor нельзя.
Формат вызова
baseeditor [options] iddb-number hook-command |
|
iddb-number |
Номер логической базы данных |
hook-command |
Имя хук-команды |
Ключи
-h [--help] |
Вызов помощи |
-r [-- handler] arg |
Имя библиотеки-обработчика скриптов |
--read-only |
Переводит приложение в режим "только для чтения": все алгоритмы работают, но сохранения значений в БД не проводится. Можно использовать для тестирования |
--limit-changes |
Ограничение по числу измененных записей. Когда количество измененных записей превысит порог, заданный этим аргументом (включительно), обработка остановится |
--noindex |
Отключение индексирования: содержимое записи изменяется, но обновление индексов не производится. Может быть полезно при модификации больших массивов данных с последующим отдельным индексированием либо при внесении таких изменений, которые не требуют индексирования, либо затрагивают малое количество индексов, которые можно потом переиндексировать выборочно вручную |
Результат
В результате ожидается одно необязательное значение типа MarcRecord.
1. Если в результате получена заполненная запись — она сохраняется в БД, заменяя текущую MARC запись.
2. Если в результате получена пустая запись — текущая запись удаляется из БД.
3. Если результат пустой — ничего не происходит.
Поток вывода
Поток вывода обработчика (если он есть) должен быть перенаправлен в файл с именем:
iddbNr + «.edt». Этот файл может быть использован для различной аналитики.
Пример использования
Произвести корректировку каталога. Проставить всем записям уровень готовности записи – ретроконверсия.
Для этого следует:
Содержимое файла:
// прочесть аргумент "record" типа Record
var rec = opacGlobal.arg.get("record");
var markers = rec.filter("000");
// Есть ли хоть один маркер
if(markers.size()>0)
{
// прочесть содержимое маркера (это копия строки)
var content=markers[0].content;
// проверить, чтобы не пришлось перезаписывать неизменившиеся записи
if(content[17]!='1')
{
// заменить символ на позиции 17.
// просто заменить не получится - это связано с особенностями представления строк в JS
content=content.slice(0,17)+'1'+content.slice(18);
// обновить значение
markers[0].content=content;
// вернуть результат в систему.
// если вернуть пустую запись, то текущая запись удалится из системы
// если не вернуть ничего - текущая запись останется без изменений
//имя возвращаемого значения не важно
opacGlobal.res.push("rec",rec);
}
}
baseeditor.exe 5 change_level.js
где:
«baseeditor.exe» - название утилиты, которая применяет скрипт к записям, находящийся в базе данных.
«5» - номер базы данных в которой требуется изменить записи.
«change_level.mbas» - название файла, содержащего скрипт, написанный на маркбейсике.
Вызывается из командной строки.
Предназначена для последовательного чтения MARC записей из файла с последующим применением к ним указанного хук-обработчика. Возможности по модификации файлов ограничиваются только возможностями хук-обработчика.
Формат вызова
marceditor [options] hook-command input-file-name |
|
hook-command |
Имя хук-команды |
input-file-name |
Имя входного файла |
Ключи
-h [--help] |
Вызов помощи |
-s [--scan] |
Выполнить предварительный подсчет записей |
-r [--handler] arg |
Имя библиотеки-обработчика скриптов |
--input-type arg (ISO=2709) |
Тип входного файла (ISO 2709, MARCXML, text) |
--output-type arg (ISO=2709) |
Тип выходного файла (ISO 2709, MARCXML, text) |
-e [-- encoding] |
Кодировка по умолчанию для файлов. По умолчанию установлено значение «utf8» |
-i [--input-encoding] arg |
Кодировка входного файла |
-o [--output-encoding] arg |
Кодировка выходного файла |
--callback arg <THROW> |
Режим ошибок (callback) по умолчанию для входной и выходной кодировок |
--input-callback arg <THROW> |
Режим ошибок (callback) для входной кодировки |
--output-callback arg <THROW> |
Режим ошибок (callback) для выходной кодировки |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Результат
Никакого результата не ожидается.
Поток вывода
Поток вывода обработчика (если он есть) должен быть перенаправлен в файл с именем:
input_file + «.edt» (например: «test.iso.edt»).
Пример использования
Произвести корректировку каталога находящегося в iso файле. Проставить всем записям уровень готовности записи – ретроконверсия.
Содержимое файла:
// прочесть аргумент "record" типа Record
var rec = opacGlobal.arg.get("record");
var markers = rec.filter("000");
// Есть ли хоть один маркер
if(markers.size()>0)
{
// прочесть содержимое маркера (это копия строки)
var content=markers[0].content;
// проверить, чтобы не пришлось перезаписывать неизменившиеся записи
if(content[17]!='1')
{
// заменить символ на позиции 17.
// Просто заменить не получится - это связано с особенностями представления строк в JS
content=content.slice(0,17)+'1'+content.slice(18);
// обновить значение
markers[0].content=content;
// Просто напечатать результат в выходной файл
print(rec.toIso2709());
}
}
marceditor.exe change_level.js 007.iso
где:
«marceditor.exe» - название утилиты, которая применяет скрипт к записям, находящийся в iso файле.
«change_level.js» - название файла, содержащий скрипт, написанный на маркбейсике.
«007.iso» - имя файла хранящий записи.
Примечание: поддерживаются типы файлов: .txt, .iso, .mrc, .xml
Назначение
Программа используется для построения библиографических указателей по настройкам, заданным пользователями для указанной логической базы данных.
Описание
Данная программа вызывается только в режиме командной строки и в качестве аргументов требует указания номера логической базы данных, записи которой используются для построения библиографического указателя, ключа и имени файла настроек указателя, в котором описаны правила построения.
Конфигурационный файл указателя должен иметь кодировку «utf8». Если конфигурационный файл загружается в кодировке windows1251 или cp1251, то необходимо указать эту кодировку в ключе -i. Тогда конфигурационный файл будет конвертирован в utf-8 автоматически.
Более подробно о настройках указателя смотрите в Руководстве по работе с системой OPAC-Global, в главе 2 "Администрирование и настройка системы", разделе "Настройки", подразделе "Настройки BibIndex").
При выводе статей указателя используется системный алгоритм построения БК, который использует настройки системы. Если, по условиям вывода указателя, Вам требуется изменить этот алгоритм, но в тоже время сохранить настройки системы неизменными, можно воспользоваться необязательными аргументами -b и -f, которые задают пути к альтернативным файлам настройки библиографической карточки (более подробно о настройках библиографической карточки смотрите в Руководстве по работе с системой OPAC-Global, в главе 2 "Администрирование и настройка системы", разделе "Утилиты обслуживания системы", подразделе "Настройки BibCard"). Если какой либо из этих аргументов опущен, вместо него берутся системные настройки.
Эти аргументы могут следовать в любом порядке и в любом месте строки.
Формат вызова
bibindex [options] iddb filename.cfg |
|
iddb |
Номер логической базы данных |
filename.cfg |
Имя конфигурационного файла указателя |
Ключи
-h [--help] |
Вызов помощи |
-b [--bibcard]arg <bibcard.ini> |
Настройки построения карточки |
-f [--bibformat] arg <bibformat.xml> |
Настройки форматирования карточки |
- i [--input-encoding] arg (=utf8) |
Кодировка конфигурационного файла указателя. По умолчанию установлено значение «utf8» |
--input-callback arg <THROW> |
Режим ошибок (callback) для кодировки настроек |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).).
Результат
В результате выполнения программы генерируется файл библиографического указателя с именем и типом, заданным в настройке.
Коды завершения
Код |
Значение |
---|---|
0 |
Успешное завершение |
1 |
Ошибка указания аргументов программы |
2 |
Ошибка чтения настроек системы |
3 |
Ошибка чтения настроек указателя |
4 |
Ошибка работы с БД |
5 |
Ошибка построения указателя |
6 |
В процессе построения указателя произошли ошибки вывода |
Требуется обратить внимание на полученный документ.
Пример использования
Построить на основе загруженных записей в базу данных библиографический указатель «Русские писатели».
Для этого следует:
Содержимое файла:
index "Русские писатели."
(
behavior:variant=multi
;once
;output:onlyStructure=yes
output:fileName=index.xml
output:fileType=xml
output:xsl=index_table.xsl
filter=Rus_write
index year
(
sort=authorSort
sort=titleSort
)
addIndex "Указатель имен."
(
entry=author:%d
)
)
; Ограничение по автору
filter Rus_write
(
:610($a[/0]):if(up(%1)=="РУССКИЕ ПИСАТЕЛИ") "true" fi;
)
; Используется для группировки по годам
text year
(
:100($a[/0])[/0]:if (up(pos(%1,8,1))=="J") pos(%1,9,8) else pos(%1,9,4) fi;
)
; Регистронезависимая сортировка
text authorSort
(
:700?1($a[/0])[/0]:up(%1);
(|):200($a[/0])[/0]:up(%1);
)
text titleSort
(
:200($a[/0])[/0]:up(%1);
)
; Данные вспомогательных указателей
text author
(
:{700,701,702,790,464$1700}($a[/0],$g[0-],$c[0-],$f[0-],$b[0-]):%1+if(!empty(%2))ipx(", ",%2) else ipx(" ",%5) fi+ipx(" (",iser(%3|%4,"; "),")");
)
bibindex.exe 2 index.cfg
где:
«bibindex.exe» - название утилиты, которая строит библиографический указатель.
«2» - номер базы данных по которой требуется построить указатель.
«index.cfg» - название файла, содержащий алгоритм построения указателя.
Примечание:
Если дополнительно указать параметры -b <bibcard.ini> и -f <bibformat.xml>, мы можем поменять схемы построения библиографических описание, из которых состоит указатель. По умолчанию данные берутся из …\opac-global\cong\bibcard
Программа используется для определения дублетных (идентичных) записей в системе и вывода их в текстовые файлы.
Для определения идентичности записей используются различные данные, извлекаемые из MARC-полей и подполей записи и нормализованные (приведённые) к определённому виду.
В качестве критериев идентичности выступают:
Совокупность критериев идентичности называется блоком (block).
В случае совпадения данных из этого списка у нескольких записей они объявляются дублетами (duplex), и о них сообщается пользователю.
Программа позволяет находить дублетные записи как внутри логических баз данных (интрабазовые), так и дублетные записи в разных базах данных (интербазовые).
Формат вызова
dubletid [options] iddb [iddb…] |
|
iddb |
Номер логической базы данных |
Ключи
-h [--help] |
Вызов помощи |
--nolog |
Не выводить список дублетов внутри одной базы |
--nocrosslog |
Не выводить список дублетов между разными базами |
-o [ --iso-encoding ] arg <utf-8> |
Кодировка для ISO 2709 MARC-записей. По умолчанию установлено значение «utf8» |
--iso-callback arg <THROW> |
Режим ошибок (callback) для кодирования ISO 2709 |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Коды завершения
Код |
Значение |
0 |
Успешное завершение |
1 |
Ошибка указания аргументов программы |
2 |
Ошибка чтения настроек системы |
3 |
Ошибка чтения настроек указателя |
4 |
Ошибка работы с БД |
5 |
Ошибка построения указателя |
Результат
В результирующем текстовом файле формируются строки, в которых до пользователя
доводится следующая информация:
Total record: - общее количество записей в базе данных.
Total duplex: - количество найденных дублетов.
Total blox: - количество уникальных блоков.
Кроме того будет сформирован файл duplex.iso – в нем содержатся сами дублеты в iso2709 в формате RUSMARC.
Пример использования
Определить дублетность записей в базе данных:
dubletid.exe 2
В этом случае будет проведена проверка на наличе дублетных записей в базе с номером 2. Можно через пробел указать несколько баз. В таком случае проверка будет вестись по нескольким базам.
Утилита служит для просмотра MARC-записей из входного файла, указанного в аргументе input-file.
Вывод происходит в стандартный поток вывода (stdout), который можно перенаправлять в файлы, используя оператор командной строки ">".
Например, marcviewer test.iso > view.txt.
В качестве входных файлов утилита принимает файлы в формате ISO2709, MARCXML и текстовом.
Если тип файла неясен из расширения, то его необходимо указать принудительно, используя опцию --input-type.
По умолчанию записи отображаются в простом текстовом представлении формата RUSMARC, но можно указать выходную форму для отображения записей через опцию --outform FORMAT:TYPE:OUTFORM_NAME (например --outform RISMARC:BIBL:FULLFORM).
Формат вызова
marcviewer [options] input-file |
|
input-file |
Имя файла, содержащего MARC-записи |
Ключи
-h [--help] |
Вызов помощи |
--noscan |
Без предварительного подсчета записей |
-х [--outform] arg |
Выходная форма. По умолчанию вывод записей производится в текстовом виде |
-e [--encoding] arg <utf-8> |
Кодировка по умолчанию для файлов. По умолчанию установлено значение «utf8» |
-i [--input-encoding] arg |
Кодировка входящего файла |
-o [--output-encoding] arg |
Кодировка выходящего файла |
--noheader |
Не печатать заголовок с номерами записей |
--from arg |
Стартовая позиция в файле (начиная с единицы) |
--to arg |
Конечная позиция в файле (включительно) |
--input-type arg |
Тип входного файла (iso2709, marcxml, text). Если не указан, используется определение типа по расширению входного файла |
--length arg |
Количество записей, которые надо прочитать из файла |
--callback arg <THROW> |
Режим ошибок (callback) по умолчанию |
--input callback arg |
Режим ошибок (callback) для входной кодировки |
--output callback arg |
Режим ошибок (callback) для выходной кодировки |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Пример использования
Просмотреть первые три записи из файла nlr.txt в кодировке windows1251 без предварительного подсчета количества записей в файле.
marcviewer nlr.txt --to 3 --noscan -e cp1251>z
Результат:
// RECORD #1
000 00897nam0 2200253 i 450
001 RU\NLR\bibl\1099
005 20010606145358.0
010 ##$a5-7434-0184-5$91000
021 ##$aRU$91081$b97-26170
100 ##$a19980518d1997 u y0rusy0189 ca
101 0#$arus
102 ##$aRU
105 ##$ay |||||||||
200 1#$aДиалог с директором школы$fГ.С. Сухобская$gКом. по образованию мэрии Санкт-Петербурга, С.-Петерб. гос. ун-т пед. мастерства
210 ##$aСПб.$cС.-Петерб. гос. ун-т пед. мастерства$d1997
215 ##$a51 с.$d20
300 ##$aНа обороте тит. л. авт.: Г.С. Сухобская, д.психол.н., проф.
320 ##$aБиблиогр. в тексте
606 0#$aШкола$xДиректора$2nlr-sh$3RU\NLR\auth\66430010
686 ##$aЧ421.411$2rubbk
700 #1$aСухобская$bГ. С.$gГалина Степановна$3RU\NLR\auth\771192$4070
899 ##$aNLR$j97-4/11158
801 #0$aRU$bNLR$c19980518$gPSBO
801 #1$aRU$bNLR$c19980518
// RECORD #2
000 00897nam0 2200253 i 450
001 RU\NLR\bibl\1099
005 20010606145358.0
010 ##$a5-7434-0184-5$91000
021 ##$aRU$91081$b97-26170
100 ##$a19980518d1997 u y0rusy0189 ca
101 0#$arus
102 ##$aRU
105 ##$ay |||||||||
200 1#$aДиалог с директором школы$fГ.С. Сухобская$gКом. по образованию мэрии Санкт-Петербурга, С.-Петерб. гос. ун-т пед. мастерства
210 ##$aСПб.$cС.-Петерб. гос. ун-т пед. мастерства$d1997
215 ##$a51 с.$d20
300 ##$aНа обороте тит. л. авт.: Г.С. Сухобская, д.психол.н., проф.
320 ##$aБиблиогр. в тексте
606 0#$aШкола$xДиректора$2nlr-sh$3RU\NLR\auth\66430010
686 ##$aЧ421.411$2rubbk
700 #1$aСухобская$bГ. С.$gГалина Степановна$3RU\NLR\auth\771192$4070
899 ##$aNLR$j97-4/11158
801 #0$aRU$bNLR$c19980518$gPSBO
801 #1$aRU$bNLR$c19980518
// RECORD #3
000 00590nam2 2200229 i 450
001 RU\NLR\bibl\1100
005 19981001132732.0
010 ##$930000
021 ##$aRU$91081$b97-26171
100 ##$a19980518d1997 u y0rusy0189 ca
101 0#$arus
102 ##$aRU
105 ##$a|||||||||||||
200 0#$aN84
210 ##$d1997
215 ##$a32 с.
461 #0$1001RU\NLR\bibl\1739$12001#$aКроссворды$vN84
686 ##$aЧ711.37кроссворды$2rubbk
606 0#$aКроссворды$2nlr-sh$3RU\NLR\auth\66479563
899 ##$aNLR$j96-4/16199
801 #0$aRU$bNLR$c19980518$gPSBO
801 #1$aRU$bNLR$c19980518
Примечание:
При использовании ключа --noheader шапка с номером записи в файле выводиться не будет.
Программа используется для конвертации MARC-записи из одного формата в другой. Поддерживаемыми форматами являются: MARCXML, ISO 2709, txt.
Данная программа вызывается в режиме командной строки и в качестве аргументов требует указания имени преобразуемого файла в исходном формате и выходного файла в новом формате.
Формат вызова
marcconvert mode [options] input-file output-file |
|
input-file |
Имя преобразуемого файла |
output-file |
Имя выходного файла |
Режимы использования
-it |
Конвертирование файла в формате ISO 2709 в текстовый файл |
-ti |
Конвертирование текстового файла в файл в формате ISO 2709 |
-xt |
Конвертирование файла в формате MARCXML в текстовый файл |
-tx |
Конвертирование текстового файла в файл в формате MARCXML |
-ix |
Конвертирование файла в формате iso 2709 в файл в формате MARCXML |
-xi |
Конвертирование файла в формате MARCXML в файл в формате iso 2709 |
Ключи
-h [--help] |
Вызов помощи |
--noscan |
Без предварительного подсчета записей |
-e [--encoding] arg <utf-8> |
Кодировка по умолчанию для файлов. По умолчанию установлено значение «utf8» |
-i [--input-encoding] arg |
Кодировка входящего файла |
-o [--output-encoding] arg |
Кодировка выходящего файла |
--callback arg <THROW> |
Режим ошибок (callback) по умолчанию |
--input callback arg |
Режим ошибок (callback) для входной кодировки |
--output callback arg |
Режим ошибок (callback) для выходной кодировки |
--from arg
|
Стартовая позиция в файле (начиная с единицы), если файл обрабатывается не полностью, а частично |
--to arg |
Конечная позиция в файле (включительно), если файл обрабатывается не полностью, а частично |
--length arg |
Количество записей, которое надо прочитать из файла. Этот ключ может применяться совместно с ключами --from и --to, но только с каким-либо одним, а не обоими сразу (выведется ошибка). |
Дополнительные ключи
--marc-encoding |
Установка набора символов в MARC-записях.Этот аргумент предписывает программе заменять или не заменять позиции 26-29 (Наборы символов) и 30-33 (Дополнительные наборы символов) подполя 100$a, в соответствии с заданными значениями: DEFAULT - никаких замен не происходит и позиции остаются неизменными, как было указано при каталогизации REPLACE - проводится замена значений в этих позициях, связанная с заданной выходной кодировкой по следующему алгоритму:
Эти замены производятся только при экспорте записей в iso2709, для всех остальных форматов такая подстановка не производится. Записи меняются только в выгружаемом файле. Необходимо для интеграции с другими системами, предъявляющими требования к заполнению набора символов в соответствии с RUSMARC. Для последующей загрузки в OPAC-Global использование не требуется |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Результат
Формируется файл в заданном формате, в котором содержатся записи в кодировке, указанной при выполнении программы.
Примечание:
Программа может быть использована для преобразования кодировки записей в файле. Для этого применяются режимы: -ii, -tt, -xx. При этом в строке вызова команды указывается один и тот же формат для входящего и выходящего файла. С помощью ключей -i и -o (см. выше) задается разная кодировка для входящего и выходящего файла. В результате в выходящем файле прежнего формата будут перекодированные записи.
Пример использования
Привести файл iso2709 в формате RUSMARC, к xml-виду.
marcconvert.exe -ix 007.iso 007.iso.xml
В этом случае преобразуется файл 007.isо в файл 007.iso.xml.
Программа предназначена для управления TRS-контейнерами. С помощью данной программы можно создавать файлы словарей (~TRSWORDS), файлы документов (~TRSDOCUMENT) и индекс-файлы (~TRSIN-) в TRS-контейнерах. Результат работы с этой программой аналогичен результату действий в модуле Администрирование и настройка, меню Настройка БД, вкладке Список контейнеров.
Формат вызова
opaccontainer [options] [args …] |
Ключи
-h [--help] |
Вызов помощи |
-a[--action]arg |
Операция:
|
-t [--trs-type] arg |
Тип файла, над которым выполнять операцию:
|
-d [--dbNr] arg |
Номер базы данных ADABAS |
-p [--profile-Name] arg |
Название профиля файлов |
-c [--constraint] arg |
Уточнение списка файлов. Позволяет упростить работу с большими списками файлов, задавая их укрупненную характеристику вместо явного указания элементов и позволяя системе вычислить этот список самостоятельно.
Значения аргументов:
|
-m [--engine-mask] arg |
Группы поисковых систем (ALL, INTERNAL, EXTERNAL).
С помощью аргумента можно указать, в какой базе создавать контейнеры, если для данной базы включено использование внешней поисковой системы (Solr).
По умолчанию используется ALL - контейнеры создаются одновременно и во внутренней базе (то есть в Adabas) и во внешней (то есть в Solr).
Если указать "--engine-mask INTERNAL", то контейнеры будут создаваться только во внутренней базе (Adabas).
Если указать "--engine-mask EXTERNAL", то контейнеры будут создаваться только во внешней базе (Solr). Для EXTERNAL допустимы только типы DOCUMENT и INDEX.
При создании и удалении контейнеров из веб-интерфейса всегда используется ALL. |
Результат
Выполнение операций в заданном TRS-контейнере. Добавление, удаление файла указанного типа или удаление данных из файла.
Примечание:
Для операций ADD, DELL, CLEAN файлов типа INDEX требуется указывать имя файла (или имена файлов). Также для различных операций можно указать уточнение списка для упрощения оперирования массивами файлов одного типа. Значения уточнений зависят от операции и типа документа.
Примеры использования
opaccontainer.exe -a add -t word -d 1 -p bibl
opaccontainer.exe -a add -t document -d 1 -p bibl
opaccontainer.exe -a dell -t document -d 1 -p bibl
opaccontainer.exe -a add -t index -d 1 -p bibl qwerty
Для добавления нескольких индекс-файлов необходимо указать их наименования через пробел
opaccontainer.exe -a add -t index -d 1 -p bibl qwerty poiu asdf
qwerty, poiu, asdf – произвольное значение имен индекс-файлов
opaccontainer.exe -a add -t index -d 1 -p bibl -c missing
Программа используется для управления пользовательскими статистическими данными, собираемыми системой OPAC-Global. С помощью этой утилиты пользователи могут выполнять резервное копирование, очистку, конвертирование и другие операции над статистическими записями.
Формат вызова
opacstat [options] filename |
|
filename |
Имя выходного файла. Если имя файла опущено или равно "-" вывод осуществляется в стандартный вывод. |
Ключи
-h [--help] |
Вызов помощи |
-a [--action] arg |
Операция: EXPORT - сохранение статистических записей в XML-документы, IMPORT - загрузка статистических запией из XML-документа, ERASE - удаление статистических записей, EXTRACT - выгрузка (сохранение с одновременным удалением) статистических записей в XML-документ, SEARCH - поиск и отображение количества найденных записей. Позволяет вывести количество записей, соответствующих заданным фильтрам. |
-f [--filter] arg |
Фильтры отбора записей: DATE - фильтр по диапазону дат (-f DATE=20120304103000- 20120304120000)
ACTION - фильтр по коду операции (-f ACTION=4,5,6)
TAG - фильтр по тегам (-f TAG=BIBL,AUTH)
IDDB - фильтр по БД (-f IDDB=1,20)
USERID - фильтр по идентификатору пользователя (-f USERID=GUEST,QWERTY)
ID- фильтр по идентификатору записи (-f ID=ID1,ID2)
ALL - фильтр "Все записи" - спец. фильтр, если необходимо выгрузить все записи (-f ALL) |
Примечание:
Все фильтры могут указываться в произвольной комбинации и иметь повторения, также некоторые фильтры могут иметь множественные значения, указанные через запятую (без пробелов). В этом случае все значения определенного фильтра обрабатываются как один список - объединяются логической операцией 'ИЛИ'. Группы разных по типам фильтров - пересекаются логической операцией 'И'.
Для фильтра DATE могут быть указаны начальная и/или конечная дата и время в формате ГГГГММДДччммсс.
Примеры:
-f DATE=2011 - весь 2011 год
-f DATE=20120301- начиная с 1 марта 2012
-f DATE=201203041030-2012030412 - 4 марта 2012 года с 10:30 до 12:00
-f DATE=-20120505 - до 5 мая 2012 включительно
Результат
Сформированный .xml файл, в котором содержатся требуемые статистические данные. Если имя файла не задано, то информация выводится на экран.
Примеры использования
opacstat -a export -f USERID=GUEST -f TAG=BIBL guest.xml
В данном случае все данные будут выгружены в файл guest.xml
opacstat -a export -f ALL all.xml
Программа используется для управления точками доступа (поисковыми метками), заданными пользователями для указанной логической базы данных (нескольких баз данных).
Данная программа вызывается в режиме командной строки и в качестве аргументов требует указания номера логической базы данных или типа формата всех баз данных, для которых требуется выполнение операций с поисковой меткой, а также имени (имен, если речь идет о нескольких точках доступа) изменяемой (добавляемой) точки доступа (поисковой метки).
Формат вызова
searchlabel action filter [constraint] [args …] |
|
action |
Виды операций |
filter |
Определение обрабатываемого массива данных. По значению аргументов группы filter отбираются логические базы данных, для которых должна быть выполнена указанная операция. Если одновременно указаны несколько аргументов, то наивысший приоритет будет иметь прямое указание номера базы данных --iddbNr. Все остальные опции будут проигнорированы. Если указан любой другой аргумент (--dbNr или --profile-name) или оба одновременно, то будут отбираться базы данных с такими же соответствующими значениями |
constraint |
Уточнение списка точек доступа. Позволяет упростить работу с большими списками файлов, задавая их укрупненную характеристику вместо явного указания элементов и позволяя системе вычислить этот список самостоятельно |
args |
Для различных режимов возможно указание точек доступа в переменном списке аргументов |
filter records |
Указание ограничений для записей для фильтра дат могут быть указаны начальная и/или конечная дата и время в формате ГГГГММДДччммсс.
Примеры: --date-loading 2011 - весь 2011 год; --date-loading 20120301 - начиная с 01 марта 2012 года; --date-loading 201203041030 - 04 марта 2012 года с 10:30 до 12:00; --date-loading 20120505 - до 05 мая 2012 года включительно |
Ключи
Группа action |
|
-h [--help] |
Вызов помощи |
-a [--action] |
Операция: LIST-INDEX - показать список доступных для индексирования точек доступа, ADD-INDEX - индексировать точку(и) доступа, CLEAN-INDEX - очистить индексы, UPDATE-INDEX - переиндексировать точки доступа, UPDATE-SYSTEM-INDEX - перестроить системные индексы, COUNT-INDEX - подсчитать количество индексов. Этот режим позволяет подсчитать количество индексов для каждой заданной точки доступа с разбивкой по логическим базам данных. |
-r [--read-only] |
Не сохранять изменения в базе данных |
Группа filter |
|
-n [--iddbNr] arg |
Номер логической базы данных. Операции будут применены к указанной базе данных |
-d [--dbNr] arg |
Номер базы данных ADABAS, по которой группировать логические базы данных. Операции будут применены ко всем логическим базам данных, которые содержатся в указанной базе данных ADABAS |
-p [--profile-name] arg |
Название профиля файлов, по которому группировать логические базы данных. Операции будут выполняться для всех логических баз данных, имеющих указанный профиль, независимо от того, в каком TRS-контейнере эти базы находятся |
--all-iddb |
Все логические базы данных |
Группа constraint |
|
-с [--constraint] arg |
Уточнение списка точек доступа.
Значение аргумента:
ALL – все точки доступа. Если задан ключ -o all, то операции будут выполняться для всех без исключения точек доступа. В противном случае при вызове программы следует указывать обрабатываемые точки доступа |
Группа filter records |
|
--date-loading arg |
Дата и время загрузки (начальная и/или конечная) --date-loading 20120304103000-20120304120000 |
--date-modify arg |
Дата и время модификации (начальная и/или конечная) --date-modify 20120304103000-20120304120000 |
-m [--engine-mask] arg |
Группы поисковых систем (ALL, INTERNAL, EXTERNAL).
С помощью аргумента можно указать, в какой базе создавать индексы, если для данной базы включено использование внешней поисковой системы (Solr).
По умолчанию используется ALL - индексы создаются одновременно и во внутренней базе (то есть в Adabas) и во внешней (то есть в Solr).
Если указать "--engine-mask INTERNAL", то индексы будут создаваться только во внутренней базе (Adabas).
Если указать "--engine-mask EXTERNAL", то индексы будут создаваться только во внешней базе (Solr). |
Результат
Выполненные операции по изменению указанной точки доступа (поисковой метки).
Примеры использования
searchlabel.exe -a list-index
searchlabel.exe -a list-index -p bibl
searchlabel.exe -a update-index -i 20 -t all
Программа предназначена для пакетного тестирования библиографических записей RUSMARC, представленных в формате ISO 2709.
Программа входит в состав программного комплекса OPAC-Global и обнаруживает достаточно большой спектр наиболее распространенных ошибок форматного плана, а также ошибок в описании RUSMARC в системе OPAC-Global (список кодов ошибок смотрите далее).
Это консольное приложение, которое работает в режиме командной строки и выводит на экран информацию о состоянии выполняемого процесса.
Программа загружает весь формат RUSMARC, описанный в системе OPAC-Global к себе в память, параллельно проверяя его на корректность. При возникновении проблем на этой стадии (возможные выдаваемые ошибки приведены далее), просьба обратится к разработчикам.
Формат вызова
testrecord [options] filename 1 … |
|
filename 1… |
Имя файла, содержащего тестируемые записи |
Ключи
-h [--help] |
Вызов помощи |
--noscan |
Без предварительного подсчета записей |
-f [--format-name] arg (=RUSMARC) |
Название используемого формата |
-t [--format-type] arg (=BIBL) |
Тип используемого формата |
-x [--xml-format-file] |
Имя XML-файла с определением формата |
-- input-type arg (iso 2709) |
Тип входного файла (ISO 2709, MARCXML, text). Если тип не указан, то используется определение типа по расширению входного файла |
-- output-type arg (iso 2709) |
Тип выходного файла (ISO 2709, MARCXML, text). Если тип не указан, то используется определение типа по расширению входного файла |
-e [--encoding] arg <utf-8> |
Кодировка по умолчанию для файлов. По умолчанию установлено значение «utf8» |
-i [--input-encoding] arg |
Кодировка входящего файла |
-o [--output-encoding] arg |
Кодировка выходящего файла |
--callback arg <THROW> |
Режим ошибок (callback) по умолчанию |
--input callback arg |
Режим ошибок (callback) для входной кодировки |
--output callback arg |
Режим ошибок (callback) для выходной кодировки |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Примечание:
При отсутствии в командной строке ключей "-t" и "-f" или при указании некорректного названия формата утилита выполняет проверку в сокращенном режиме (short test mode). При этом проверяются только базовые требования MARC-формата.
Результат
В результате работы программы формируются файлы:
[data].ok - файл с корректными записями (создаётся, если они есть)
[data].err - файл с ошибочными записями (создаётся, если они есть)
[data].log - файл с детализацией ошибок к каждой ошибочной записи (создаётся, если они есть).
Пример использования
Проверить записи на соответствие формату RUSMARC.
testrecord.exe –f RUSMARC –t BIBL 007.iso
В этом случае происходит проверка записей, содержащихся в файле 007.iso на соответствие типу BIBL формата RUSMARC.
Программа используется с целью синхронизации изменений, произведенных в базе данных читателей, для последующего корректного формирования статистических отчетов.
Вызывается из командной строки.
Формат вызова
userhold [options] |
Ключи
-h [--help] |
Вызов помощи |
-r arg <dateend> |
Удаление всех записей до указанной даты. В качестве аргумента указывается нужная дата в формате <ГГГГММДД> |
-a arg <datebegin><dateend> |
Корректировка данных за указанный период времени.
Аргументы: datebegin – указывается дата, соответствующая началу текущего года. Формат даты <ГГГГММДД>. Например, 20120101.
dateend – указывается дата, соответствующая текущему дню. Формат даты <ГГГГММДД> |
Результат
На экран выводится информация о количестве измененных записей.
Пример использования
Изменить названия категорий читателя, для корректного съема статистики посещаемости библиотеки.
userhold.exe –a 20090101 20090601
В данном случае происходит изменение названия категорий читателя в течение временного периода, где:
«20090101» - дата начала корректировки записей, посещений библиотеки,
«20090601» - дата конца корректировки записей, посещений библиотеки.
Данная программа предназначена для пакетной выгрузки библиографических записей в Российском коммуникативном формате RUSMARC (записи представлены в машиночитаемой форме стандарта ISO 2709) и разработана специально для информационно-поисковой системы OPAC-Global, созданной компанией ДИТ-М. Выполненная в виде системной утилиты, программа предоставляет пользователю широкие возможности выгрузки записей, хранящихся в БД под управлением СУБД ADABAS (программный продукт компании Software AG).
Есть два режима работы утилиты: посредством задания аргументов в командной строке, либо при указании этих аргументов в .ini файле.
Формат вызова
vigruzka --ini filename.ini [searchName [searchName] ...] - режим с использованием .ini файла
|
|
filename.ini |
Имя настроечного файла |
searchName |
Имя поиска (заголовок секции в .ini файле) |
vigruzka --action arg [options] [output-file] - режим задания аргументов в командной строке
|
|
output-file |
Имя выходного файла |
Ключи
-h [--help] |
Вызов помощи |
-l [--list] |
Краткая сводка о составе и размере логических БД |
-a [--action] arg |
Операция: SEARCH - определение количества записей UNLOAD - сохранение записей в файл (также может быть использован синоним EXPORT) ERASE - удаление записей EXTRACT - сохранение записей в файл с одновременным удалением |
-n [--iddbNr] arg |
Номер логической БД |
--time-loading arg |
Дата загрузки. Формат даты <ГГГГММДД>. Можно задать диапазон. Например, --time-loading 20120304103000-20120304120000 |
--time-modify arg |
Дата модификации. Формат даты <ГГГГММДД>. Можно задать диапазон. Например, --time-modify 20120304103000-20120304120000 |
--adabas-query arg |
Запрос ADABAS. Например, --adabas-query LV=#, где левая часть - search buffer, правая - value buffer, в котором можно указывать ESC-последовательности языка С, которые будут декодированы перед выполнением запроса |
--isn-list arg |
Список ISN-номеров. Например, --isn-list 1,2,3-14, 17-250 |
--opac-query arg |
Поисковый запрос OPAC-Global. Например, --opac-query "AU ив* NEAR ал*" |
--output-type arg |
Тип выходного файла (iso2709, marcxml, text) См. примечание ниже |
-o [--output-encoding] arg <utf-8> |
Кодировка выходного файла |
--output-callback arg <THROW> |
Режим ошибок (callback) для выходной кодировки |
--query-mode |
Интерпретация поискового OPAC-запроса (Wordset или Context). Такой же ключ можно указать в настроечном ini-файле |
Дополнительные ключи
--auth-links |
Определение режима восстановления связей для авторитетных записей: SKIP - не восстанавливать связи. Это значение используется по умолчанию RESTORE - восстанавливать связи
Система связей авторитетных записей в OPAC-Global построена таким образом, что симметричные ссылки между записями заменяются на односторонние (сделано для экономии места, ускорения поиска и устранения некоторых противоречий), тогда как формат требует полносвязанную авторитетную запись. С помощью этого ключа можно заставить программу выгрузки восстанавливать недостающие симметричные связи. Используется для выгрузки данных в другие (не OPAC-Global) системы |
--marc-encoding |
Установка набора символов в MARC-записях.Этот аргумент предписывает программе заменять или не заменять позиции 26-29 (Наборы символов) и 30-33 (Дополнительные наборы символов) подполя 100$a, в соответствии с заданными значениями: DEFAULT - никаких замен не происходит и позиции остаются неизменными, как было указано при каталогизации REPLACE - проводится замена значений в этих позициях, связанная с заданной выходной кодировкой по следующему алгоритму:
Эти замены производятся только при экспорте записей в iso2709, для всех остальных форматов такая подстановка не производится. Записи меняются только в выгружаемом файле. Необходимо для интеграции с другими системами, предъявляющими требования к заполнению набора символов в соответствии с RUSMARC. Для последующей загрузки в OPAC-Global использование не требуется |
Режим ошибок (callback) задаёт способ обработки ошибочных символов
(не существующих в данной кодировке). Допустимые значения:
SUBSTITUTE - замена ошибочного символа на специальный символ-заменитель;
SKIP - пропустить ошибочный символ;
THROW - пропустить запись с сообщением об ошибке (по умолчанию);
ESCAPE - экранировать символ в текстовом виде (\+UUUU).
Примечание 1:
Если при выгрузке базы данных не указаны никакие аргументы, то операция применяется ко всей базе целиком.
Примечание 2:
В таблице ниже представлена зависимость результата работы программы vigruzka.exe от указания в строке вызова программы расширения выходного файла и ключа <--output-type> или соответствующих аргументов в настроечном .ini файле.
<--output-type> |
Расширение выходного файла (заголовок секции в .ini файле)
|
|
---|---|---|
указано |
не указано |
|
указан |
Если расширение выходного файла отличается от заданного типа, то предпочтение отдается типу файла. Например, в случае vigruzka.exe -a unload -n 18 --output-type marcxml file1.iso будет сформирован файл file1.xml.iso
Если расширение не отличается от типа файла, то будет указано расширение, равное типу файла. Например, в случае vigruzka.exe -a unload -n 18 --output-type marcxml file1.xml будет сформирован файл file1.xml
|
В результате выполнения программы формируется файл с расширением, равным типу файла. Например, в случае vigruzka.exe -a unload -n 18 --output-type marcxml file1 будет сформирован файл file1.xml |
не указан |
Используется определение типа файла по расширению выходного файла. Например, в случае vigruzka.exe -a unload -n 18 file1.xml будет сформирован файл с типом данных marcxml |
Возникнет ошибка в работе программы, связанная с отсутствием возможности определить тип выгружаемых данных |
Результат
Формируется файл в заданном формате, в котором содержатся записи в кодировке, указанной при выполнении программы.
Пример использования. Выгрузка записей
Выгрузить записи на книги, изданные в 2012-ом году.
1 способ. С использованием .ini файла.
Открыть .ini файл (например, vigruzka.ini).
В содержимом файла указать:
[v2]
action=unload
db=18
opacQuery=PY 2012
output-encoding=windows-1251
output-type=ISO2709
где:
[v2] - имя поиска (впоследствии имя файла),
«unload» - операция сохранения записей в файл,
«18» - номер логической БД,
«PY 2012» - значение поискового запроса OPAC-Global (поисковой метки),
«windows-1251» - кодировка выходного файла,
«ISO2709» - кодировка выходного файла.
Сохранить данные.
Из командной строки выполнить команду:
vigruzka.exe --ini vigruzka.ini
В результате будет сформирован файл v2.iso, в котором будут содержаться записи на книги, созданные в 2012 году. Данные будут иметь тип iso2709 и представлены в кодировке windows-1251.
2 способ. Посредством задания аргументов в командной строке.
Из командной строки выполнить команду:
vigruzka.exe -a unload -n 18 --opac-query “PY 2012”o2012.iso
где:
«vigruzka.exe» - название утилиты, выгружает записи.
«-a» - режим работы утилиты,
«unload» - операция сохранения записей в файл
«-n» - режим работы утилиты,
«18» - номер логической БД,
«opac-query» - поисковый запрос OPAC-Global,
“PY 2012” – поисковая метка,
«o2012.iso» - имя файла (пример), в который сохраняются данные.
Примечание:
Как было отмечено выше (см. таблицу), если для опции <--output-type> указать определенный тип данных, то из базы выгрузятся данные только этого типа. Если опция output-type не задана, то при выгрузке используется определение типа по расширению выходного файла.
В данном примере в результате будет сформирован файл o2012.iso, в который из базы данных 18 будут выгружены только данные с типом iso2709.
Пример использования. Удаление записей
vigruzka.exe -a erase -n 18 --opac-query “PY 2006”
В данном случае вместо операции unload используется операция erase – удаление записей. В результате из базы данных 18 будут удалены все записи о книгах, изданных в 2006 году.
Программа предназначена для загрузки библиографических записей в систему OPAC-Global и построения точек доступа к ним.
Она представляет собой консольную утилиту, запускающуюся из командной строки с ключами, указывающими её режим работы.
Формат вызова
zagruzka [options] iddb filename |
|
iddb |
Номер логической базы данных |
filename |
Имя файла с записями |
Ключи
-h [--help]:arg |
Вызов помощи. |
-e [--encoding] arg |
Кодировка входного файла. |
--from arg |
Стартовая позиция в файле (начиная с единицы), если файл загружается не полностью, а частично |
--to arg |
Конечная позиция в файле (включительно), если файл загружается не полностью, а частично |
--length arg |
Количество записей, которое надо прочитать из файла. Этот ключ может применяться совместно с ключами --from и --to, но только с каким-либо одним, а не обоими сразу (выведется ошибка). |
-l [--list] |
Краткая сводка о составе и размере логических БД |
--input-type arg |
Тип входного файла (iso2709, marcxml, text). Если тип не указан, то используется определение типа по расширению входного файла |
--noscan |
Без предварительного подсчета записей в файле перед загрузкой |
--nomerge-location |
Перезапись без слияния данных о местонахождении |
--exclude-dublet |
Исключить записи с идентификаторами, которые уже есть в базе. Такие записи будут записаны в отдельный файл в формате iso2709 |
--add-only-location |
Добавлять только данные о местонахождении |
--unfinished |
Простановка уровня кодирования ‘3’ – незаконченная |
--stat-portion-size arg |
Возможность указания размера порции (число), для которой будет вычисляться статистика записей и ввода-вывод и выводится в лог. Если значение равно нулю порционная статистика сбрасываться не будет |
--noindex |
Не строить индексы записей при загрузке. В случае новых записей индексы не строятся вообще, при обновлении существующих - индексы не обновляются/не удаляются (остаются от предыдущей версии записи)/
Примечание: При загрузке большого числа записей обычный способ индексирования (все метки сразу для каждой загружаемой записи) работает медленно. Намного эффективнее получается индексировать метки по очереди по одной уже после завершения загрузки. В этом случае производительность может быть существенно улучшена. |
Формат вывода порционного лога загрузки
Код:
N1 N2 T io(saveRecord: total R1, midsize R2/saveIndex: total I1, midsize I2/readBase: total B1, size B2) stat(success: new ST1, reload ST2/error: source ST3, read ST4, save ST5, dup ST6)
N1 - Номер порции записей
N2 - Размер порции
T - Время загрузки
R1 - Количество сохраненных записей
R2 - Средний размер сохраненной записи в байтах
I1 - Количество сохраненных индексов
I2 - Средний размер сохраненного индекса в байтах
B1 - Количество чтений из БД
B2 - Общий объем прочитанной информации из БД
ST1 - Количество успешно сохраненных новых записей
ST2 - Количество перезагруженных записей
ST3 - Ошибочных исходных записей (в файле)
ST4 - Ошибок чтения записей из БД
ST5 - Количество ошибок сохранения записей в БД
ST6 - количество ошибочных повторяющихся записей
Файлы, создаваемые программой (filename - имя входного файла с расширением):
filename.log |
файл, в который сохраняется лог загрузки: информация о файле источнике, целевой БД, итоговая и порционная (если используется) статистика |
filename.err |
файл с описанием ошибок |
filename.bad.(iso|txt) |
в этом файле сохраняются ошибочные записи из исходного файла |
filename.exist.dbNr.(iso|txt|xml) |
в этом файле сохраняются отклоненные записи, для которых найдены дубли в других БД (dbNr-номер базы или баз дублета) |
filename.dublet.dbNr.(iso|txt|xml) |
в этом файле сохранятся отклоненные записи, для которых в текущей БД встретилось больше одного дублета (dbNr-номер базы) |
filename.baseError.dbNr.(iso|txt|xml) |
в этот файл сохраняются исходные записи, при записи которых в БД встретилась ошибка |
Используемые понятия:
Исходный файл |
файл, содержащий загружаемые записи |
Исходная запись |
запись из исходного файла, предназначенная для сохранения в БД |
Отклоненная запись |
верная исходная запись, которая по тем или иным причинам не может быть сохранена в БД |
Ошибочная запись |
запись, которая не может быть прочитана из источника (файла или БД) |
Дублирующаяся запись (дублет) |
запись, идентификатор которой совпадает с идентификатором исходной записи |
Примечание:
Выполнение программы zagruzka может быть безопасно прервано с помощью:
Результат
Добавление записей в базу данных.
Пример использования
Загрузить записи в базу
zagruzka.exe 5 007.iso -e windows-1251
В результате база данных 5 пополнится записями в кодировке windows-1251, содержащимися в файле 007.iso
Программа предназначена для определения версии программы. В ней отображается номер ревизии сборки библиотеки и дата ревизии.
Например,
OPAC-Global 2.3.0 <build2061>
Build date: Mar 23 2012 12:14:46,
где:
OPAC-Global 2.3.0 – номер версии программы,
build2061– это номер произведенной ревизии (примененного пакета изменений) сборки библиотеки,
Build date -это дата произведенной ревизии сборки.
Описание утилиты
Утилита opacusers предназначена для работы с записями пользователей и читателей OPAC-Global.
Основные операции, выполняемые утилитой:
Использование утилиты
Утилита работает в пакетном режиме. Запуск выполняется командой "opacusers".
Если ввести эту команду без аргументов, то на экран будет выведена краткая информация об использовании утилиты, приведенная ниже.
Формат вызова
opacusers [-h] |
|
opacusers -a export [-uv] [-t type] [-f filter] outfile |
Выгрузка записей пользователей и читателей |
opacusers -a import [-dnv] [-t type] [-r | -i] infile |
Загрузка записей пользователей и читателей |
opacusers -a delete [-dv] infile |
Удаление записей пользователей и читателей |
opacusers -a clear [-duv] [-f filter] |
Очистка базы данных пользователей и читателей |
Ключи
-h [--help] |
Вызов помощи |
-a [--action] |
Операция |
-d [--dry-run] |
Не изменять базу данных (тестовый режим) |
-f [--filter] |
Фильтр записей для выгрузки |
-i [--newid] |
Генерация новых идентификаторов |
-n [--normalize] |
Исправление ошибок в загружаемых записях |
-r [--replace] |
Замена записей |
-t [--type] |
Тип файла записей: JSON (по умолчанию), XML |
-u [--users] |
Работа с пользователями (вместо читателей) |
-v [--verbose] |
Вывод подробной информации |
Режим работы утилиты
Выгрузка записей пользователей и читателей
Формат вызова
opacusers -a export [-uv] [-t type] [-f filter] outfile |
|
outfile |
Имя файла, содержащего выгружаемые записи |
Ключи
-u |
Переключает утилиту в режим выгрузки записей пользователей (без этого ключа выгружаются записи читателей) |
-v |
Включает вывод счетчиков записей и другой вспомогательной информации |
-t |
Указывает тип файла записей, возможные значения JSON (по умолчанию), XML |
-f |
Задает поисковый фильтр для выгрузки записей (выражение JavaScript) |
Примеры использования
opacusers -a export -v readers.json
opacusers -a export -v -t xml -f "login === 'ABCDE'" reader_abcde.json
opacusers -a export -uv -f "login !== 'ADMIN'" users.json
Загрузка записей пользователей и читателей
Формат вызова
opacusers -a import [-dnv] [-t type] [-r | -i] infile |
|
infile |
Имя файла, содержащего загружаемые записи |
Ключи
-d |
Включает режим тестирования (в базе данных не будет выполняться никаких изменений) |
-n |
Включает исправление ошибок в полях загружаемых записей: - перевод поля fio в верхний регистр |
-v |
Включает вывод счетчиков записей и другой вспомогательной информации |
-t |
Указывает тип файла записей, возможные значения JSON (по умолчанию), XML |
-r |
Включает режим замены существующих записей (про совпадении идентификатора) |
-i |
Включает режим замены идентификаторов в загружаемых записях на новые (это требуется при создании новых читателей или пользователей) |
Примеры использования
opacusers -a import -vi readers.json
opacusers -a import -r -v users.json
opacusers -a import -t xml -v -d readers.xml
Удаление записей пользователей и читателей
Формат вызова
opacusers -a delete [-dv] infile |
|
infile |
Имя файла, содержащего удаляемые записи (в этих записях нужно только поле идентификатора записи, остальные поля необязательны) |
Ключи
-d |
Включает режим тестирования (в базе данных не будет выполняться никаких изменений) |
-v |
Включает вывод счетчиков записей и другой вспомогательной информации |
Примеры использования
opacusers -a delete -v readers.json
opacusers -a delete -v -d users.json
Очистка базы данных пользователей и читателей
Формат вызова
opacusers -a clear [-duv] [-f filter] |
|
infile |
Имя файла, содержащего удаляемые записи (в этих записях нужно только поле идентификатора записи, остальные поля необязательны) |
Ключи
-d |
Включает режим тестирования (в базе данных не будет выполняться никаких изменений) |
-u |
Переключает утилиту в режим удаления записей пользователей (без этого ключа удаляются записи читателей) |
-v |
Включает вывод счетчиков записей и другой вспомогательной информации |
-f |
Задает поисковый фильтр для очистки записи (выражение JavaScript) |
Примеры использования
opacusers -a clear -v
opacusers -a clear -u -f "login === 'ADMIN'"
opacusers -a clear -u -v -d
Пример записи читателя в формате JSON
{
"login": "GUEST",
"pass": "aba69d9db3a6049d5bb96d6b4e5025ae",
"type": "020С ВЫДАЧЕЙ НА ДОМ",
"discount": "N/A",
"contractNumber": "READER",
"birthday": "1985",
"fio": "ГОСТЕВОЙ ВХОД",
"sigla": "",
"post": "N/A",
"passport": "",
"city": "N/A",
"index": "N/A",
"address": "",
"phone": "N/A",
"email": "N/A",
"dateCorrection": "20110322135300.1",
"dateInput": "20061010",
"emloyment": "",
"country": "N/A",
"number": "N/A",
"education": "высшее",
"activity": "",
"noDiploma": "N/A",
"degree": "N/A",
"rank": "",
"institution": "",
"course": "",
"faculty": "",
"region": "N/A",
"residence": "",
"notes": "N/A",
"passportNumber": "",
"nameOfEstablishment": "N/A",
"addressAndPhone": "N/A",
"profession": "",
"id": "USER\\0000000001",
"contractDate": "N/A",
"sex": "МУЖ",
"dateOfFinish": "",
"barcode": "3",
"status": "N/A",
"categoryOfReader": "N/A",
"endingOfPenalty": "",
"issueDate": "20061010",
"idUserMake": "USER\\0000000123",
"idUserEdit": "RU\\LIBRARY\\USER\\1000001",
"placeOfRecording": "Библиотека",
"ip": [],
"punishment": [],
"unknown1": "",
"unknown2": [],
"unknown3": [],
"unknown4": "N/A",
"viewInstitution": "N/A",
"codeProf": "N/A"
}
Записи в файле JSON и следуют друг за другом без разделителей (поток объектов).
Пример записи читателя в формате XML
<?xml version="1.0" encoding="UTF-8"?>
<records>
<record>
<login/>
<pass/>
<type>067С ВЫДАЧЕЙ НА ДОМ</type>
<discount/>
<contractNumber>READER</contractNumber>
<birthday>1991</birthday>
<fio>ИВАНОВ ИВАН ИВАНОВИЧ</fio>
<sigla/>
<post>студент</post>
<passport/>
<city/>
<index/>
<address>Адрес прописки</address>
<phone/>
<email>N/A</email>
<dateCorrection>20110307000000.0</dateCorrection>
<dateInput>2010090300</dateInput>
<employment/>
<country>RU</country>
<number/>
<education>среднее</education>
<activity/>
<noDiploma/>
<degree/>
<rank/>
<institution/>
<course>2 курс</course>
<faculty/>
<region/>
<residence>Адрес проживания</residence>
<notes>N/A</notes>
<passportNumber>12 34 567890</passportNumber>
<nameOfEstablishment/>
<addressAndPhone/>
<profession/>
<id>RU\LIBRARY\USER\123456789</id>
<contractDate/>
<sex>МУЖ</sex>
<dateOfFinish>20120315</dateOfFinish>
<barcode>922409</barcode>
<status>N/A</status>
<categoryOfReader>11</categoryOfReader>
<endingOfPenalty/>
<issueDate>20100903</issueDate>
<idUserMake/>
<idUserEdit/>
<placeOfRecording>Библиотека</placeOfRecording>
<ip/>
<punishment/>
<unknown1>123456789.jpg</unknown1>
<unknown2/>
<unknown3/>
<unknown4/>
<viewInstitution/>
<codeProf/>
</record>
</records>
Описание полей записи пользователя или читателя
Формат: имя_поля |
Имя_поля_ADABAS, длина поля, параметры |
Описание поля |
---|---|---|
login |
(AY, 5, UQ) |
Логин |
pass |
(AA, 32) |
Пароль (hex-представление хэша MD5) |
type |
(AB, 60) |
Группа пользователя |
discount |
(AG, 10) |
Не используется |
contractNumber |
(AW, 12) |
DEFINITION/READER/<пусто> |
birthday |
(AX, 10) |
Дата рождения |
fio (AO, 250) |
(AO, 250) |
ФИО |
sigla |
(BA, 90) |
Сигла читателя |
post |
(CH, 40) |
Должность |
passport |
(AQ, 150) |
Документ удостоверяющий личность |
city |
(AF, 30) |
Город |
index |
(AM, 7) |
Почтовый индекс |
address |
(BB, 150) |
Адрес |
phone |
(AH, 250) |
Телефон |
(AI, 50) |
Электронная почта |
|
dateCorrection |
(AJ, 20) |
Дата редакции |
dateInput |
(DI, 16) |
Дата создания |
emloyment |
(AC, 60) |
Место работы |
country |
(AE, 3) |
Страна |
number |
(AL, 10) |
Не используется |
education |
(EA, 30) |
Образование |
activity |
(EB, 40) |
Сфера деятельности |
noDiploma |
(EC, 15) |
Номер диплома |
degree |
(ED, 30) |
Ученая степень |
rank |
(EF, 30) |
Ученое звание |
institution |
(EG, 100) |
Учебное заведение |
course |
(EH, 30) |
Курс |
faculty |
(EK, 50) |
Факультет |
region |
(EL, 30) |
Область, республика |
residence |
(EM, 150) |
Место жительства |
notes |
(EN, 200) |
Примечания |
passportNumber |
(EO, 20) |
Серия и номер паспорта |
nameOfEstablishment |
(EP, 100) |
Название учреждения |
addressAndPhone |
(ER, 150) |
Адрес и телефон |
profession |
(ES, 40) |
Специальность |
id |
(ET, 30, UQ) |
Идентификатор записи |
contractDate |
(EU, 10) |
Не используется |
sex |
(FA, 40) |
Пол |
dateOfFinish |
(FB, 40) |
Дата окончания |
barcode |
(FU, 70, UQ) |
Баркод |
status |
(FE, 100) |
Тип читателя |
categoryOfReader |
(FD, 100) |
Категория читателя |
endingOfPenalty |
(EQ, 10) |
Окончание штрафных санкций |
issueDate |
(FG, 40) |
Дата выдачи чит. билета |
idUserMake |
(FJ, 90) |
Идентификатор создателя записи |
idUserEdit |
(FK, 90) |
Идентификатор редактора записи |
placeOfRecording |
(FL, 90) |
Пункт записи читателя |
ip |
(IP, 20, MU) |
IP-адрес |
punishment |
(FM, 250, MU) |
Штрафные санкции |
unknown1 |
(FC, 50) |
Путь и имя фотографии |
unknown2 |
(DD, 10, MU) |
Дата выдачи дублета |
unknown3 |
(EZ, 90, MU) |
Используется в определении группы |
unknown4 |
(AK, 30) |
Группа |
viewInstitution |
(AN, 30) |
Вид учебного заведения |
codeProf |
(FH, 250) |
Код специальности |
Вызывается из командной строки.
Предназначена для актуализации библиографических записей после изменений, внесенных в блок 2- связанных с ними авторитетных записей.
Утилита может запускаться для всех авторитетных записей и баз, кроме баз MeSH. Также могут указываться ограничения в виде временного промежутка, в течение которого проводились изменения, и конкретные авторитетные и библиографические базы.
Формат вызова
biblActualizer [options] biblIddbNr|all [biblIddbNr ...] |
|
biblIddbNr |
Номер библиографической базы, которую требуется актуализировать.
Если указано значение «all» - актуализируются все базы |
Ключи
-h [--help] |
Вызов помощи |
-l [--list] |
Краткая сводка о составе и размере логических БД |
--time-modify arg |
Дата модификации. Можно задать диапазон (--time-modify 20120304103000-20120304120000) |
--authIddbNr arg |
Номер авторитетной базы для контроля. Параметр может повторяться для указания нескольких баз. Если опущен, то используются все базы |
--label arg (=AUIDS) |
Поисковая метка для поиска записей по идентификаторам авторитетных записей |
--noindex |
Не обновлять индексы записей |
Вызывается из командной строки.
Предназначена для индексирования полнотекстовых документов, ссылки на которые присутствуют в полях библиографических записей.
При индексировании используется поисковая метка с именем "TEXT". Если данная метка присутствует в индексируемой БД, то значения индексов из этой метки являются ссылками на документы вида:
http://server/path/to/document.ext
или
file:///local/path/to/document.ext
В правилах данной метки можно преобразовывать исходные пути в какие-то другие (на усмотрение администратора). Единственное требование - чтобы сервер мог по результирующему значению метки TEXT получить документ.
Утилита opactext работает только с базами, для которых включена внешняя поисковая система (Solr).
Утилита opactext перебрает записи указанной базы, формирует для этих записей индексы метки TEXT (то есть индексировать заранее необязательно, все равно значения метки будут формироваться "на лету"), затем передает полученные ссылки на документы утилите Apache Tika (которая извлекает текстовое содержимое из документов PDF, DOC и т.д.), а полученный текст сохраняет и индексирует в Solr.
В ходе работы тексты кэшируются на диске сервера, поэтому повторный запуск утилиты не приведет к полному переиндексированию. Будут индексироваться только новые документы.
То же относится и к прерыванию работы утилиты - при повторном запуске она продолжит работу с места остановки.
В веб-интерфейсе по полному тексту можно искать после индексирования документов. Поиск выполняется по метке TEXT.
Формат вызова
opactext --action arg [options] |
|
action |
Виды операций |
filter |
Определение обрабатываемого массива данных. |
Ключи
Группа action |
|
-h [--help] |
Вызов помощи |
-a [--action] |
Операция:
|
--commit |
Сохранение изменений после каждой операции |
Группа filter |
|
-n [ --iddbNr ] arg |
Номер логической базы данных |
-d [ --dbNr ] arg |
Номер базы данных ADABAS, по которой группировать логические БД |
-p [ --profile-name ] arg |
Название профиля файлов, по которому группировать логические БД |
--all-iddb |
Все логические базы данных |
Утилита предназначена для рассылки читателям уведомлений об истекающем или истекшем сроке возврата экземпляра.
Особенности работы утилиты
Путь к утилите
В Windows: %OPACDIR%\integration\nodejs\tools\circulation_notify.
В Linux: /opt/opac-global/integration/nodejs/tools/circulation_notify.
Запуск утилиты
node "%OPACDIR%\integration\nodejs\tools\circulation_notify"
Ключи (необязательные)
-h [--help] |
Вызов помощи |
-c config |
Путь к файлу конфигурации |
-v |
Вывод подробной информации в ходе выполнения утилиты |
Рекомендуется добавить автоматический запуск утилиты в «Планировщик задач» в Windows или в cron в Linux.
Настройки
В файле конфигурации утилиты index.conf можно настроить следующие параметры: