Відмінності між версіями «Оновлення Koha, встановленої з джерела»
Dubyk (обговорення • внесок) м (→Отримання останньої стабільної версій Koha 3.4.2) |
Dubyk (обговорення • внесок) |
||
(Не показана 281 проміжна версія 2 користувачів) | |||
Рядок 1: | Рядок 1: | ||
− | + | <b>Наповнення цієї сторінки на цій площадці заморожено! <br /> | |
+ | Подальше редагування відбувається на сайті української спільноти користувачів АБІС Koha [http://wiki.koha.org.ua wiki.koha.org.ua]!<br /> | ||
+ | Ласкаво просимо!</b> | ||
− | Стосується встановлення Koha 3. | + | Оновлення до Koha 3.16.x, встановленої з джерела |
+ | |||
+ | Стосується встановлення Koha 3.16.x за інструкцією „[[Встановлення Koha з джерела на ОС Debian]]“ | ||
= Резервні копії = | = Резервні копії = | ||
− | + | == Резервування даних == | |
− | Якщо | + | |
+ | Резервуємо командою | ||
+ | |||
+ | mysqldump -u$MySQLUser -p$MySQLPassword $KohaDB > mysqldump__$time_shtamp.sql | ||
+ | |||
+ | (замість змінних $value підставляємо власні значення) | ||
+ | |||
+ | Якщо надалі буде потрібно повернутися до резервної версії, це можна буде зробити командою mysql -u$MySQLUser -p$MySQLPassword $KohaDB < mysqldump__$time_shtamp.sql, попередньо очистивши чи створивши БД $KohaDB). | ||
+ | |||
+ | == Резервування програмних файлів == | ||
+ | |||
+ | Виконуємо команди | ||
+ | |||
+ | tar -cvf $folder_$time_shtamp.tar $folder | ||
+ | bzip2 -f $folder_$time_shtamp.tar | ||
+ | |||
+ | для кожної з тек | ||
+ | |||
+ | /usr/share/koha3 | ||
+ | /etc/apache2/sites-available/Koha3 | ||
+ | /etc/apache2/sites-enabled/Koha3 | ||
+ | /etc/apache2/ports.conf | ||
+ | /etc/koha3/ | ||
+ | /etc/init.d/zebra-server | ||
+ | /etc/init.d/zebraqueue-daemon | ||
+ | /etc/init.d/koha-zebra-daemon | ||
+ | /var/log/koha3 | ||
+ | /var/lib/koha3 | ||
+ | /var/lock/koha3 | ||
= Журнал попереднього встановлення = | = Журнал попереднього встановлення = | ||
Рядок 12: | Рядок 44: | ||
Дивимося у конфігураційному файлі | Дивимося у конфігураційному файлі | ||
/etc/koha3/koha-conf.xml | /etc/koha3/koha-conf.xml | ||
− | за розміщенням журналу встановлення | + | за розміщенням журналу встановлення, напр. |
<config> | <config> | ||
<install_log>/usr/share/koha3/misc/koha-install-log</install_log> | <install_log>/usr/share/koha3/misc/koha-install-log</install_log> | ||
− | = Отримання останньої стабільної версій Koha 3. | + | = Отримання останньої стабільної версій Koha 3.16.02 = |
su АдміністраторСистемиKoha | su АдміністраторСистемиKoha | ||
Рядок 26: | Рядок 58: | ||
wget http://download.koha-community.org/koha-latest.tar.gz | wget http://download.koha-community.org/koha-latest.tar.gz | ||
tar -xzf koha-latest.tar.gz | tar -xzf koha-latest.tar.gz | ||
+ | ls | ||
+ | |||
+ | (для наступних оновлень зручно з цього коду створити сценарій, напр., get_latest_KOHA_and_unpack.sh) | ||
+ | |||
+ | = Перевірки та довстановлення пакунків = | ||
+ | |||
+ | == Перевірка аналізатора SAX Parser == | ||
+ | |||
+ | У теці Koha виконати | ||
+ | |||
+ | perl ~/koha/koha-3.16.02/misc/sax_parser_print.pl | ||
+ | |||
+ | Ви повинні побачити щось таке | ||
+ | |||
+ | XML::LibXML::SAX::Parser=HASH(0x81fe220) | ||
+ | |||
+ | Якщо ж є PurePerl чи Expat, то необхідно поправити файл /etc/perl/XML/SAX/ParserDetails.ini (запис щодо XML::LibXML::SAX::Parser має бути найнижче) | ||
+ | |||
+ | == Перевірка чи встановлені усі необхідні пакунки == | ||
+ | |||
+ | Команда | ||
+ | |||
+ | perl ~/koha/koha-3.16.02/koha_perl_deps.pl -c -u -m | ||
+ | |||
+ | видасть список відсутніх модулів та модулів, які необхідно оновити. | ||
+ | |||
+ | Вам необхідно знайти та встановити ці модулі (ймовірно, що список буде порожнім, оскільки всі необхідні пакунки повинні згадуватися у цьому керівництві вище). | ||
+ | |||
+ | Відсутні модулі чи оновлені версії шукайте у гілках Debian testin/unstable, репозитарії debian.koha-community.org або ж в CPAN (Perl-модулі з CPAN встановлюються командую на кшталт „sudo cpan HTTP::OAI“). | ||
+ | |||
+ | == Якщо у попередньому виводі є зауваження на кшталт такого == | ||
+ | |||
+ | Warning: prerequisite DateTime::Format::DateParse 0.04 not found. | ||
+ | Warning: prerequisite Gravatar::URL 1.03 not found. | ||
+ | Warning: prerequisite DateTime::Format::ICal 0.09 not found. | ||
+ | Warning: prerequisite Modern::Perl 1.03 not found. | ||
+ | Warning: prerequisite Readonly 1.03 not found. | ||
+ | Warning: prerequisite Readonly::XS 1.02 not found. | ||
+ | Warning: prerequisite Test::Strict not found. | ||
+ | Warning: prerequisite Test::YAML::Valid 0.04 not found. | ||
+ | Warning: prerequisite AnyEvent 5.0 not found. | ||
+ | Warning: prerequisite AnyEvent::HTTP 2.13 not found. | ||
+ | Warning: prerequisite CHI 0.36 not found. | ||
+ | Warning: prerequisite CHI::Driver::Memcached 0.12 not found. | ||
+ | Warning: prerequisite Moose 1.09 not found. | ||
+ | Warning: prerequisite Cache::Memcached::Fast 0.17 not found. | ||
+ | Warning: prerequisite DBD::Mock 1.39 not found. | ||
+ | Warning: prerequisite DateTime::Format::MySQL 0.04 not found. | ||
+ | Warning: prerequisite JSON::Any 1.28 not found. | ||
+ | Warning: prerequisite MooseX::Storage 0.30 not found. | ||
+ | Warning: prerequisite MooseX::Types 0.30 not found. | ||
+ | Warning: prerequisite String::RewritePrefix 0.006 not found. | ||
+ | Warning: prerequisite Test::Deep 0.106 not found. | ||
+ | Warning: prerequisite Test::MockModule 0.05 not found. | ||
+ | Warning: prerequisite Test::Warn 0.21 not found. | ||
+ | Warning: prerequisite Text::Unaccent 1.08 not found. | ||
+ | Warning: prerequisite Time::Progress 1.7 not found. | ||
+ | Warning: prerequisite Gravatar::URL 1.03 not found. We have 1.02. | ||
+ | Warning: prerequisite DateTime::TimeZone 1.26 not found. We have 1.20. | ||
+ | Warning: prerequisite Template::Plugin::HtmlToText 0.03 not found. | ||
+ | Warning: prerequisite Data::Paginator 0.04 not found. | ||
+ | Warning: prerequisite Archive::Extract 0.60 not found. We have 0.48. | ||
+ | Warning: prerequisite Archive::Zip 1.30 not found. | ||
+ | Warning: prerequisite Cache::Memory 2.04 not found. | ||
+ | Warning: prerequisite Module::Bundled::Files 0.03 not found. | ||
+ | Warning: prerequisite String::Random 0.22 not found. | ||
+ | Warning: prerequisite Test::WWW::Mechanize 1.44 not found. | ||
+ | |||
+ | то необхідно довстановити чи поновити згадувані пакунки… | ||
+ | |||
+ | == Пакунки з репозитарію Дебіен == | ||
+ | |||
+ | sudo apt-get install \ | ||
+ | libgravatar-url-perl \ | ||
+ | libdatetime-format-ical-perl \ | ||
+ | libmodern-perl-perl \ | ||
+ | libdatetime-format-dateparse-perl \ | ||
+ | libreadonly-perl \ | ||
+ | libreadonly-xs-perl \ | ||
+ | libtest-strict-perl \ | ||
+ | libtest-yaml-valid-perl \ | ||
+ | libanyevent-perl \ | ||
+ | libdbd-mock-perl \ | ||
+ | libdatetime-format-mysql-perl \ | ||
+ | libjson-any-perl \ | ||
+ | libmoosex-storage-perl \ | ||
+ | libmoosex-types-perl \ | ||
+ | libstring-rewriteprefix-perl \ | ||
+ | libtest-deep-perl \ | ||
+ | libtest-mockmodule-perl \ | ||
+ | libtest-warn-perl \ | ||
+ | libtext-unaccent-perl \ | ||
+ | libtime-progress-perl \ | ||
+ | libarchive-zip-perl \ | ||
+ | libcache-perl \ | ||
+ | libstring-random-perl \ | ||
+ | libtest-www-mechanize-perl \ | ||
+ | libcrypt-eksblowfish-perl \ | ||
+ | liblibrary-callnumber-lc-perl \ | ||
+ | libdbix-class-schema-loader-perl \ | ||
+ | libemail-valid-perl \ | ||
+ | liblocale-maketext-lexicon-perl \ | ||
+ | libopenoffice-oodoc-perl | ||
+ | |||
+ | == Пакунки з тестового репозитарію Дебіен == | ||
+ | |||
+ | sudo apt-get -t testing install \ | ||
+ | libgravatar-url-perl \ | ||
+ | libdatetime-timezone-perl \ | ||
+ | libtemplate-plugin-htmltotext-perl \ | ||
+ | libanyevent-http-perl \ | ||
+ | libchi-perl \ | ||
+ | libchi-driver-memcached-perl \ | ||
+ | libmouse-perl \ | ||
+ | libcache-memcached-fast-perl \ | ||
+ | libarchive-extract-perl \ | ||
+ | libmarc-record-perl \ | ||
+ | libmarc-xml-perl | ||
+ | |||
+ | == Пакунки з репозитарію Koha == | ||
+ | |||
+ | Деякі perl-пакунки ще не пакетизовані в офіційних репозитаріях Дебіен (перевіряємо [http://packages.debian.org/uk/wheezy/libdata-paginator-perl libdata-paginator-perl] та | ||
+ | [http://packages.debian.org/uk/wheezy/libtemplate-plugin-htmltotext-perl libtemplate-plugin-htmltotext-perl], [http://packages.debian.org/uk/wheezy/libmodule-bundled-files-perl libmodule-bundled-files-perl]). Однак відповідні deb-пакети можна знайти в | ||
+ | репозитарії [http://debian.koha-community.org/ debian.koha-community.org]. | ||
+ | |||
+ | Підключаємо у файлі '''/etc/apt/sources.list''' | ||
+ | deb http://debian.koha-community.org/koha squeeze main | ||
+ | |||
+ | Також додаємо ключ gpg.asc до довірених ключів APT: | ||
+ | wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add - | ||
+ | |||
+ | Оновлюємо список доступних для встановлення пакунків | ||
+ | apt-get update | ||
+ | |||
+ | Встановлюємо пакунки з репозитарію Koha | ||
+ | |||
+ | sudo apt-get install \ | ||
+ | libdata-paginator-perl \ | ||
+ | libtemplate-plugin-htmltotext-perl \ | ||
+ | libmodule-bundled-files-perl | ||
+ | |||
+ | == Пакунки з CPAN == | ||
+ | |||
+ | Якщо пакунок все таки не вдалося знайти в одному з репозитаріїв — встановлюємо з CPAN. | ||
+ | |||
+ | Наприклад, можуть бути й зауваження такого роду: | ||
+ | |||
+ | Warning: prerequisite Data::Pagination 0.44 not found. | ||
+ | |||
+ | Цей Perl-модуль ще не доступний в жодному з репозиторіїв Дебіен (перевірити в Debian: [http://packages.debian.org/uk/wheezy/libdata-pagination-perl libdata-pagination-perl]). Встановлюємо командою | ||
+ | |||
+ | sudo perl -MCPAN -e 'install Data::Pagination' | ||
+ | |||
+ | Для таких зауважень | ||
+ | |||
+ | HTTPD::Bench::ApacheBench 0 0.73 No | ||
+ | Test::WWW::Mechanize 1.42 1.44 No | ||
+ | |||
+ | — встановлюємо | ||
+ | |||
+ | sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench' | ||
+ | sudo perl -MCPAN -e 'install Test::WWW::Mechanize' | ||
= Оновлення = | = Оновлення = | ||
− | cd ~/koha/koha-3. | + | cd ~/koha/koha-3.16.02/; perl Makefile.PL --prev-install-log /usr/share/koha3/misc/koha-install-log |
− | + | ||
+ | у випадку оновлення 3.6-3.12 з’явилася можливість налаштувати Zebra для кращої підтримки Unicode-символів. Вибираємо '''icu''': | ||
+ | |||
+ | Zebra has two methods to perform records tokenization | ||
+ | and characters normalization: CHR and ICU. ICU is | ||
+ | recommended for catalogs containing non-Latin | ||
+ | characters. (chr, icu) [chr] '''icu''' | ||
+ | |||
+ | у випадку оновлення 3.8.2-3.8.3 з’явився більш прогресивний режим індексації Zebra за допопогою фільтра DOM XML. Вибираємо '''dom''': | ||
+ | |||
+ | Koha can use one of two different indexing modes | ||
+ | for the MARC bibliographic records: | ||
+ | |||
+ | grs1 - uses the Zebra GRS-1 filter, available | ||
+ | for legacy support | ||
+ | dom - uses the DOM XML filter; offers improved | ||
+ | functionality. | ||
+ | |||
+ | Bibliographic indexing mode (dom, grs1) ['''dom'''] | ||
− | вивід — | + | далі решту запитань і вивід — |
Reading values from install log /usr/share/koha3/misc/koha-install-log. You | Reading values from install log /usr/share/koha3/misc/koha-install-log. You | ||
Рядок 45: | Рядок 257: | ||
AUTH_INDEX_MODE dom | AUTH_INDEX_MODE dom | ||
+ | BIB_INDEX_MODE dom | ||
DB_HOST localhost | DB_HOST localhost | ||
DB_NAME Koha3 | DB_NAME Koha3 | ||
Рядок 57: | Рядок 270: | ||
INSTALL_ZEBRA yes | INSTALL_ZEBRA yes | ||
KOHA_GROUP АдміністраторСистемиKoha | KOHA_GROUP АдміністраторСистемиKoha | ||
− | KOHA_INSTALLED_VERSION 3. | + | KOHA_INSTALLED_VERSION 3.16.02.000 |
KOHA_USER АдміністраторСистемиKoha | KOHA_USER АдміністраторСистемиKoha | ||
MEMCACHED_NAMESPACE KOHA | MEMCACHED_NAMESPACE KOHA | ||
Рядок 68: | Рядок 281: | ||
RUN_DATABASE_TESTS no | RUN_DATABASE_TESTS no | ||
USE_MEMCACHED yes | USE_MEMCACHED yes | ||
− | ZEBRA_LANGUAGE | + | ZEBRA_LANGUAGE uk |
ZEBRA_MARC_FORMAT unimarc | ZEBRA_MARC_FORMAT unimarc | ||
ZEBRA_PASS ПарольКористувачаZebra | ZEBRA_PASS ПарольКористувачаZebra | ||
Рядок 74: | Рядок 287: | ||
ZEBRA_SRU_BIBLIOS_PORT 9998 | ZEBRA_SRU_BIBLIOS_PORT 9998 | ||
ZEBRA_SRU_HOST localhost | ZEBRA_SRU_HOST localhost | ||
+ | ZEBRA_TOKENIZER icu | ||
ZEBRA_USER КористувачZebra | ZEBRA_USER КористувачZebra | ||
and in the following directories: | and in the following directories: | ||
− | + | ||
+ | BACKUP_DIR $(DESTDIR)/var/spool/koha3 | ||
DOC_DIR $(DESTDIR)/usr/share/koha3/doc | DOC_DIR $(DESTDIR)/usr/share/koha3/doc | ||
INTRANET_CGI_DIR $(DESTDIR)/usr/share/koha3/intranet/cgi-bin | INTRANET_CGI_DIR $(DESTDIR)/usr/share/koha3/intranet/cgi-bin | ||
Рядок 91: | Рядок 306: | ||
PAZPAR2_CONF_DIR $(DESTDIR)/etc/koha3/pazpar2 | PAZPAR2_CONF_DIR $(DESTDIR)/etc/koha3/pazpar2 | ||
PERL_MODULE_DIR $(DESTDIR)/usr/share/koha3/lib | PERL_MODULE_DIR $(DESTDIR)/usr/share/koha3/lib | ||
+ | PLUGINS_DIR $(DESTDIR)/var/lib/koha3/plugins | ||
SCRIPT_DIR $(DESTDIR)/usr/share/koha3/bin | SCRIPT_DIR $(DESTDIR)/usr/share/koha3/bin | ||
SCRIPT_NONDEV_DIR $(DESTDIR)/usr/share/koha3/bin | SCRIPT_NONDEV_DIR $(DESTDIR)/usr/share/koha3/bin | ||
Рядок 97: | Рядок 313: | ||
ZEBRA_LOCK_DIR $(DESTDIR)/var/lock/koha3/zebradb | ZEBRA_LOCK_DIR $(DESTDIR)/var/lock/koha3/zebradb | ||
ZEBRA_RUN_DIR $(DESTDIR)/var/run/koha3/zebradb | ZEBRA_RUN_DIR $(DESTDIR)/var/run/koha3/zebradb | ||
− | |||
To change any configuration setting, please run | To change any configuration setting, please run | ||
Рядок 103: | Рядок 318: | ||
directories, you can do so on the command line like this: | directories, you can do so on the command line like this: | ||
− | perl Makefile.PL PERL_MODULE_DIR=/usr/share/perl/5. | + | perl Makefile.PL PERL_MODULE_DIR=/usr/share/perl/5.14 |
You can also set different default values for parameters | You can also set different default values for parameters | ||
Рядок 121: | Рядок 336: | ||
Writing Makefile for koha | Writing Makefile for koha | ||
− | + | Writing MYMETA.yml | |
− | |||
− | |||
− | |||
− | |||
− | |||
= Компіляція та встановлення = | = Компіляція та встановлення = | ||
Рядок 134: | Рядок 344: | ||
sudo make upgrade | sudo make upgrade | ||
− | = Поправити налаштування = | + | = Поправити налаштування хоста Apache = |
− | /etc/koha3/koha-httpd.conf | + | sudo mc -e /etc/koha3/koha-httpd.conf |
− | ... | + | /etc/koha3/koha-httpd.conf |
− | <VirtualHost *:80> | + | |
+ | ... | ||
+ | <VirtualHost *:80> | ||
ServerName koha | ServerName koha | ||
− | ... | + | ... |
− | ... | + | ... |
− | <VirtualHost *: | + | <VirtualHost *:8080> |
− | ServerName koha: | + | ServerName koha:8080 |
− | ... | + | ... |
+ | |||
+ | та перезапустити сервер Apache | ||
+ | |||
+ | sudo /etc/init.d/apache2 restart | ||
+ | |||
+ | = Куки = | ||
+ | Інколи при оновленні між версіями, при спробі доступу до веб-інтерфейсу з’являється у оглядачі помилка на зразок | ||
+ | Koha Byte order is not compatible at Storable.pm line Auth.pm | ||
+ | |||
+ | Вирішує проблему очищення куків в оглядачі для даного домену. | ||
+ | |||
+ | = Продовжуємо оновлення через веб-інтерфейс = | ||
+ | |||
+ | http://localhost:8080 | ||
+ | |||
+ | Вводимо логін АдміністраторСистемиKoha та пароль, оновлюємо БД: | ||
+ | |||
+ | Ми модернізуємо Коха від версії 3.16.00.000 до 3.16.02.000, Ви повинні також оновити Вашу баз даних | ||
+ | Звіт про оновлення: | ||
+ | |||
+ | Upgrade to 3.16.01.000 done (3.16.1 release) | ||
+ | Upgrade to 3.16.02.000 done (3.16.2 release) | ||
+ | |||
+ | Все пройшло добре, оновлення зроблено. | ||
+ | Продовжуємо та входимо до Коха | ||
+ | |||
+ | = Поновлення мовних шаблонів = | ||
+ | |||
+ | Усі шаблони для мов відмінних від en залишаються старі — '''необхідно оновити''', | ||
+ | напр. для укр. та рос.: | ||
+ | |||
+ | cd /usr/share/koha3/misc/translator/;sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA | ||
+ | cd /usr/share/koha3/misc/translator/;sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU | ||
+ | |||
+ | Бажано після цього перезапустити й службу memcached | ||
+ | |||
+ | sudo /etc/init.d/memcached restart | ||
+ | |||
+ | <!-- | ||
+ | = Bug 11290 = | ||
+ | |||
+ | Перевіряємо http://localhost:8080/cgi-bin/koha/members/members-home.pl. Бачимо крякозяблики. | ||
+ | Отож для версії 3.14.5 все ще не виправлений [http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11290 Bug 11290 - members-home.pl displays badly if using non english templates and have a utf8 char in categorycode description]. Потрібно у файлі intranet/htdocs/intranet-tmpl/prog/en/includes/patron-search.inc внести зміни згідно [http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=23122&action=diff латки]. | ||
+ | А саме рядки 72 і 73 повинні бути такими: | ||
+ | |||
+ | <option value="[% categorie.categorycode %]" selected="selected">[% categorie.description |html_entity %]</option>[% ELSE %] | ||
+ | <option value="[% categorie.categorycode %]">[% categorie.description |html_entity %]</option>[% END %] | ||
+ | |||
+ | Після внесення будь-яких змін в англійський шаблон, потрібно також оновити й усі інші мовні шаблони (повторити крок вище). | ||
+ | --> | ||
+ | |||
+ | = Відновлення Zebra = | ||
+ | Поновлювач перезаписує файл | ||
+ | |||
+ | /etc/koha3/zebradb/etc/word-phrase-utf.chr | ||
+ | |||
+ | витираючи набори кириличних символів й апостроф, необхідні для працездатності пошуку Zebra, отож виправляємо у цьому файлі на наступне: | ||
+ | |||
+ | lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’ | ||
+ | uppercase {0-9}{A-Z}ÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’ | ||
+ | |||
+ | space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C} | ||
+ | |||
+ | Зауваження: ймовірно, при виборі ICU цього не потрібно (ще варто детально протестувати) | ||
+ | |||
+ | Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу | ||
+ | |||
+ | /etc/koha3/zebradb/lang_defs/en/sort-string-utf.chr | ||
+ | |||
+ | (наявність uk/sort-string-utf.chr наразі не дає бажаного результату). | ||
+ | |||
+ | = Переіндексація БД = | ||
+ | |||
+ | sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ | ||
+ | /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -r -x -v | ||
+ | |||
+ | sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ | ||
+ | /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -a -r -v | ||
+ | |||
+ | = Зауваження щодо ICU = | ||
+ | |||
+ | Використання ICU, ймовірно, ще потребує дослідження. | ||
+ | На великій БД з'явилась помилка при переіндесації Zebra: | ||
+ | |||
+ | ... | ||
+ | *** glibc detected *** zebraidx: corrupted double-linked list: 0x09d57700 *** | ||
+ | ... | ||
+ | |||
+ | Згадки по цій проблемі: | ||
+ | http://lists.nongnu.org/archive/html/koha-zebra/2011-06/msg00001.html | ||
+ | http://irc.koha-community.org/irclog/koha/2011-05-29 | ||
+ | |||
+ | '''Лише у випадку''', якщо присутня така проблема з індексацією, пробуємо відключити ICU у файлі /etc/koha3/'''zebradb/etc/default.idx''', замінивши у двох рядках | ||
+ | |||
+ | icuchain words-icu.xml | ||
+ | |||
+ | на | ||
+ | |||
+ | charmap word-phrase-utf.chr | ||
+ | |||
+ | Також у файлі /etc/koha3/zebradb/etc/word-phrase-utf.chr | ||
+ | повинен бути кириличний алфавіт (згадується вище). | ||
+ | |||
+ | = Відновлення алфавітного вибору читачів (застаріло) = | ||
+ | |||
+ | З версії 3.12 алфавіт для вибору читачів можна вказувати у системній змінній '''alphabet'''. | ||
+ | |||
+ | = Відновлення індексування УДК в Zebra = | ||
+ | |||
+ | Кроки: | ||
+ | |||
+ | 1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок | ||
+ | |||
+ | att 14 UDC-classification | ||
+ | |||
+ | 2) У файлі /etc/koha3/zebradb/ccl.properties знаходимо абзац | ||
+ | |||
+ | #Classification-UDC 14 A classification number from 080 | ||
+ | # Universal Decimal | ||
+ | # Classification, a system based | ||
+ | # on the Dewey Decimal | ||
+ | # Classification. | ||
+ | #UDC-classification 1=14 | ||
+ | |||
+ | та розкоментовуємо | ||
+ | |||
+ | UDC-classification 1=14 | ||
+ | |||
+ | 3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs потрібно додати | ||
+ | |||
+ | melm 675$a UDC-classification:w,UDC-classification:p | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl додати | ||
+ | |||
+ | <xslo:template mode="index_subfields" match="marc:datafield[@tag='675']"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('a', @code)"> | ||
+ | <z:index name="UDC-classification:w UDC-classification:p"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | </xslo:template> | ||
+ | |||
+ | та у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml додати | ||
+ | |||
+ | <!--record.abs: melm 675$a<--><------>UDC-classification:w,UDC-classification:p--> | ||
+ | <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="675" subfields="a"> | ||
+ | <target_index>UDC-classification:w</target_index> | ||
+ | <target_index>UDC-classification:p</target_index> | ||
+ | </index_subfields> | ||
+ | |||
+ | Далі для '''Marc21''' у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs: | ||
+ | |||
+ | melm 080 UDC-classification:w,UDC-classification:s | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl має бути (є) | ||
+ | |||
+ | <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']"> | ||
+ | <z:index name="UDC-classification:w UDC-classification:s"> | ||
+ | <xslo:variable name="raw_heading"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="position() > 1"> | ||
+ | <xslo:value-of select="substring(' ', 1, 1)"/> | ||
+ | </xslo:if> | ||
+ | <xslo:value-of select="."/> | ||
+ | </xslo:for-each> | ||
+ | </xslo:variable> | ||
+ | <xslo:value-of select="normalize-space($raw_heading)"/> | ||
+ | </z:index> | ||
+ | </xslo:template> | ||
+ | |||
+ | та у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml має бути (є) | ||
+ | |||
+ | <!--record.abs line 81: melm 080 UDC-classification--> | ||
+ | <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="080"> | ||
+ | <target_index>UDC-classification:w</target_index> | ||
+ | <target_index>UDC-classification:s</target_index> | ||
+ | </index_data_field> | ||
+ | |||
+ | 4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масив @indexes додати елемент-індекс | ||
+ | |||
+ | 'UDC-classification', | ||
+ | |||
+ | = Відновлення індексування ББК в Zebra = | ||
+ | |||
+ | Кроки: | ||
+ | |||
+ | 1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att є рядок | ||
+ | |||
+ | att 1040 Classification | ||
+ | |||
+ | Виглядає так, що він не використовується надалі. Отож замінюємо його на такий | ||
+ | |||
+ | att 1040 bbk | ||
+ | |||
+ | 2) У файлі /etc/koha3/zebradb/ccl.properties повинен бути наступний рядок | ||
+ | |||
+ | #bbk 1040 Soviet Bibliothecal-Bibliographic Classification (BBK; LBC) | ||
+ | bbk 1=1040 | ||
+ | |||
+ | 3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs потрібно додати | ||
+ | |||
+ | melm 686$a bbk,bbk:p | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl додати | ||
+ | |||
+ | <xslo:template mode="index_subfields" match="marc:datafield[@tag='686']"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('a', @code)"> | ||
+ | <z:index name="bbk bbk:p"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | </xslo:template> | ||
+ | |||
+ | або, якщо є 686-секція, то вставити в неї | ||
+ | |||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('a', @code)"> | ||
+ | <z:index name="bbk bbk:p"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | |||
+ | та у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml додати | ||
+ | |||
+ | <!--record.abs: melm 686$a<--><------>bbk,bbk:p--> | ||
+ | <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="686" subfields="a"> | ||
+ | <target_index>bbk</target_index> | ||
+ | <target_index>bbk:p</target_index> | ||
+ | </index_subfields> | ||
+ | |||
+ | Далі для '''Marc21''' у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs: | ||
+ | |||
+ | melm 084 bbk:w,bbk:s | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl має бути (є) | ||
+ | |||
+ | <xslo:template mode="index_data_field" match="marc:datafield[@tag='084']"> | ||
+ | <z:index name="bbk:w bbk:s"> | ||
+ | <xslo:variable name="raw_heading"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="position() > 1"> | ||
+ | <xslo:value-of select="substring(' ', 1, 1)"/> | ||
+ | </xslo:if> | ||
+ | <xslo:value-of select="."/> | ||
+ | </xslo:for-each> | ||
+ | </xslo:variable> | ||
+ | <xslo:value-of select="normalize-space($raw_heading)"/> | ||
+ | </z:index> | ||
+ | </xslo:template> | ||
+ | |||
+ | та у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml має бути (є) | ||
+ | |||
+ | <!--record.abs: melm 084 bbk:w,bbk:s--> | ||
+ | <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="084"> | ||
+ | <target_index>bbk:w</target_index> | ||
+ | <target_index>bbk:s</target_index> | ||
+ | </index_data_field> | ||
+ | |||
+ | 4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масив @indexes додати елемент-індекс | ||
+ | |||
+ | 'bbk', | ||
+ | |||
+ | = Відновлення індексування ДКД (Дьюї) в Zebra = | ||
+ | |||
+ | Кроки: | ||
+ | |||
+ | 1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок | ||
+ | |||
+ | att 13 Dewey-classification | ||
+ | |||
+ | 2) У файлі /etc/koha3/zebradb/ccl.properties находимо абзац | ||
+ | |||
+ | #Classification-Dewey 13 A classification number from 082 | ||
+ | # the Dewey Decimal | ||
+ | # Classification, developed by | ||
+ | # Melvyl Dewey. | ||
+ | #Dewey-classification 1=13 | ||
+ | |||
+ | та розкоментовуємо | ||
+ | |||
+ | Dewey-classification 1=13 | ||
+ | |||
+ | 3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є) | ||
+ | |||
+ | melm 676$a Dewey-classification:w,Dewey-classification:p | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl має бути (є) | ||
+ | |||
+ | <xslo:template mode="index_subfields" match="marc:datafield[@tag='676']"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('a', @code)"> | ||
+ | <z:index name="Dewey-classification:w Dewey-classification:p"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | </xslo:template> | ||
+ | |||
+ | та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є) | ||
+ | |||
+ | <!--record.abs line 328: melm 676$a<-><------>Dewey-classification:w,Dewey-classification:p--> | ||
+ | <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="676" subfields="a"> | ||
+ | <target_index>Dewey-classification:w</target_index> | ||
+ | <target_index>Dewey-classification:p</target_index> | ||
+ | </index_subfields> | ||
+ | |||
+ | Далі для '''Marc21''' у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs: | ||
+ | |||
+ | melm 082 Dewey-classification:w,Dewey-classification:s | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | Додаково внести зміни й у /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl: | ||
+ | |||
+ | <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']"> | ||
+ | <z:index name="Dewey-classification:w Dewey-classification:s"> | ||
+ | <xslo:variable name="raw_heading"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="position() > 1"> | ||
+ | <xslo:value-of select="substring(' ', 1, 1)"/> | ||
+ | </xslo:if> | ||
+ | <xslo:value-of select="."/> | ||
+ | </xslo:for-each> | ||
+ | </xslo:variable> | ||
+ | <xslo:value-of select="normalize-space($raw_heading)"/> | ||
+ | </z:index> | ||
+ | </xslo:template> | ||
+ | |||
+ | та /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml: | ||
− | = | + | <!--record.abs line 82: melm 082 Dewey-classification:w,Dewey-classification:s--> |
+ | <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="082"> | ||
+ | <target_index>Dewey-classification:w</target_index> | ||
+ | <target_index>Dewey-classification:s</target_index> | ||
+ | </index_data_field> | ||
− | + | 4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масиві @indexes має бути (є) елемент-індекс | |
− | + | 'Dewey-classification', | |
− | + | = Відновлення індексування КБК (клас. Бібліотеки Конгресу) в Zebra = | |
− | + | Кроки: | |
− | + | 1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок | |
− | + | att 16 LC-call-number | |
− | |||
− | |||
− | + | 2) У файлі /etc/koha3/zebradb/ccl.properties находимо абзац | |
+ | |||
+ | #Classification-LC 16 A classification number from 050 | ||
+ | # the US Library of Congress | ||
+ | # Classification. | ||
+ | #LC-call-number 1=16 | ||
+ | |||
+ | та розкоментовуємо | ||
+ | |||
+ | LC-call-number 1=16 | ||
+ | |||
+ | 3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є) | ||
+ | |||
+ | melm 680$b LC-call-number:s | ||
+ | melm 680 LC-call-number | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl має бути (є) | ||
+ | |||
+ | <xslo:template mode="index_subfields" match="marc:datafield[@tag='680']"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('b', @code)"> | ||
+ | <z:index name="LC-call-number:s"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | </xslo:template> | ||
+ | |||
+ | <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']"> | ||
+ | <z:index name="LC-call-number:w"> | ||
+ | <xslo:variable name="raw_heading"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="position() > 1"> | ||
+ | <xslo:value-of select="substring(' ', 1, 1)"/> | ||
+ | </xslo:if> | ||
+ | <xslo:value-of select="."/> | ||
+ | </xslo:for-each> | ||
+ | </xslo:variable> | ||
+ | <xslo:value-of select="normalize-space($raw_heading)"/> | ||
+ | </z:index> | ||
+ | </xslo:template> | ||
+ | |||
+ | та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є) | ||
+ | |||
+ | <!--record.abs line 82: melm 680$b<--><------>LC-call-number:s--> | ||
+ | <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="680" subfields="b"> | ||
+ | <target_index>LC-call-number:s</target_index> | ||
+ | </index_subfields> | ||
+ | <!--record.abs line 83: melm 680<----><------>LC-call-number--> | ||
+ | <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="680"> | ||
+ | <target_index>LC-call-number:w</target_index> | ||
+ | </index_data_field> | ||
+ | |||
+ | Далі для '''Marc21''' у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs: | ||
+ | |||
+ | melm 050$b LC-call-number:w,LC-call-number:p,LC-call-number:s | ||
+ | melm 050 LC-call-number:w,LC-call-number:p,LC-call-number:s | ||
+ | |||
+ | Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли... | ||
+ | |||
+ | Додаково внести зміни й у /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl: | ||
+ | |||
+ | <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="contains('b', @code)"> | ||
+ | <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s"> | ||
+ | <xslo:value-of select="."/> | ||
+ | </z:index> | ||
+ | </xslo:if> | ||
+ | </xslo:for-each> | ||
+ | </xslo:template> | ||
+ | |||
+ | <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']"> | ||
+ | <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s"> | ||
+ | <xslo:variable name="raw_heading"> | ||
+ | <xslo:for-each select="marc:subfield"> | ||
+ | <xslo:if test="position() > 1"> | ||
+ | <xslo:value-of select="substring(' ', 1, 1)"/> | ||
+ | </xslo:if> | ||
+ | <xslo:value-of select="."/> | ||
+ | </xslo:for-each> | ||
+ | </xslo:variable> | ||
+ | <xslo:value-of select="normalize-space($raw_heading)"/> | ||
+ | </z:index> | ||
+ | </xslo:template> | ||
+ | |||
+ | та /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml: | ||
+ | |||
+ | <!--record.abs line 76: melm 050$b LC-call-number:w,LC-call-number:p,LC-call-number:s--> | ||
+ | <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="050" subfields="b"> | ||
+ | <target_index>LC-call-number:w</target_index> | ||
+ | <target_index>LC-call-number:p</target_index> | ||
+ | <target_index>LC-call-number:s</target_index> | ||
+ | </index_subfields> | ||
+ | <!--record.abs line 77: melm 050 LC-call-number:w,LC-call-number:p,LC-call-number:s--> | ||
+ | <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="050"> | ||
+ | <target_index>LC-call-number:w</target_index> | ||
+ | <target_index>LC-call-number:p</target_index> | ||
+ | <target_index>LC-call-number:s</target_index> | ||
+ | </index_data_field> | ||
+ | |||
+ | 4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масиві @indexes має бути (є) елемент-індекс | ||
+ | |||
+ | 'LC-call-number', | ||
+ | |||
+ | = Утворення індексів УДК, Дьюї, ББК, КБК та можливість пошуку за ними = | ||
+ | |||
+ | Для витягнення означених класифікаційних індексів запускаємо переіндексацію Zebra | ||
+ | |||
+ | sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ | ||
+ | /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -r -x -v | ||
+ | |||
+ | ЕК) У файлі /usr/share/koha3/opac/htdocs/opac-tmpl/prog/en/modules/opac-advsearch.tt | ||
+ | |||
+ | замість рядка | ||
+ | |||
+ | <option value="callnum">Call number</option> | ||
+ | |||
+ | додати рядки | ||
+ | |||
+ | <option value="sn">Standart number</option> | ||
+ | <option value="callnum">&nbsp;&nbsp;&nbsp;&nbsp; Call number</option> | ||
+ | <option value="UDC-classification,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; UDC-classification</option> | ||
+ | <option value="Dewey-classification,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; Dewey-classification</option> | ||
+ | <option value="bbk,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; BBK</option> | ||
+ | <option value="LC-call-number,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; LC-call-number</option> | ||
+ | |||
+ | Біб. інтерфейс) У файлі /usr/share/koha3/intranet/htdocs/intranet-tmpl/prog/en/includes/search_indexes.inc | ||
+ | |||
+ | замість рядка | ||
+ | |||
+ | <option value="callnum">&nbsp;&nbsp;&nbsp;&nbsp; Call number</option> | ||
+ | |||
+ | додати рядки | ||
+ | |||
+ | <option value="callnum">&nbsp;&nbsp;&nbsp;&nbsp; Call number</option> | ||
+ | <option value="UDC-classification,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; UDC-classification</option> | ||
+ | <option value="Dewey-classification,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; Dewey-classification</option> | ||
+ | <option value="bbk,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; BBK</option> | ||
+ | <option value="LC-call-number,first-in-subfield">&nbsp;&nbsp;&nbsp;&nbsp; LC-call-number</option> | ||
+ | |||
+ | Відповідно також потрібно перегенерувати мовні шаблони, напр. для укр. та рос.: | ||
+ | |||
+ | cd /usr/share/koha3/misc/translator | ||
+ | sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA | ||
+ | sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU | ||
+ | |||
+ | = Відновлення налаштування за класифікацією = | ||
+ | |||
+ | Типово це не працює для використовуваного класифікаційного індексу (УДК, ББК, ДДК) і при оновленні вертається типовий варіант. | ||
+ | |||
+ | Декілька кроків: | ||
+ | |||
+ | 1) build_browser_and_cloud.pl з інтегрованими таблицями УДК, ББК, ДДК для української. | ||
+ | |||
+ | Файл [https://www.dropbox.com/sh/yeaazk77nysjckh/Czf7mMZtcM/files/usr_share_koha3_bin_cronjobs/build_browser_and_cloud.pl build_browser_and_cloud.pl] можна знайти у теці [https://www.dropbox.com/sh/yeaazk77nysjckh/dzrfLOI_fK PUBLIC] хмарного сховища [htp://db.tt/ExL7MRZ Dropbox] Сергія Дубика. | ||
+ | |||
+ | Розміщуємо файл за шляхом /usr/share/koha3/bin/cronjobs | ||
+ | |||
+ | 2) До таблиці „browser“ додати колонки „class_source“ та “language“ | ||
+ | |||
+ | sql-команди для додавання | ||
+ | |||
+ | ALTER TABLE browser ADD class_source varchar(10); | ||
+ | ALTER TABLE browser ADD language varchar(25); | ||
+ | ALTER TABLE browser ADD parent_class varchar(255); | ||
+ | ALTER TABLE browser ADD query mediumtext; | ||
+ | |||
+ | Додатково: тип колонки „description“ змінити на „mediumtext“, тип колонки „classification“ змінити на „varchar(255)“. | ||
+ | |||
+ | 3) Для періодичного оновлення ієрархії класифікаційних індексів (УДК, скорочені табл.) необхідно періодично (crontab) запускати сценарій | ||
+ | |||
+ | env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=usr/share/koha3/lib perl -I /usr/share/koha3/lib build_browser_and_cloud.pl \ | ||
+ | -b -f 675a -t 606 -c -m 3 -s udc -l uk_UA | ||
+ | |||
+ | для ДДК (скорочені табл. Дьюї) параметри: | ||
+ | |||
+ | -b -f 676a -t 606 -c -m 3 -k ddc -l uk_UA | ||
+ | |||
+ | для ББК (скорочені таблиці ББК для наукових бібліотек) параметри: | ||
+ | |||
+ | -b -f 686a -t 606 -c -m 3 -k rubbk -l uk_UA | ||
+ | |||
+ | 4) Також змінюємо файл /usr/share/koha3/opac/htdocs/opac-tmpl/prog/en/modules/opac-browser.tt | ||
+ | |||
+ | Замінюємо рядок з пошуковим запитом | ||
+ | |||
+ | opac-search.pl?q=Dewey-classification | ||
+ | |||
+ | для УДК на | ||
+ | |||
+ | opac-search.pl?q=UDC-classification,first-in-subfield | ||
+ | |||
+ | для ББК на | ||
+ | |||
+ | opac-search.pl?q=bbk,first-in-subfield | ||
+ | |||
+ | для ДДК (Дьюї) на | ||
+ | |||
+ | opac-search.pl?q=Dewey-classification,first-in-subfield | ||
+ | |||
+ | Шаблон opac-browser.tt для мов відмінних від en залишається старий — необхідно теж оновити, напр. для укр. та рос.: | ||
+ | |||
+ | cd /usr/share/koha3/misc/translator/;sudo env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA | ||
+ | cd /usr/share/koha3/misc/translator/;sudo env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU | ||
+ | |||
+ | P.S. Ще не реалізований у файлі build_browser_and_cloud.pl переклад терму "classification $_" у рядку | ||
+ | |||
+ | $sth->execute(length($_),$_,$classification->{$_}?$classification->{$_}:"classification $_",$browser_result{$_}->{value}, | ||
= Оновлення завершено = | = Оновлення завершено = | ||
Заходимо у інтерфейс бібліотекаря. | Заходимо у інтерфейс бібліотекаря. | ||
− | Бачимо зміну версії за адресою http:// | + | Бачимо зміну версії за адресою http://localhost:8080/cgi-bin/koha/about.pl |
+ | |||
+ | = Налаштування = | ||
+ | |||
+ | Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]]. | ||
= Див. також = | = Див. також = | ||
Рядок 174: | Рядок 946: | ||
* [[Встановлення Koha з джерела на ОС Debian]] | * [[Встановлення Koha з джерела на ОС Debian]] | ||
* [[Вилучення Koha, встановленої з джерела]] | * [[Вилучення Koha, встановленої з джерела]] | ||
+ | * [[Встановлення Koha з репозитарію на ОС Debian]] | ||
+ | * [[Коротка інструкція для адміністратора АБІС Koha]] | ||
+ | * [[Короткий посібник користувача АБІС Koha]] | ||
[[Категорія:АБІС Koha]] | [[Категорія:АБІС Koha]] | ||
[[Категорія:Бібліотека]] | [[Категорія:Бібліотека]] |
Поточна версія на 20:04, 1 листопада 2023
Наповнення цієї сторінки на цій площадці заморожено!
Подальше редагування відбувається на сайті української спільноти користувачів АБІС Koha wiki.koha.org.ua!
Ласкаво просимо!
Оновлення до Koha 3.16.x, встановленої з джерела
Стосується встановлення Koha 3.16.x за інструкцією „Встановлення Koha з джерела на ОС Debian“
Зміст
- 1 Резервні копії
- 2 Журнал попереднього встановлення
- 3 Отримання останньої стабільної версій Koha 3.16.02
- 4 Перевірки та довстановлення пакунків
- 5 Оновлення
- 6 Компіляція та встановлення
- 7 Поправити налаштування хоста Apache
- 8 Куки
- 9 Продовжуємо оновлення через веб-інтерфейс
- 10 Поновлення мовних шаблонів
- 11 Відновлення Zebra
- 12 Переіндексація БД
- 13 Зауваження щодо ICU
- 14 Відновлення алфавітного вибору читачів (застаріло)
- 15 Відновлення індексування УДК в Zebra
- 16 Відновлення індексування ББК в Zebra
- 17 Відновлення індексування ДКД (Дьюї) в Zebra
- 18 Відновлення індексування КБК (клас. Бібліотеки Конгресу) в Zebra
- 19 Утворення індексів УДК, Дьюї, ББК, КБК та можливість пошуку за ними
- 20 Відновлення налаштування за класифікацією
- 21 Оновлення завершено
- 22 Налаштування
- 23 Див. також
Резервні копії
Резервування даних
Резервуємо командою
mysqldump -u$MySQLUser -p$MySQLPassword $KohaDB > mysqldump__$time_shtamp.sql
(замість змінних $value підставляємо власні значення)
Якщо надалі буде потрібно повернутися до резервної версії, це можна буде зробити командою mysql -u$MySQLUser -p$MySQLPassword $KohaDB < mysqldump__$time_shtamp.sql, попередньо очистивши чи створивши БД $KohaDB).
Резервування програмних файлів
Виконуємо команди
tar -cvf $folder_$time_shtamp.tar $folder bzip2 -f $folder_$time_shtamp.tar
для кожної з тек
/usr/share/koha3 /etc/apache2/sites-available/Koha3 /etc/apache2/sites-enabled/Koha3 /etc/apache2/ports.conf /etc/koha3/ /etc/init.d/zebra-server /etc/init.d/zebraqueue-daemon /etc/init.d/koha-zebra-daemon /var/log/koha3 /var/lib/koha3 /var/lock/koha3
Журнал попереднього встановлення
Дивимося у конфігураційному файлі /etc/koha3/koha-conf.xml за розміщенням журналу встановлення, напр. <config> <install_log>/usr/share/koha3/misc/koha-install-log</install_log>
Отримання останньої стабільної версій Koha 3.16.02
su АдміністраторСистемиKoha
(та вводимо пароль користувача АдміністраторСистемиKoha)
cd ~/koha; rm koha-latest.tar.gz wget http://download.koha-community.org/koha-latest.tar.gz tar -xzf koha-latest.tar.gz ls
(для наступних оновлень зручно з цього коду створити сценарій, напр., get_latest_KOHA_and_unpack.sh)
Перевірки та довстановлення пакунків
Перевірка аналізатора SAX Parser
У теці Koha виконати
perl ~/koha/koha-3.16.02/misc/sax_parser_print.pl
Ви повинні побачити щось таке
XML::LibXML::SAX::Parser=HASH(0x81fe220)
Якщо ж є PurePerl чи Expat, то необхідно поправити файл /etc/perl/XML/SAX/ParserDetails.ini (запис щодо XML::LibXML::SAX::Parser має бути найнижче)
Перевірка чи встановлені усі необхідні пакунки
Команда
perl ~/koha/koha-3.16.02/koha_perl_deps.pl -c -u -m
видасть список відсутніх модулів та модулів, які необхідно оновити.
Вам необхідно знайти та встановити ці модулі (ймовірно, що список буде порожнім, оскільки всі необхідні пакунки повинні згадуватися у цьому керівництві вище).
Відсутні модулі чи оновлені версії шукайте у гілках Debian testin/unstable, репозитарії debian.koha-community.org або ж в CPAN (Perl-модулі з CPAN встановлюються командую на кшталт „sudo cpan HTTP::OAI“).
Якщо у попередньому виводі є зауваження на кшталт такого
Warning: prerequisite DateTime::Format::DateParse 0.04 not found. Warning: prerequisite Gravatar::URL 1.03 not found. Warning: prerequisite DateTime::Format::ICal 0.09 not found. Warning: prerequisite Modern::Perl 1.03 not found. Warning: prerequisite Readonly 1.03 not found. Warning: prerequisite Readonly::XS 1.02 not found. Warning: prerequisite Test::Strict not found. Warning: prerequisite Test::YAML::Valid 0.04 not found. Warning: prerequisite AnyEvent 5.0 not found. Warning: prerequisite AnyEvent::HTTP 2.13 not found. Warning: prerequisite CHI 0.36 not found. Warning: prerequisite CHI::Driver::Memcached 0.12 not found. Warning: prerequisite Moose 1.09 not found. Warning: prerequisite Cache::Memcached::Fast 0.17 not found. Warning: prerequisite DBD::Mock 1.39 not found. Warning: prerequisite DateTime::Format::MySQL 0.04 not found. Warning: prerequisite JSON::Any 1.28 not found. Warning: prerequisite MooseX::Storage 0.30 not found. Warning: prerequisite MooseX::Types 0.30 not found. Warning: prerequisite String::RewritePrefix 0.006 not found. Warning: prerequisite Test::Deep 0.106 not found. Warning: prerequisite Test::MockModule 0.05 not found. Warning: prerequisite Test::Warn 0.21 not found. Warning: prerequisite Text::Unaccent 1.08 not found. Warning: prerequisite Time::Progress 1.7 not found. Warning: prerequisite Gravatar::URL 1.03 not found. We have 1.02. Warning: prerequisite DateTime::TimeZone 1.26 not found. We have 1.20. Warning: prerequisite Template::Plugin::HtmlToText 0.03 not found. Warning: prerequisite Data::Paginator 0.04 not found. Warning: prerequisite Archive::Extract 0.60 not found. We have 0.48. Warning: prerequisite Archive::Zip 1.30 not found. Warning: prerequisite Cache::Memory 2.04 not found. Warning: prerequisite Module::Bundled::Files 0.03 not found. Warning: prerequisite String::Random 0.22 not found. Warning: prerequisite Test::WWW::Mechanize 1.44 not found.
то необхідно довстановити чи поновити згадувані пакунки…
Пакунки з репозитарію Дебіен
sudo apt-get install \ libgravatar-url-perl \ libdatetime-format-ical-perl \ libmodern-perl-perl \ libdatetime-format-dateparse-perl \ libreadonly-perl \ libreadonly-xs-perl \ libtest-strict-perl \ libtest-yaml-valid-perl \ libanyevent-perl \ libdbd-mock-perl \ libdatetime-format-mysql-perl \ libjson-any-perl \ libmoosex-storage-perl \ libmoosex-types-perl \ libstring-rewriteprefix-perl \ libtest-deep-perl \ libtest-mockmodule-perl \ libtest-warn-perl \ libtext-unaccent-perl \ libtime-progress-perl \ libarchive-zip-perl \ libcache-perl \ libstring-random-perl \ libtest-www-mechanize-perl \ libcrypt-eksblowfish-perl \ liblibrary-callnumber-lc-perl \ libdbix-class-schema-loader-perl \ libemail-valid-perl \ liblocale-maketext-lexicon-perl \ libopenoffice-oodoc-perl
Пакунки з тестового репозитарію Дебіен
sudo apt-get -t testing install \ libgravatar-url-perl \ libdatetime-timezone-perl \ libtemplate-plugin-htmltotext-perl \ libanyevent-http-perl \ libchi-perl \ libchi-driver-memcached-perl \ libmouse-perl \ libcache-memcached-fast-perl \ libarchive-extract-perl \ libmarc-record-perl \ libmarc-xml-perl
Пакунки з репозитарію Koha
Деякі perl-пакунки ще не пакетизовані в офіційних репозитаріях Дебіен (перевіряємо libdata-paginator-perl та libtemplate-plugin-htmltotext-perl, libmodule-bundled-files-perl). Однак відповідні deb-пакети можна знайти в репозитарії debian.koha-community.org.
Підключаємо у файлі /etc/apt/sources.list
deb http://debian.koha-community.org/koha squeeze main
Також додаємо ключ gpg.asc до довірених ключів APT:
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
Оновлюємо список доступних для встановлення пакунків
apt-get update
Встановлюємо пакунки з репозитарію Koha
sudo apt-get install \ libdata-paginator-perl \ libtemplate-plugin-htmltotext-perl \ libmodule-bundled-files-perl
Пакунки з CPAN
Якщо пакунок все таки не вдалося знайти в одному з репозитаріїв — встановлюємо з CPAN.
Наприклад, можуть бути й зауваження такого роду:
Warning: prerequisite Data::Pagination 0.44 not found.
Цей Perl-модуль ще не доступний в жодному з репозиторіїв Дебіен (перевірити в Debian: libdata-pagination-perl). Встановлюємо командою
sudo perl -MCPAN -e 'install Data::Pagination'
Для таких зауважень
HTTPD::Bench::ApacheBench 0 0.73 No Test::WWW::Mechanize 1.42 1.44 No
— встановлюємо
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench' sudo perl -MCPAN -e 'install Test::WWW::Mechanize'
Оновлення
cd ~/koha/koha-3.16.02/; perl Makefile.PL --prev-install-log /usr/share/koha3/misc/koha-install-log
у випадку оновлення 3.6-3.12 з’явилася можливість налаштувати Zebra для кращої підтримки Unicode-символів. Вибираємо icu:
Zebra has two methods to perform records tokenization and characters normalization: CHR and ICU. ICU is recommended for catalogs containing non-Latin characters. (chr, icu) [chr] icu
у випадку оновлення 3.8.2-3.8.3 з’явився більш прогресивний режим індексації Zebra за допопогою фільтра DOM XML. Вибираємо dom:
Koha can use one of two different indexing modes for the MARC bibliographic records: grs1 - uses the Zebra GRS-1 filter, available for legacy support dom - uses the DOM XML filter; offers improved functionality. Bibliographic indexing mode (dom, grs1) [dom]
далі решту запитань і вивід —
Reading values from install log /usr/share/koha3/misc/koha-install-log. You will be prompted only for settings that have been added since the last time you installed Koha. To be prompted for all settings, run 'perl Makefile.PL' without the --prev-install-log option. Found 'zebrasrv' and 'zebraidx' in /usr/bin. Koha will be installed with the following configuration parameters: AUTH_INDEX_MODE dom BIB_INDEX_MODE dom DB_HOST localhost DB_NAME Koha3 DB_PASS ПарольКористувачаБДKoha3 DB_PORT 3306 DB_TYPE mysql DB_USER КористувачБДKoha3 INSTALL_BASE /usr/share/koha3 INSTALL_MODE standard INSTALL_PAZPAR2 yes INSTALL_SRU yes INSTALL_ZEBRA yes KOHA_GROUP АдміністраторСистемиKoha KOHA_INSTALLED_VERSION 3.16.02.000 KOHA_USER АдміністраторСистемиKoha MEMCACHED_NAMESPACE KOHA MEMCACHED_SERVERS 127.0.0.1:11211 MERGE_SERVER_HOST localhost MERGE_SERVER_PORT 11001 PATH_TO_ZEBRA /usr/bin PAZPAR2_HOST localhost PAZPAR2_PORT 11002 RUN_DATABASE_TESTS no USE_MEMCACHED yes ZEBRA_LANGUAGE uk ZEBRA_MARC_FORMAT unimarc ZEBRA_PASS ПарольКористувачаZebra ZEBRA_SRU_AUTHORITIES_POR9999 ZEBRA_SRU_BIBLIOS_PORT 9998 ZEBRA_SRU_HOST localhost ZEBRA_TOKENIZER icu ZEBRA_USER КористувачZebra and in the following directories: BACKUP_DIR $(DESTDIR)/var/spool/koha3 DOC_DIR $(DESTDIR)/usr/share/koha3/doc INTRANET_CGI_DIR $(DESTDIR)/usr/share/koha3/intranet/cgi-bin INTRANET_TMPL_DIR $(DESTDIR)/usr/share/koha3/intranet/htdocs/intranet-tmpl INTRANET_WWW_DIR $(DESTDIR)/usr/share/koha3/intranet/htdocs KOHA_CONF_DIR $(DESTDIR)/etc/koha3 LOG_DIR $(DESTDIR)/var/log/koha3 MAN_DIR $(DESTDIR)/usr/share/koha3/man MISC_DIR $(DESTDIR)/usr/share/koha3/misc OPAC_CGI_DIR $(DESTDIR)/usr/share/koha3/opac/cgi-bin OPAC_TMPL_DIR $(DESTDIR)/usr/share/koha3/opac/htdocs/opac-tmpl OPAC_WWW_DIR $(DESTDIR)/usr/share/koha3/opac/htdocs PAZPAR2_CONF_DIR $(DESTDIR)/etc/koha3/pazpar2 PERL_MODULE_DIR $(DESTDIR)/usr/share/koha3/lib PLUGINS_DIR $(DESTDIR)/var/lib/koha3/plugins SCRIPT_DIR $(DESTDIR)/usr/share/koha3/bin SCRIPT_NONDEV_DIR $(DESTDIR)/usr/share/koha3/bin ZEBRA_CONF_DIR $(DESTDIR)/etc/koha3/zebradb ZEBRA_DATA_DIR $(DESTDIR)/var/lib/koha3/zebradb ZEBRA_LOCK_DIR $(DESTDIR)/var/lock/koha3/zebradb ZEBRA_RUN_DIR $(DESTDIR)/var/run/koha3/zebradb To change any configuration setting, please run perl Makefile.PL again. To override one of the target directories, you can do so on the command line like this: perl Makefile.PL PERL_MODULE_DIR=/usr/share/perl/5.14 You can also set different default values for parameters or override directory locations by using environment variables. For example: export DB_USER=my_koha perl Makefile.PL or DB_USER=my_koha DOC_DIR=/usr/local/info perl Makefile.PL If installing on a Win32 platform, be sure to use: 'dmake -x MAXLINELENGTH=300000' Writing Makefile for koha Writing MYMETA.yml
Компіляція та встановлення
make make test sudo make upgrade
Поправити налаштування хоста Apache
sudo mc -e /etc/koha3/koha-httpd.conf
/etc/koha3/koha-httpd.conf ... <VirtualHost *:80> ServerName koha ... ... <VirtualHost *:8080> ServerName koha:8080 ...
та перезапустити сервер Apache
sudo /etc/init.d/apache2 restart
Куки
Інколи при оновленні між версіями, при спробі доступу до веб-інтерфейсу з’являється у оглядачі помилка на зразок
Koha Byte order is not compatible at Storable.pm line Auth.pm
Вирішує проблему очищення куків в оглядачі для даного домену.
Продовжуємо оновлення через веб-інтерфейс
Вводимо логін АдміністраторСистемиKoha та пароль, оновлюємо БД:
Ми модернізуємо Коха від версії 3.16.00.000 до 3.16.02.000, Ви повинні також оновити Вашу баз даних Звіт про оновлення: Upgrade to 3.16.01.000 done (3.16.1 release) Upgrade to 3.16.02.000 done (3.16.2 release) Все пройшло добре, оновлення зроблено. Продовжуємо та входимо до Коха
Поновлення мовних шаблонів
Усі шаблони для мов відмінних від en залишаються старі — необхідно оновити, напр. для укр. та рос.:
cd /usr/share/koha3/misc/translator/;sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA cd /usr/share/koha3/misc/translator/;sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU
Бажано після цього перезапустити й службу memcached
sudo /etc/init.d/memcached restart
Відновлення Zebra
Поновлювач перезаписує файл
/etc/koha3/zebradb/etc/word-phrase-utf.chr
витираючи набори кириличних символів й апостроф, необхідні для працездатності пошуку Zebra, отож виправляємо у цьому файлі на наступне:
lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’ uppercase {0-9}{A-Z}ÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’ space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
Зауваження: ймовірно, при виборі ICU цього не потрібно (ще варто детально протестувати)
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу
/etc/koha3/zebradb/lang_defs/en/sort-string-utf.chr
(наявність uk/sort-string-utf.chr наразі не дає бажаного результату).
Переіндексація БД
sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -r -x -v sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -a -r -v
Зауваження щодо ICU
Використання ICU, ймовірно, ще потребує дослідження. На великій БД з'явилась помилка при переіндесації Zebra:
... *** glibc detected *** zebraidx: corrupted double-linked list: 0x09d57700 *** ...
Згадки по цій проблемі: http://lists.nongnu.org/archive/html/koha-zebra/2011-06/msg00001.html http://irc.koha-community.org/irclog/koha/2011-05-29
Лише у випадку, якщо присутня така проблема з індексацією, пробуємо відключити ICU у файлі /etc/koha3/zebradb/etc/default.idx, замінивши у двох рядках
icuchain words-icu.xml
на
charmap word-phrase-utf.chr
Також у файлі /etc/koha3/zebradb/etc/word-phrase-utf.chr повинен бути кириличний алфавіт (згадується вище).
Відновлення алфавітного вибору читачів (застаріло)
З версії 3.12 алфавіт для вибору читачів можна вказувати у системній змінній alphabet.
Відновлення індексування УДК в Zebra
Кроки:
1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок
att 14 UDC-classification
2) У файлі /etc/koha3/zebradb/ccl.properties знаходимо абзац
#Classification-UDC 14 A classification number from 080 # Universal Decimal # Classification, a system based # on the Dewey Decimal # Classification. #UDC-classification 1=14
та розкоментовуємо
UDC-classification 1=14
3) Далі для Unimarc у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs потрібно додати
melm 675$a UDC-classification:w,UDC-classification:p
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl додати
<xslo:template mode="index_subfields" match="marc:datafield[@tag='675']"> <xslo:for-each select="marc:subfield"> <xslo:if test="contains('a', @code)"> <z:index name="UDC-classification:w UDC-classification:p"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each> </xslo:template>
та у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml додати
<------>UDC-classification:w,UDC-classification:p--> <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="675" subfields="a"> <target_index>UDC-classification:w</target_index> <target_index>UDC-classification:p</target_index> </index_subfields>
Далі для Marc21 у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs:
melm 080 UDC-classification:w,UDC-classification:s
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl має бути (є)
<xslo:template mode="index_data_field" match="marc:datafield[@tag='080']"> <z:index name="UDC-classification:w UDC-classification:s"> <xslo:variable name="raw_heading"> <xslo:for-each select="marc:subfield"> <xslo:if test="position() > 1"> <xslo:value-of select="substring(' ', 1, 1)"/> </xslo:if> <xslo:value-of select="."/> </xslo:for-each> </xslo:variable> <xslo:value-of select="normalize-space($raw_heading)"/> </z:index> </xslo:template>
та у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml має бути (є)
<index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="080"> <target_index>UDC-classification:w</target_index> <target_index>UDC-classification:s</target_index> </index_data_field>
4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масив @indexes додати елемент-індекс
'UDC-classification',
Відновлення індексування ББК в Zebra
Кроки:
1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att є рядок
att 1040 Classification
Виглядає так, що він не використовується надалі. Отож замінюємо його на такий
att 1040 bbk
2) У файлі /etc/koha3/zebradb/ccl.properties повинен бути наступний рядок
#bbk 1040 Soviet Bibliothecal-Bibliographic Classification (BBK; LBC) bbk 1=1040
3) Далі для Unimarc у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs потрібно додати
melm 686$a bbk,bbk:p
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl додати
<xslo:template mode="index_subfields" match="marc:datafield[@tag='686']"> <xslo:for-each select="marc:subfield"> <xslo:if test="contains('a', @code)"> <z:index name="bbk bbk:p"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each> </xslo:template>
або, якщо є 686-секція, то вставити в неї
<xslo:for-each select="marc:subfield"> <xslo:if test="contains('a', @code)"> <z:index name="bbk bbk:p"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each>
та у файл /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml додати
<------>bbk,bbk:p--> <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="686" subfields="a"> <target_index>bbk</target_index> <target_index>bbk:p</target_index> </index_subfields>
Далі для Marc21 у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs:
melm 084 bbk:w,bbk:s
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl має бути (є)
<xslo:template mode="index_data_field" match="marc:datafield[@tag='084']"> <z:index name="bbk:w bbk:s"> <xslo:variable name="raw_heading"> <xslo:for-each select="marc:subfield"> <xslo:if test="position() > 1"> <xslo:value-of select="substring(' ', 1, 1)"/> </xslo:if> <xslo:value-of select="."/> </xslo:for-each> </xslo:variable> <xslo:value-of select="normalize-space($raw_heading)"/> </z:index> </xslo:template>
та у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml має бути (є)
<index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="084"> <target_index>bbk:w</target_index> <target_index>bbk:s</target_index> </index_data_field>
4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масив @indexes додати елемент-індекс
'bbk',
Відновлення індексування ДКД (Дьюї) в Zebra
Кроки:
1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок
att 13 Dewey-classification
2) У файлі /etc/koha3/zebradb/ccl.properties находимо абзац
#Classification-Dewey 13 A classification number from 082 # the Dewey Decimal # Classification, developed by # Melvyl Dewey. #Dewey-classification 1=13
та розкоментовуємо
Dewey-classification 1=13
3) Далі для Unimarc у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є)
melm 676$a Dewey-classification:w,Dewey-classification:p
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl має бути (є)
<xslo:template mode="index_subfields" match="marc:datafield[@tag='676']"> <xslo:for-each select="marc:subfield"> <xslo:if test="contains('a', @code)"> <z:index name="Dewey-classification:w Dewey-classification:p"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each> </xslo:template>
та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є)
Dewey-classification:w,Dewey-classification:p--> <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="676" subfields="a"> <target_index>Dewey-classification:w</target_index> <target_index>Dewey-classification:p</target_index> </index_subfields>
Далі для Marc21 у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs:
melm 082 Dewey-classification:w,Dewey-classification:s
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
Додаково внести зміни й у /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl:
<xslo:template mode="index_data_field" match="marc:datafield[@tag='082']"> <z:index name="Dewey-classification:w Dewey-classification:s"> <xslo:variable name="raw_heading"> <xslo:for-each select="marc:subfield"> <xslo:if test="position() > 1"> <xslo:value-of select="substring(' ', 1, 1)"/> </xslo:if> <xslo:value-of select="."/> </xslo:for-each> </xslo:variable> <xslo:value-of select="normalize-space($raw_heading)"/> </z:index> </xslo:template>
та /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml:
<index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="082"> <target_index>Dewey-classification:w</target_index> <target_index>Dewey-classification:s</target_index> </index_data_field>
4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масиві @indexes має бути (є) елемент-індекс
'Dewey-classification',
Відновлення індексування КБК (клас. Бібліотеки Конгресу) в Zebra
Кроки:
1) У файлі /etc/koha3/zebradb/biblios/etc/bib1.att вже є необхідний рядок
att 16 LC-call-number
2) У файлі /etc/koha3/zebradb/ccl.properties находимо абзац
#Classification-LC 16 A classification number from 050 # the US Library of Congress # Classification. #LC-call-number 1=16
та розкоментовуємо
LC-call-number 1=16
3) Далі для Unimarc у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є)
melm 680$b LC-call-number:s melm 680 LC-call-number
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl має бути (є)
<xslo:template mode="index_subfields" match="marc:datafield[@tag='680']"> <xslo:for-each select="marc:subfield"> <xslo:if test="contains('b', @code)"> <z:index name="LC-call-number:s"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each> </xslo:template> <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']"> <z:index name="LC-call-number:w"> <xslo:variable name="raw_heading"> <xslo:for-each select="marc:subfield"> <xslo:if test="position() > 1"> <xslo:value-of select="substring(' ', 1, 1)"/> </xslo:if> <xslo:value-of select="."/> </xslo:for-each> </xslo:variable> <xslo:value-of select="normalize-space($raw_heading)"/> </z:index> </xslo:template>
та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є)
<------>LC-call-number:s--> <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="680" subfields="b"> <target_index>LC-call-number:s</target_index> </index_subfields> <------>LC-call-number--> <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="680"> <target_index>LC-call-number:w</target_index> </index_data_field>
Далі для Marc21 у файлі /etc/koha3/zebradb/marc_defs/marc21/biblios/record.abs:
melm 050$b LC-call-number:w,LC-call-number:p,LC-call-number:s melm 050 LC-call-number:w,LC-call-number:p,LC-call-number:s
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
Додаково внести зміни й у /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl:
<xslo:template mode="index_subfields" match="marc:datafield[@tag='050']"> <xslo:for-each select="marc:subfield"> <xslo:if test="contains('b', @code)"> <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s"> <xslo:value-of select="."/> </z:index> </xslo:if> </xslo:for-each> </xslo:template> <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']"> <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s"> <xslo:variable name="raw_heading"> <xslo:for-each select="marc:subfield"> <xslo:if test="position() > 1"> <xslo:value-of select="substring(' ', 1, 1)"/> </xslo:if> <xslo:value-of select="."/> </xslo:for-each> </xslo:variable> <xslo:value-of select="normalize-space($raw_heading)"/> </z:index> </xslo:template>
та /etc/koha3/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml:
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="050" subfields="b"> <target_index>LC-call-number:w</target_index> <target_index>LC-call-number:p</target_index> <target_index>LC-call-number:s</target_index> </index_subfields> <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="050"> <target_index>LC-call-number:w</target_index> <target_index>LC-call-number:p</target_index> <target_index>LC-call-number:s</target_index> </index_data_field>
4) Також потрібно у файлі /usr/share/koha3/lib/C4/Search.pm у масиві @indexes має бути (є) елемент-індекс
'LC-call-number',
Утворення індексів УДК, Дьюї, ББК, КБК та можливість пошуку за ними
Для витягнення означених класифікаційних індексів запускаємо переіндексацію Zebra
sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \ /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -r -x -v
ЕК) У файлі /usr/share/koha3/opac/htdocs/opac-tmpl/prog/en/modules/opac-advsearch.tt
замість рядка
<option value="callnum">Call number</option>
додати рядки
<option value="sn">Standart number</option> <option value="callnum"> Call number</option> <option value="UDC-classification,first-in-subfield"> UDC-classification</option> <option value="Dewey-classification,first-in-subfield"> Dewey-classification</option> <option value="bbk,first-in-subfield"> BBK</option> <option value="LC-call-number,first-in-subfield"> LC-call-number</option>
Біб. інтерфейс) У файлі /usr/share/koha3/intranet/htdocs/intranet-tmpl/prog/en/includes/search_indexes.inc
замість рядка
<option value="callnum"> Call number</option>
додати рядки
<option value="callnum"> Call number</option> <option value="UDC-classification,first-in-subfield"> UDC-classification</option> <option value="Dewey-classification,first-in-subfield"> Dewey-classification</option> <option value="bbk,first-in-subfield"> BBK</option> <option value="LC-call-number,first-in-subfield"> LC-call-number</option>
Відповідно також потрібно перегенерувати мовні шаблони, напр. для укр. та рос.:
cd /usr/share/koha3/misc/translator sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU
Відновлення налаштування за класифікацією
Типово це не працює для використовуваного класифікаційного індексу (УДК, ББК, ДДК) і при оновленні вертається типовий варіант.
Декілька кроків:
1) build_browser_and_cloud.pl з інтегрованими таблицями УДК, ББК, ДДК для української.
Файл build_browser_and_cloud.pl можна знайти у теці PUBLIC хмарного сховища [htp://db.tt/ExL7MRZ Dropbox] Сергія Дубика.
Розміщуємо файл за шляхом /usr/share/koha3/bin/cronjobs
2) До таблиці „browser“ додати колонки „class_source“ та “language“
sql-команди для додавання
ALTER TABLE browser ADD class_source varchar(10); ALTER TABLE browser ADD language varchar(25); ALTER TABLE browser ADD parent_class varchar(255); ALTER TABLE browser ADD query mediumtext;
Додатково: тип колонки „description“ змінити на „mediumtext“, тип колонки „classification“ змінити на „varchar(255)“.
3) Для періодичного оновлення ієрархії класифікаційних індексів (УДК, скорочені табл.) необхідно періодично (crontab) запускати сценарій
env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=usr/share/koha3/lib perl -I /usr/share/koha3/lib build_browser_and_cloud.pl \ -b -f 675a -t 606 -c -m 3 -s udc -l uk_UA
для ДДК (скорочені табл. Дьюї) параметри:
-b -f 676a -t 606 -c -m 3 -k ddc -l uk_UA
для ББК (скорочені таблиці ББК для наукових бібліотек) параметри:
-b -f 686a -t 606 -c -m 3 -k rubbk -l uk_UA
4) Також змінюємо файл /usr/share/koha3/opac/htdocs/opac-tmpl/prog/en/modules/opac-browser.tt
Замінюємо рядок з пошуковим запитом
opac-search.pl?q=Dewey-classification
для УДК на
opac-search.pl?q=UDC-classification,first-in-subfield
для ББК на
opac-search.pl?q=bbk,first-in-subfield
для ДДК (Дьюї) на
opac-search.pl?q=Dewey-classification,first-in-subfield
Шаблон opac-browser.tt для мов відмінних від en залишається старий — необхідно теж оновити, напр. для укр. та рос.:
cd /usr/share/koha3/misc/translator/;sudo env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA cd /usr/share/koha3/misc/translator/;sudo env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU
P.S. Ще не реалізований у файлі build_browser_and_cloud.pl переклад терму "classification $_" у рядку
$sth->execute(length($_),$_,$classification->{$_}?$classification->{$_}:"classification $_",$browser_result{$_}->{value},
Оновлення завершено
Заходимо у інтерфейс бібліотекаря. Бачимо зміну версії за адресою http://localhost:8080/cgi-bin/koha/about.pl
Налаштування
Щодо додаткових налаштувань та адаптацій див. тут: Налаштування Koha, встановленої з джерела.