Bulkmarcimport.pl: відмінності між версіями

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку
Немає опису редагування
 
(Не показано 29 проміжних версій цього користувача)
Рядок 11: Рядок 11:
== Застереження ==
== Застереження ==


Не використовуйте цей сценарій, перш ніж внесли та перевірили ваші таблиці MARC-ознак двічі (чи більше!). Інакше імпорт не буде працювати правильно, і Ви отримаєте зіпсовані дані.
Don't use this script before you've entered and checked your MARC parameters tables twice (or more!). Otherwise, the import won't work correctly and you will get invalid data.


== Опис ==
== Опис ==


-h
'''-h'''


— екран з цією довідкою (англійською)
This version/help screen
-b, -biblios


'''-b, -biblios'''
Type of import: bibliographic records
-a, -authorities


— тип імпорту: бібліографічні записи
Type of import: authority records
-file=FILE


'''-a, -authorities'''
The FILE to import
-v


— тип імпорту: авторитетні записи (файли) ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=b1c2340f2db783cea5a6c08185101ae434a0c8e9;hp=a6611b1f01487976592531b5451901e5c2358c92;hb=7eca37db4f788ca2e9c8f77cc37bc394870c1c4e;hpb=0a50277f804b09aa6f187ec6d2bb1c7c69b80a09 ±])
Verbose mode. 1 means "some infos", 2 means "MARC dumping"
-fk


'''-file='''''ФАЙЛ''
Turn off foreign key checks during import.
-n=NUMBER


— ''ФАЙЛ'', який імпортуємо
The NUMBER of records to import. If missing, all the file is imported
-o, -offset=NUMBER


'''-v'''
File offset before importing, ie NUMBER of records to skip.
-commit=NUMBER


— багатослівний режим. 1 означає „деяку інформацію“, 2 означає „MARC-видрук“
The NUMBER of records to wait before performing a 'commit' operation
-l


'''-fk'''
File logs actions done for each record and their status into file
-append


— відключає перевірку зовнішніх (foreign) ключів під час імпорту.
If specified, data will be appended to the logfile. If not, the logfile will be erased for each execution.
-t, -test


'''-n='''''КІЛЬКІСТЬ''
Test mode: parses the file, saying what he would do, but doing nothing.
-s


— ''КІЛЬКІСТЬ'' записів записів для імпорту. Якщо відсутня, весь файл імпортується.
Skip automatic conversion of MARC-8 to UTF-8. This option is provided for debugging.
-c=CHARACTERISTIC


'''-o, -offset='''''КІЛЬКІСТЬ''
The CHARACTERISTIC MARC flavour. At the moment, only MARC21 and UNIMARC are supported. MARC21 by default.
-d


— зміщення у файлі перед імпортом, тобто ''КІЛЬКІСТЬ'' записів, які потрібно пропустити.([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=b4b84bbf35b24ee06037da84e8188cebd1350e44;hp=019167f4e9aa8b0d8edc76313259b8526fc7fe2b;hb=004524584ba2c54380a2bc30616afd2c543c060c;hpb=c2fca2239bfb4ffffdb72f59a1adfa51ee428bff ±])
Delete EVERYTHING related to biblio in koha-DB before import. Tables: biblio, biblioitems, items
-m=FORMAT


'''-commit='''''КІЛЬКІСТЬ''
Input file FORMAT: MARCXML or ISO2709 (defaults to ISO2709)
-authtypes


— ''КІЛЬКІСТЬ'' записів, на які потрібно чекати, перш ніж виконати операцію „commit“ (вставки в БД).
file yamlfile with authoritiesTypes and distinguishable record field in order to store the correct authtype
-yaml


'''-l='''''ФАЙЛ''
yaml file format a yaml file with ids
-filter


— журналюються у ''ФАЙЛ'' події, виконані для кожного запису та його статусу([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=b1c2340f2db783cea5a6c08185101ae434a0c8e9;hp=a6611b1f01487976592531b5451901e5c2358c92;hb=7eca37db4f788ca2e9c8f77cc37bc394870c1c4e;hpb=0a50277f804b09aa6f187ec6d2bb1c7c69b80a09 ±])
list of fields that will not be imported. Can be any from 000 to 999 or field, subfield and subfield's matching value such as 200avalue
-insert


