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

Матеріал з Koha Ukraine Wiki
Перейти до: навігація, пошук
(Приклади)
 
(Не показано 28 проміжних версій цього користувача)
Рядок 15: Рядок 15:
 
== Опис ==
 
== Опис ==
  
-h
+
'''-h'''
 +
 
 
— екран з цією довідкою (англійською)
 
— екран з цією довідкою (англійською)
  
-b, -biblios
+
'''-b, -biblios'''
 +
 
 
— тип імпорту: бібліографічні записи
 
— тип імпорту: бібліографічні записи
  
-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='''''ФАЙЛ''
 +
 
 +
— ''ФАЙЛ'', який імпортуємо
 +
 
 +
'''-v'''
 +
 
 +
— багатослівний режим. 1 означає „деяку інформацію“, 2 означає „MARC-видрук“
 +
 
 +
'''-fk'''
 +
 
 +
— відключає перевірку зовнішніх (foreign) ключів під час імпорту.
 +
 
 +
'''-n='''''КІЛЬКІСТЬ''
 +
 
 +
— ''КІЛЬКІСТЬ'' записів записів для імпорту. Якщо відсутня, весь файл імпортується.
 +
 
 +
'''-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“ (вставки в БД).
 +
 
 +
'''-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'''
 +
 
 +
— якщо вказано, журнальний файл буде доповнений даними. Якщо ні, файл журналу витиратиметься перед кожним виконанням.
 +
 
 +
'''-t, -test'''
 +
 
 +
— режим тестування: аналізує файл, повідомляє що буде робити, але нічого не робить.
 +
 
 +
'''-s'''
 +
 
 +
— пропускає автоматичне перетворення MARC-8 в UTF-8. Ця опція передбачена для відлагодження.
 +
 
 +
'''-c='''''РІЗНОВИД''
 +
 
 +
— ''РІЗНОВИД'' MARC-стандарту. На даний момент підтримуються лише MARC21 та UNIMARC. MARC21 за умовчанням.
 +
 
 +
'''-d'''
 +
 
 +
— вилучити усе, що стосується бібліографічних записів у БД Koha перед імпортом. Таблиці: biblio та biblioitems (біб-записи), items (примірники).
 +
 
 +
'''-m='''''ФОРМАТ''
 +
 
 +
— вхідний ''ФОРМАТ'' файлу: MARCXML або ISO2709 (типово ISO2709).
 +
 
 +
'''-authtypes='''''ФАЙЛ''
 +
 
 +
