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

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку
 
(Не показано 20 проміжних версій цього користувача)
Рядок 25: Рядок 25:
'''-a, -authorities'''
'''-a, -authorities'''


— тип імпорту: авторитетні записи (файли)
— тип імпорту: авторитетні записи (файли) ([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 ±])


'''-file='''''ФАЙЛ''
'''-file='''''ФАЙЛ''
Рядок 45: Рядок 45:
'''-o, -offset='''''КІЛЬКІСТЬ''
'''-o, -offset='''''КІЛЬКІСТЬ''


— зміщення у файлі перед імпортом, тобто ''КІЛЬКІСТЬ'' записів, які потрібно пропустити.
— зміщення у файлі перед імпортом, тобто ''КІЛЬКІСТЬ'' записів, які потрібно пропустити.([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 ±])


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


'''-l'''
'''-l='''''ФАЙЛ''


журналються у файл події, виконані для кожного запису та його статусу
журналюються у ''ФАЙЛ'' події, виконані для кожного запису та його статусу([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 ±])


'''-append'''
'''-append'''
Рядок 69: Рядок 69:
'''-c='''''РІЗНОВИД''
'''-c='''''РІЗНОВИД''


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


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


'''-authtypes'''
'''-authtypes='''''ФАЙЛ''


— yaml-файл з authoritiesTypes та відмітним полем запису для того, щоб зберегти правильний тип authtype
— 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])


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


— 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'''
'''-filter'''


— список полів, які не будуть імпортовані. Може бути будь-яке з 000 до 999 полів, підполів чи відповідність підполя значенню, наприклад, 200aзначення
— список полів, які не будуть імпортовані. Може бути будь-яке з 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'''
'''-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'''
'''-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'''
'''-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='''''<ПОЛЕ>''
'''-k, -keepids='''''<ПОЛЕ>''


— зберігати ідентифікатори у ''ПОЛІ'' (корисно для авторитетних записів, коли поле 001 містить ідентифікатор „authid“ Koha, яка може містити цінну інформацію для авторитетних записів, що надходять з БК (LC) або НБФ (BNF). Мало користі для бібліографічних записів).
— зберігати ідентифікатор запису у ''ПОЛІ'' (напр. 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='''''<ПОЛЕ>''
'''-match='''''<ПОЛЕ>''


— ''ПОЛЕ'' matchindex,fieldtomatch matchpoint, що використовується для дедуплікації fieldtomatch, може бути або від 001 до 999 або поле і список підполів на кшталт 100abcde
— ''ПОЛЕ''= індекс_відповідності,поле_для_відповідності, що використовується для дедублікації поля_для_відповідності. Поле для відповідності зазначається як від 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'''
'''-i,-isbn'''


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


'''-cleanisbn'''
'''-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 ±])
— Clean ISBN fields from entering biblio records, ie removes hyphens. By default, ISBN are cleaned. --nocleanisbn will keep ISBN unchanged.
— ОчиЧисті поля ISBN вводяться у бібліографічні записи, тобто видаляються дефіси. За замовчуванням ISBN очищено. - nocleanisbn збереже ISBN без змін.


'''-x=TAG'''
'''-nocleanisbn'''


— збереже ISBN без змін (за умовчанням).
— Source bib TAG for reporting the source bib number


'''-y=SUBFIELD'''
'''-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 ±])
— Source SUBFIELD for reporting the source bib number


'''-idmap=FILE'''
'''-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 ±])
— FILE for the koha bib and source id


'''-keepids'''
'''-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 ±])
— 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'''
'''-dedupbarcode'''


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


— це код структури, до якої запитані записи будуть додаватися, коли вони будуть створені. Якщо не вказано, тоді використовуватиметься ''структура за умовчанням''.
— 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'''
'''-custom='''''МОДУЛЬ''


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

== Приклади ==
* 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


== Джерела ==
== Джерела ==

Поточна версія на 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

Джерела