'''-append'''
if set, only insert when possible
-update


— якщо вказано, журнальний файл буде доповнений даними. Якщо ні, файл журналу витиратиметься перед кожним виконанням.
if set, only updates (any biblio should have a matching record)
-all


'''-t, -test'''
if set, do whatever is required
-k, -keepids=<FIELD>


— режим тестування: аналізує файл, повідомляє що буде робити, але нічого не робить.
Field store ids in FIELD (usefull for authorities, where 001 contains the authid for Koha, that can contain a very valuable info for authorities coming from LOC or BNF. useless for biblios probably)
-match=<FIELD>


'''-s'''
FIELD matchindex,fieldtomatch matchpoint to use to deduplicate fieldtomatch can be either 001 to 999 or field and list of subfields as such 100abcde
-i,-isbn


— пропускає автоматичне перетворення MARC-8 в UTF-8. Ця опція передбачена для відлагодження.
If set, a search will be done on isbn, and, if the same isbn is found, the biblio is not added. It's another method to deduplicate. -match & -isbn can be both set.
-cleanisbn


'''-c='''''РІЗНОВИД''
Clean ISBN fields from entering biblio records, ie removes hyphens. By default, ISBN are cleaned. --nocleanisbn will keep ISBN unchanged.
-x=TAG


— ''РІЗНОВИД'' MARC-стандарту. На даний момент підтримуються лише MARC21 та UNIMARC. MARC21 за умовчанням.
Source bib TAG for reporting the source bib number
-y=SUBFIELD


'''-d'''
Source SUBFIELD for reporting the source bib number
-idmap=FILE


— вилучити усе, що стосується бібліографічних записів у БД Koha перед імпортом. Таблиці: biblio та biblioitems (біб-записи), items (примірники).
FILE for the koha bib and source id
-keepids


'''-m='''''ФОРМАТ''
Store ids in 009 (usefull for authorities, where 001 contains the authid for Koha, that can contain a very valuable info for authorities coming from LOC or BNF. useless for biblios probably)
-dedupbarcode


— вхідний ''ФОРМАТ'' файлу: MARCXML або ISO2709 (типово ISO2709).
If set, whenever a duplicate barcode is detected, it is removed and the attempt to add the record is retried, thereby giving the record a blank barcode. This is useful when something has set barcodes to be a biblio ID, or similar (usually other software.)
-framework


'''-authtypes='''''ФАЙЛ''
This is the code for the framework that the requested records will have attached to them when they are created. If not specified, then the default framework will be used.
-custom=MODULE


— yaml-''ФАЙЛ'' з authtypecode та відмітним полем запису для того, щоб зберегти правильний тип авторитетного джерела. (Приклад файлу є [https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=14504 тут]) ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])
This parameter allows you to use a local module with a customize subroutine that is called for each MARC record. If no filename is passed, LocalChanges.pm is assumed to be in the migration_tools subdirectory. You may pass an absolute file name or a file name from the migration_tools directory.

'''-yaml='''''ФАЙЛ''

— yaml-''ФАЙЛ'' для виводу ідентифікаторів. (Значення biblionumber authid підполя 2..-полів) ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])

'''-filter'''

— список полів, які не будуть імпортовані. Може бути будь-яке з 000 до 999 полів, підполів чи відповідність підполя значенню, наприклад, 200aзначення. Параметр -filter може повторюватися.([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])

'''-insert'''

— якщо вибрано, намагатися лише вставляти, коли це можливо. ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])

'''-update'''

— якщо вибрано, лише оновлювати (кожен бібліографічний запис повинен мати відповідний запис). ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])

'''-all'''

— якщо вибрано, робити все, що потрібно. (-insert та -update) ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])

'''-k, -keepids='''''<ПОЛЕ>''

— зберігати ідентифікатор запису у ''ПОЛІ'' (напр. 009 чи 900a) (корисно для авторитетних записів, коли поле 001 містить ідентифікатор „authid“ Koha, водночас джерельне 001 може містити цінну інформацію про авторитетні записи, що надходять з БК (LOC) або НБФ (BNF). Мало користі для бібліографічних записів).([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=b1c2340f2db783cea5a6c08185101ae434a0c8e9;hp=a6611b1f01487976592531b5451901e5c2358c92;hb=7eca37db4f788ca2e9c8f77cc37bc394870c1c4e;hpb=0a50277f804b09aa6f187ec6d2bb1c7c69b80a09 ±])

