модуль "администрирование и настройка"

УТИЛИТЫ ОБСЛУЖИВАНИЯ СИСТЕМЫ

Утилиты, позволяющие применять хук-обработчики к элементам массивов данных

В системе предусмотрены две специальные утилиты, с помощью которых можно осуществить последовательное применение хук-обработчика к элементам массива записей, например с целью аналитики или корректировки. Это 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 нельзя.

 

Формат вызова

 

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». Этот файл может быть использован для различной аналитики.

 

Пример использования

 

Произвести корректировку каталога. Проставить всем записям уровень готовности записи – ретроконверсия.

 

Для этого следует:

  1. Зайти  на сервер в папку …opac-global\tools
  2. Создать файл в текстовом редакторе «change_level.js» в кодировке utf-8.

Содержимое файла:

// прочесть аргумент "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);

}

}

  1. Из командной строки выполнить команду:

baseeditor.exe 5 change_level.js

где:

«baseeditor.exe» - название утилиты, которая применяет скрипт к записям, находящийся в базе данных.

«5» - номер базы данных в которой требуется изменить записи.

«change_level.mbas» - название файла, содержащего скрипт, написанный на маркбейсике.

MARCeditor

Вызывается из командной строки.

 

Предназначена для последовательного чтения 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 файле. Проставить всем записям уровень готовности записи – ретроконверсия.

 

  1. Зайти  на сервер в папку …opac-global\tools
  2. Создать файл в текстовом редакторе «change_level.js» в кодировке utf-8.

Содержимое файла:

// прочесть аргумент "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());

}

}

  1. Из командной строки выполнить команду:

marceditor.exe change_level.js 007.iso

где:

«marceditor.exe» - название утилиты, которая применяет скрипт к записям, находящийся в iso файле.

«change_level.js» - название файла, содержащий скрипт, написанный на маркбейсике.

«007.iso» - имя файла хранящий записи.

  1. В результате получается файл 007.iso.edt – в нем отредактированные записи.

 

Примечание: поддерживаются типы файлов: .txt, .iso, .mrc, .xml

BIBINDEX (построение библиографического указателя)

Назначение

Программа используется для построения библиографических указателей по настройкам, заданным пользователями для указанной логической базы данных.

Описание

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

 

Конфигурационный файл указателя должен иметь кодировку «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

В процессе построения указателя произошли ошибки вывода

 

Требуется обратить внимание на полученный документ.

 

Пример использования

 

Построить на основе загруженных записей в базу данных библиографический указатель «Русские писатели».

 

Для этого следует:

  1. Зайти  на сервер в папку …opac-global\tools
  2. Создать файл в текстовом редакторе «index.cfg» в кодировке utf-8.

Содержимое файла:

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,"; "),")");

)

 

  1. Из командной строки выполнить команду:

bibindex.exe 2 index.cfg

где:

«bibindex.exe» - название утилиты, которая строит библиографический указатель.

«2» - номер базы данных по которой требуется построить указатель.

«index.cfg» - название файла, содержащий алгоритм построения указателя.

 

Примечание:

Если дополнительно указать параметры -b <bibcard.ini> и -f <bibformat.xml>, мы можем поменять схемы построения библиографических описание, из которых состоит указатель. По умолчанию данные берутся из …\opac-global\cong\bibcard

 

  1. В результате получается файл index.xml. В нем содержится библиографический указатель.

 

DUBLETID (поиск дублетных записей в системе)

Программа используется для определения дублетных (идентичных) записей в системе и вывода их в текстовые файлы.

 

Для определения идентичности записей используются различные данные, извлекаемые из 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. Можно через пробел указать несколько баз. В таком случае проверка будет вестись по нескольким базам.

MARCVIEWER (Просмотр MARC-Записей)

Утилита служит для просмотра 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 шапка с номером записи в файле выводиться не будет.

MARCCONVERT

Программа используется для конвертации 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 - проводится замена значений в этих позициях, связанная с заданной выходной кодировкой по следующему алгоритму:

      1. кодировка utf-8 (или любая Unicode, типа utf-16, utf-32) - все позиции выставляются в "50######"
      2. кодировка "windows-1251" -> "0189####"
      3. кодировка "cp866" -> "0179####"
      4. кодировка "koi8r" -> "0199####"

 

Эти замены производятся только при экспорте записей в 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.

OPACCONTAINER (управление контейнерами)

Программа предназначена для  управления TRS-контейнерами. С помощью данной программы можно создавать файлы словарей (~TRSWORDS), файлы документов (~TRSDOCUMENT) и индекс-файлы (~TRSIN-) в TRS-контейнерах. Результат работы с этой программой аналогичен результату действий в модуле Администрирование и настройка, меню Настройка БД, вкладке Список контейнеров.

 

Формат вызова

 

opaccontainer [options] [args …]

 

Ключи

 

-h  [--help]

Вызов помощи

-a[--action]arg

Операция:

  • LIST – вывести список файлов (только для индекс-файлов);
  • ADD – добавить файл;
  • DEL – удалить файл;
  • CLEAN – удалить все записи из файла

-t [--trs-type] arg

Тип файла, над которым выполнять операцию:

  • DOCUMENT – файл документов;
  • WORDS – файл TRS-словаря;
  • INDEX – Индекс-файл (для хранения значений индексов)

-d [--dbNr] arg