— 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-''ФАЙЛ'' для виводу ідентифікаторів. (Значення 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'''
  
    Type of import: authority records
+
— список полів, які не будуть імпортовані. Може бути будь-яке з 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])
-file=FILE
 
  
    The FILE to import
+
'''-insert'''
-v
 
  
    Verbose mode. 1 means "some infos", 2 means "MARC dumping"
+
— якщо вибрано, намагатися лише вставляти, коли це можливо. ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])
-fk
 
  
    Turn off foreign key checks during import.
+
'''-update'''
-n=NUMBER
 
  
    The NUMBER of records to import. If missing, all the file is imported
+
— якщо вибрано, лише оновлювати (кожен бібліографічний запис повинен мати відповідний запис). ([https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=16364&action=diff ±], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5635 b])
-o, -offset=NUMBER
 
  
    File offset before importing, ie NUMBER of records to skip.
+
'''-all'''
-commit=NUMBER
 
  
    The NUMBER of records to wait before performing a 'commit' operation
+
— якщо вибрано, робити все, що потрібно. (-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])
-l
 
  
    File logs actions done for each record and their status into file
+
'''-k, -keepids='''''<ПОЛЕ>''
-append
 
  
    If specified, data will be appended to the logfile. If not, the logfile will be erased for each execution.
+
— зберігати ідентифікатор запису у ''ПОЛІ'' (напр. 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 ±])
-t, -test
 
  
    Test mode: parses the file, saying what he would do, but doing nothing.
+
'''-match='''''<ПОЛЕ>''
-s
 
  
    Skip automatic conversion of MARC-8 to UTF-8. This option is provided for debugging.
+
— ''ПОЛЕ''= індекс_відповідності,поле_для_відповідності, що використовується для дедублікації поля_для_відповідності. Поле для відповідності зазначається як від 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 ±])
-c=CHARACTERISTIC
 
  
    The CHARACTERISTIC MARC flavour. At the moment, only MARC21 and UNIMARC are supported. MARC21 by default.
+
'''-i,-isbn'''
-d
 
  
    Delete EVERYTHING related to biblio in koha-DB before import. Tables: biblio, biblioitems, items
+
— якщо вибрано, відбуватиметься пошук за ISBN, і якщо знайдено такий самий ISBN, біб-запис не буде додано. Це ще один спосіб дедублікації. Параметри -match та -isbn можуть використовуватися разом.
-m=FORMAT
 
  
    Input file FORMAT: MARCXML or ISO2709 (defaults to ISO2709)
+
'''-cleanisbn'''
-authtypes
 
  
    file yamlfile with authoritiesTypes and distinguishable record field in order to store the correct authtype
+
— очищати 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 ±])
-yaml
 
  
    yaml file format a yaml file with ids
+
'''-nocleanisbn'''
-filter
 
  
    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
+
— збереже ISBN без змін (за умовчанням).
-insert
 
  
    if set, only insert when possible
+
'''-x='''''ОЗНАКА''
-update
 
  
    if set, only updates (any biblio should have a matching record)
+
— біб-''ОЗНАКА'' джерельного біб-номера ([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 ±])
-all
 
  
    if set, do whatever is required
+
'''-y='''''ПІДПОЛЕ''
-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)
+
— ''ПІДПОЛЕ'' джерельного біб-номера (використовується для ознак >= 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 ±])
-match=<FIELD>
 
  
    FIELD matchindex,fieldtomatch matchpoint to use to deduplicate fieldtomatch can be either 001 to 999 or field and list of subfields as such 100abcde
+
'''-idmap='''''ФАЙЛ''
-i,-isbn
 
  
    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.
+
— ''ФАЙЛ''-мапа з експортом джерельних біб-номерів та 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 ±])
-cleanisbn
 
  
    Clean ISBN fields from entering biblio records, ie removes hyphens. By default, ISBN are cleaned. --nocleanisbn will keep ISBN unchanged.
+
'''-dedupbarcode'''
-x=TAG
 
  
    Source bib TAG for reporting the source bib number
+
— якщо вибрано, то у випадку коли виявляється дублікат штрих-коду, він видаляється, і повторюється спроба додати запис, тим самим даючи запис з порожнім штрих-кодом. Це корисно, коли хтось встановлював штрих-коди відповідні ідентифікаторам біб-записів чи якось подібно (зазвичай це прийшло з іншого ПЗ).
-y=SUBFIELD
 
  
    Source SUBFIELD for reporting the source bib number
+
'''-framework'''
-idmap=FILE
 
  
    FILE for the koha bib and source id
+
— це код структури, до якої запитані записи будуть додаватися, коли вони будуть створені. Якщо не вказано, тоді використовуватиметься ''структура за умовчанням''.
-keepids
 
  
    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)
+
'''-custom='''''МОДУЛЬ''
-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.)
+
— цей параметр дозволяє використовувати локальний модуль із підпрограмою налаштування, яка викликається для кожного MARC-запису. Якщо ім’я файлу не вказано, використовуватиметься LocalChanges.pm (пр. [https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=23063&action=diff тут]), що знаходиться у теці „migration_tools“. Ви можете передати абсолютне ім'я файлу або ім'я файлу з теки „migration_tools“.
-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
+
* 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
  
    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://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

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

Джерела