'''-match='''''<ПОЛЕ>''

— ''ПОЛЕ''= індекс_відповідності,поле_для_відповідності, що використовується для дедублікації поля_для_відповідності. Поле для відповідності зазначається як від 001 до 999 або поле і список підполів на кшталт 100abcde. Параметр -match може повторюватися. ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=b1c2340f2db783cea5a6c08185101ae434a0c8e9;hp=a6611b1f01487976592531b5451901e5c2358c92;hb=7eca37db4f788ca2e9c8f77cc37bc394870c1c4e;hpb=0a50277f804b09aa6f187ec6d2bb1c7c69b80a09 ±])

'''-i,-isbn'''

— якщо вибрано, відбуватиметься пошук за ISBN, і якщо знайдено такий самий ISBN, біб-запис не буде додано. Це ще один спосіб дедублікації. Параметри -match та -isbn можуть використовуватися разом.

'''-cleanisbn'''

— очищати ISBN-поля при внесенні у бібліографічні записи, тобто вилучати дефіси. Типово ISBN очищатимуться. ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=ddfa5e0a96391ad73104fa1a159d85664e11b0e1;hp=1d31382f537095f286b2abc7a20c036c415676d4;hb=c9d082bcdc353d5f49703cd598d5f3cc1f0f55da;hpb=2ea74bef65a9c5e14a6026aa2c9942fe511a87b3 ±])

'''-nocleanisbn'''

— збереже ISBN без змін (за умовчанням).

'''-x='''''ОЗНАКА''

— біб-''ОЗНАКА'' джерельного біб-номера ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=5fc8e4c807a9e212593c5a9c2eb73e034c03e0a2;hp=b4b84bbf35b24ee06037da84e8188cebd1350e44;hb=a7d1ab00418bde1a6bcb00cc212bb29d5f9b8607;hpb=13cce1b3c52235abe581bd7e85d87c2eba36d1ef ±])

'''-y='''''ПІДПОЛЕ''

— ''ПІДПОЛЕ'' джерельного біб-номера (використовується для ознак >= 10) ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=5fc8e4c807a9e212593c5a9c2eb73e034c03e0a2;hp=b4b84bbf35b24ee06037da84e8188cebd1350e44;hb=a7d1ab00418bde1a6bcb00cc212bb29d5f9b8607;hpb=13cce1b3c52235abe581bd7e85d87c2eba36d1ef ±])

'''-idmap='''''ФАЙЛ''

