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

Матеріал з Koha Ukraine Wiki
Перейти до: навігація, пошук
(Опис)
(Приклади)
 
(Не показано 19 проміжних версій цього користувача)
Рядок 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, яка може містити цінну інформацію для авторитетних записів, що надходять з БК (LOC) або НБФ (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 очищатимуться.  
+
— очищати 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'''  
 
'''-nocleanisbn'''  
  
— збереже ISBN без змін.
+
— збереже ISBN без змін (за умовчанням).
  
 
'''-x='''''ОЗНАКА''
 
'''-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='''''ПІДПОЛЕ''
 
'''-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='''''ФАЙЛ''
 
'''-idmap='''''ФАЙЛ''
  
— ''ФАЙЛ'' для koha bib та ідентифікатора джерела
+
— ''ФАЙЛ''-мапа з експортом джерельних біб-номерів та 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 ±])
 
 
'''-keepids'''
 
 
 
— зберігати ідентифікатори в полі 009 (корисно для авторитетних записів, де поле 001 містить ідент. „authid“ Koha, що може містити цінну інформацію для авторитетних записів, що надходять з БК (LOC) або НБФ (BNF), Це непридатне для біб-записів).
 
  
 
'''-dedupbarcode'''
 
'''-dedupbarcode'''
Рядок 149: Рядок 145:
 
'''-custom='''''МОДУЛЬ''
 
'''-custom='''''МОДУЛЬ''
  
— цей параметр дозволяє використовувати локальний модуль із підпрограмою налаштування, яка викликається для кожного MARC-запису. Якщо ім’я файлу не вказано, використовуватиметься LocalChanges.pm, що знаходиться у теці „migration_tools“. Ви можете передати абсолютне ім'я файлу або ім'я файлу з теки „migration_tools“.
+
— цей параметр дозволяє використовувати локальний модуль із підпрограмою налаштування, яка викликається для кожного 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
  
 
== Джерела ==
 
== Джерела ==

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

Джерела