Номер базы данных ADABAS

-p [--profile-Name] arg

Название профиля файлов

-c [--constraint] arg

Уточнение списка файлов. Позволяет упростить работу с большими списками файлов, задавая их укрупненную характеристику вместо явного указания элементов и позволяя системе вычислить этот список самостоятельно.

 

Значения аргументов:

  • ALL – все файлы. Используется только для удаления файлов;
  • MISSING – пропущенные (еще не существующие файлы). Используется для добавления файлов. Если для заданного контейнера в файле label.xml определены метки, но в самом контейнере отсутствуют соответствующие индекс-файлы, то они могут быть добавлены автоматически с помощью аргумента MISSING;
  • UNUSED – существующие, но не используемые файлы. Используется для удаления из TRS-контейнера тех индекс-файлов, для которых в файле label.xml не определены метки;
  • ALL-IDDB - файлы, задекларированные для всех логических баз данных;
  • MISSING-IDDB - файлы, пропущенные хотя бы для одной логической базы данных;
  • UNUSED-IDDB - существующие, но не используемые ни в одной логической базе данных файлы

-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

OPACstat (Управление пользовательскими статистическими данными)

Программа используется для управления пользовательскими статистическими данными, собираемыми системой 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 (Построение или удаление значений поисковых меток)

Программа используется для управления точками доступа (поисковыми метками), заданными пользователями для указанной логической базы данных (нескольких баз данных).

 

Данная программа вызывается в режиме командной строки и в качестве аргументов требует указания номера логической базы данных или типа формата всех баз данных, для которых требуется выполнение операций с поисковой меткой, а также имени (имен, если речь идет о нескольких точках доступа) изменяемой (добавляемой) точки доступа (поисковой метки).

 

Формат вызова

 

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

TESTRECORD (Тестирование библиографических записей)

Программа предназначена для пакетного тестирования библиографических записей 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 (Синхронизация изменений в базе данных читателей)

Программа используется с целью синхронизации изменений, произведенных в базе данных читателей, для последующего корректного формирования статистических отчетов.

Вызывается из командной строки.

 

Формат вызова

 

userhold [options]

 

Ключи

 

-h  [--help]

Вызов помощи

-r arg <dateend>

Удаление всех записей до указанной даты. В качестве аргумента указывается нужная дата в формате <ГГГГММДД>

-a arg <datebegin><dateend>

Корректировка данных за указанный период времени.

 

Аргументы:

datebegin – указывается дата, соответствующая началу текущего года. Формат даты <ГГГГММДД>. Например, 20120101.

 

dateend  – указывается дата, соответствующая текущему дню. Формат даты <ГГГГММДД>

 

Результат

 

На экран выводится информация о количестве измененных записей.

 

Пример использования

 

Изменить названия категорий читателя, для корректного съема статистики посещаемости библиотеки.

userhold.exe –a 20090101 20090601

 

В данном случае происходит изменение названия категорий читателя  в течение  временного периода, где:

«20090101» - дата начала корректировки записей, посещений библиотеки,

«20090601» - дата конца корректировки записей, посещений библиотеки.

vigruzka (Выгрузка BIBL MARC-записей из системы)

Данная программа предназначена для пакетной выгрузки библиографических записей в Российском коммуникативном формате 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 - проводится замена значений в этих позициях, связанная с заданной выходной кодировкой по следующему алгоритму:

      1. кодировка utf-8 (или любая Unicode, типа utf-16, utf-32) - все позиции выставляются в "50######"
      2. кодировка "windows-1251" -> "0189####"
      3. кодировка "cp866" -> "0179####"
      4. кодировка "koi8r" -> "0199####"

 

Эти замены производятся только при экспорте записей в 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 году.

zagruzka (загрузка библиографических записей в базу)

Программа предназначена для загрузки библиографических записей в систему 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

opacversion

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

 

Например,

OPAC-Global 2.3.0 <build2061>

Build date: Mar 23 2012 12:14:46,

 

где:

OPAC-Global 2.3.0 – номер версии программы,

build2061– это номер произведенной ревизии (примененного  пакета изменений) сборки библиотеки,

Build date  -это дата произведенной ревизии сборки.

opacusers

Описание утилиты

 

Утилита 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)

Телефон

email

(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)

Код специальности

biblActualizer

Вызывается из командной строки.

 

Предназначена для актуализации библиографических записей после изменений, внесенных в блок 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

Не обновлять индексы записей

opactext

Вызывается из командной строки.

 

Предназначена для индексирования полнотекстовых документов, ссылки на которые присутствуют в полях библиографических записей.

 

При индексировании используется поисковая метка с именем "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]

Операция:

  • UPDATE-TEXT  - обновление документов
  • REBUILD-TEXT - перезагрузка всех документов
  • CLEAN-TEXT   - очистка документов

--commit

Сохранение изменений после каждой операции

Группа  filter

-n [ --iddbNr ] arg

Номер логической базы данных

-d [ --dbNr ] arg

Номер базы данных ADABAS, по которой группировать логические БД

-p [ --profile-name ] arg

Название профиля файлов, по которому группировать  логические БД

--all-iddb

Все логические базы данных

circulation_notify

Утилита предназначена для рассылки читателям уведомлений об истекающем или истекшем сроке возврата экземпляра.

Особенности работы утилиты

Путь к утилите

В 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 можно настроить следующие параметры: