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

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

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

Джерела