— ''ФАЙЛ''-мапа з експортом джерельних біб-номерів та biblionumber з Koha ([http://git.koha-community.org/gitweb/?p=koha.git;a=blobdiff;f=misc/migration_tools/bulkmarcimport.pl;h=5fc8e4c807a9e212593c5a9c2eb73e034c03e0a2;hp=b4b84bbf35b24ee06037da84e8188cebd1350e44;hb=a7d1ab00418bde1a6bcb00cc212bb29d5f9b8607;hpb=13cce1b3c52235abe581bd7e85d87c2eba36d1ef ±])

'''-dedupbarcode'''

— якщо вибрано, то у випадку коли виявляється дублікат штрих-коду, він видаляється, і повторюється спроба додати запис, тим самим даючи запис з порожнім штрих-кодом. Це корисно, коли хтось встановлював штрих-коди відповідні ідентифікаторам біб-записів чи якось подібно (зазвичай це прийшло з іншого ПЗ).

'''-framework'''

— це код структури, до якої запитані записи будуть додаватися, коли вони будуть створені. Якщо не вказано, тоді використовуватиметься ''структура за умовчанням''.

'''-custom='''''МОДУЛЬ''

— цей параметр дозволяє використовувати локальний модуль із підпрограмою налаштування, яка викликається для кожного MARC-запису. Якщо ім’я файлу не вказано, використовуватиметься LocalChanges.pm (пр. [https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=23063&action=diff тут]), що знаходиться у теці „migration_tools“. Ви можете передати абсолютне ім'я файлу або ім'я файлу з теки „migration_tools“.

== Приклади ==
* https://lists.katipo.co.nz/public/koha/2017-May/047965.html
./bulkmarcimport.pl -b -file serial-01.mrc -v -framework SER -all -match Control-number,001 001Code
* https://lists.katipo.co.nz/public/koha/2012-March/032286.html
./bulkmarcimport.pl -d -fk -match=barcode,999c -commit 1000 -v -file /tmp/newer40_77000.mrc
* https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635
export KOHA_CONF=/home/koha/etc/koha-conf.xml && export PERL5LIB=/home/src && /usr/bin/perl /home/koha/src/misc/migration_tools/bulkmarcimport.pl -s \
-yaml /path_to_the_extract_directory_of_test5635/TR728R39C001.RAW.yaml -match ident,001 -keepids 009 \
-l /path_to_the_extract_directory_of_test5635/log/ILN2011-10-04-02-c.csv -a -file /path_to_the_extract_directory_of_test5635/fichiers/TR728R39C001.RAW \
-authtypes /path_to_the_extract_directory_of_test5635/authtypes.yml

== Джерела ==
* https://perldoc.koha-community.org/misc/migration_tools/bulkmarcimport.html
* http://git.koha-community.org/gitweb/?p=koha.git;a=blob;f=misc/migration_tools/bulkmarcimport.pl;h=9a3b44c2826b71067abe58ab98f7bd6cd58f35ce;hb=refs/heads/master
* https://github.com/Koha-Community/Koha/blob/master/misc/migration_tools/bulkmarcimport.pl

Поточна версія на 12:26, 25 березня 2018

Назва

bulkmarcimport.pl — імпорт бібліографічних та авторитетних записів у Коха

Використання

$ export KOHA_CONF=/etc/koha.conf
$ perl misc/migration_tools/bulkmarcimport.pl -d -commit 1000 \\
   -file /home/jmf/koha.mrc -n 3000

Застереження

Не використовуйте цей сценарій, перш ніж внесли та перевірили ваші таблиці MARC-ознак двічі (чи більше!). Інакше імпорт не буде працювати правильно, і Ви отримаєте зіпсовані дані.

Опис

-h

— екран з цією довідкою (англійською)

-b, -biblios

— тип імпорту: бібліографічні записи

-a, -authorities

— тип імпорту: авторитетні записи (файли) (±)

-file=ФАЙЛ

ФАЙЛ, який імпортуємо

-v

— багатослівний режим. 1 означає „деяку інформацію“, 2 означає „MARC-видрук“

-fk

— відключає перевірку зовнішніх (foreign) ключів під час імпорту.

-n=КІЛЬКІСТЬ

КІЛЬКІСТЬ записів записів для імпорту. Якщо відсутня, весь файл імпортується.

-o, -offset=КІЛЬКІСТЬ

— зміщення у файлі перед імпортом, тобто КІЛЬКІСТЬ записів, які потрібно пропустити.(±)

-commit=КІЛЬКІСТЬ

КІЛЬКІСТЬ записів, на які потрібно чекати, перш ніж виконати операцію „commit“ (вставки в БД).

-l=ФАЙЛ

— журналюються у ФАЙЛ події, виконані для кожного запису та його статусу(±)

-append

— якщо вказано, журнальний файл буде доповнений даними. Якщо ні, файл журналу витиратиметься перед кожним виконанням.

-t, -test

— режим тестування: аналізує файл, повідомляє що буде робити, але нічого не робить.

-s

— пропускає автоматичне перетворення MARC-8 в UTF-8. Ця опція передбачена для відлагодження.

-c=РІЗНОВИД

РІЗНОВИД MARC-стандарту. На даний момент підтримуються лише MARC21 та UNIMARC. MARC21 за умовчанням.

-d

— вилучити усе, що стосується бібліографічних записів у БД Koha перед імпортом. Таблиці: biblio та biblioitems (біб-записи), items (примірники).

-m=ФОРМАТ

— вхідний ФОРМАТ файлу: MARCXML або ISO2709 (типово ISO2709).

-authtypes=ФАЙЛ

— yaml-ФАЙЛ з authtypecode та відмітним полем запису для того, щоб зберегти правильний тип авторитетного джерела. (Приклад файлу є тут) (±, b)

-yaml=ФАЙЛ

— yaml-ФАЙЛ для виводу ідентифікаторів. (Значення biblionumber authid підполя 2..-полів) (±, b)

-filter

— список полів, які не будуть імпортовані. Може бути будь-яке з 000 до 999 полів, підполів чи відповідність підполя значенню, наприклад, 200aзначення. Параметр -filter може повторюватися.(±, b)

-insert

— якщо вибрано, намагатися лише вставляти, коли це можливо. (±, b)

-update

— якщо вибрано, лише оновлювати (кожен бібліографічний запис повинен мати відповідний запис). (±, b)

-all

— якщо вибрано, робити все, що потрібно. (-insert та -update) (±, b)

-k, -keepids=<ПОЛЕ>

— зберігати ідентифікатор запису у ПОЛІ (напр. 009 чи 900a) (корисно для авторитетних записів, коли поле 001 містить ідентифікатор „authid“ Koha, водночас джерельне 001 може містити цінну інформацію про авторитетні записи, що надходять з БК (LOC) або НБФ (BNF). Мало користі для бібліографічних записів).(±)

-match=<ПОЛЕ>

ПОЛЕ= індекс_відповідності,поле_для_відповідності, що використовується для дедублікації поля_для_відповідності. Поле для відповідності зазначається як від 001 до 999 або поле і список підполів на кшталт 100abcde. Параметр -match може повторюватися. (±)

-i,-isbn

— якщо вибрано, відбуватиметься пошук за ISBN, і якщо знайдено такий самий ISBN, біб-запис не буде додано. Це ще один спосіб дедублікації. Параметри -match та -isbn можуть використовуватися разом.

-cleanisbn

— очищати ISBN-поля при внесенні у бібліографічні записи, тобто вилучати дефіси. Типово ISBN очищатимуться. (±)

-nocleanisbn

— збереже ISBN без змін (за умовчанням).

-x=ОЗНАКА

— біб-ОЗНАКА джерельного біб-номера (±)

-y=ПІДПОЛЕ

ПІДПОЛЕ джерельного біб-номера (використовується для ознак >= 10) (±)

-idmap=ФАЙЛ

ФАЙЛ-мапа з експортом джерельних біб-номерів та biblionumber з Koha (±)

-dedupbarcode

— якщо вибрано, то у випадку коли виявляється дублікат штрих-коду, він видаляється, і повторюється спроба додати запис, тим самим даючи запис з порожнім штрих-кодом. Це корисно, коли хтось встановлював штрих-коди відповідні ідентифікаторам біб-записів чи якось подібно (зазвичай це прийшло з іншого ПЗ).

-framework

— це код структури, до якої запитані записи будуть додаватися, коли вони будуть створені. Якщо не вказано, тоді використовуватиметься структура за умовчанням.

-custom=МОДУЛЬ

— цей параметр дозволяє використовувати локальний модуль із підпрограмою налаштування, яка викликається для кожного MARC-запису. Якщо ім’я файлу не вказано, використовуватиметься LocalChanges.pm (пр. тут), що знаходиться у теці „migration_tools“. Ви можете передати абсолютне ім'я файлу або ім'я файлу з теки „migration_tools“.

Приклади

./bulkmarcimport.pl -b -file serial-01.mrc -v -framework SER -all -match Control-number,001 001Code
./bulkmarcimport.pl -d -fk -match=barcode,999c -commit 1000 -v -file /tmp/newer40_77000.mrc
export KOHA_CONF=/home/koha/etc/koha-conf.xml && export PERL5LIB=/home/src && /usr/bin/perl /home/koha/src/misc/migration_tools/bulkmarcimport.pl -s \
   -yaml /path_to_the_extract_directory_of_test5635/TR728R39C001.RAW.yaml -match ident,001 -keepids 009 \
   -l /path_to_the_extract_directory_of_test5635/log/ILN2011-10-04-02-c.csv -a -file /path_to_the_extract_directory_of_test5635/fichiers/TR728R39C001.RAW \
   -authtypes /path_to_the_extract_directory_of_test5635/authtypes.yml

Джерела