Оновлення Koha, встановленої з джерела
Оновлення до 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
Журнал попереднього встановлення
Дивимося у конфігураційному файлі /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.14.06.000 до 3.16.00.000, Ви повинні також оновити Вашу баз даних Звіт про оновлення: Upgrade to 3.15.00.000 done (the road goes ever on) Upgrade to 3.15.00.001 done (Bug 11040: Add option to print full slip when checking out a null barcode) Upgrade to 3.15.00.002 done (Bug 11275: alter deleteditems.materials from varchar(10) to text) Upgrade to 3.15.00.003 done (Bug 2546: Update fine descriptions) Upgrade to 3.15.00.004 done (Bug 10970 - Update MARC21 frameworks to Update Nr. 17 - DB update) Upgrade to 3.15.00.005 done (Bug 8230: Add AcquisitionDetails system preference) Upgrade to 3.15.00.006 done (Bug 11249 - Add DB indexes on borrower names) Upgrade to 3.15.00.007 done (Bug 9673 - Track when items are marked as lost or withdrawn) Upgrade to 3.15.00.008 done (Bug 11384) - change name of collections_tracker.ctId column) Upgrade to 3.15.00.009 done (Bug 11391) - drop default value on suggestions.suggesteddate column) Upgrade to 3.15.00.010 done (Bug 6331: remove obsolete column in deleteditems.marc) Upgrade to 3.15.00.011 done (Bug 8018: set 9999 as default max length for subfields) Upgrade to 3.15.00.012 done (Bug 10863 - Add permissions force_checkout and manage_restrictions) Upgrade to 3.15.00.013 done (Bug 11237: Update explanation and default value for AcqItemSetSubfieldsWhenReceived syspref) Upgrade to 3.15.00.014 done (Bug 11415: add system preference for automatic self checkout receipt printing) Upgrade to 3.15.00.015 done (Bug 10907: Add OpacSuggestionManagedBy system preference) Upgrade to 3.15.00.016 done (Bug 11268 - Biblioitems URL field is too small for some URLs) Upgrade to 3.15.00.017 done (Bug 11611 - fix possible confusion between UNIMARC and MARC21 in some sysprefs) Upgrade to 3.15.00.018 done (Bug 7372: Move road types from the roadtype table to the ROADTYPE authorised values) Upgrade to 3.15.00.019 done (Bug 11256: Add system preference OpacMaxItemsToDisplay) Upgrade to 3.15.00.020 done (Bug 11343: Add system preference MaxItemsForBatch ) Upgrade to 3.15.00.021 done (Bug 3445: Add indexes to action_logs table) Upgrade to 3.15.00.022 done (Bug 11751: Remove memberofinstitytion system preference) Upgrade to 3.15.00.023 done (Bug 10861: Add CardnumberLength syspref) Upgrade to 3.15.00.024 done (Bug 10012 - remove last vestiges of NoZebra) Upgrade to 3.15.00.025 done (Bug 11928 - remove unused table) Upgrade to 3.15.00.026 done (Bug 11973 - Fix Armenian language description) Upgrade to 3.15.00.027 done (Bug 7567: Add branchcode to opac_news) Upgrade to 3.15.00.028 done (Bug 7413: Allow OPAC renewal x days before due date) Upgrade to 3.15.00.029 done (Bug 11846 - correct borrower_debarments with expiration 9999-12-31) Upgrade to 3.15.00.030 done (Bug 12052: Add OPACMySummaryNote syspref) Upgrade to 3.15.00.031 done (Bug 9448 - Add separate permission for writing off fees) Upgrade to 3.15.00.032 done (Bug 9416 - In each order, add a new note made for the vendor) Upgrade to 3.15.00.033 done (Bug 10951: Add NoLoginInstructions pref) Upgrade to 3.15.00.034 done (Bug 10986: system preferences to limit languages in advanced search ) Upgrade to 3.15.00.035 done (Bug 9032: Share a list) Upgrade to 3.15.00.036 done (Bug 10859 - Add system preference AllowMultipleIssuesOnABiblio) Upgrade to 3.15.00.037 done (Bug 11351 - Add support for SIP2 media type) Upgrade to 3.15.00.038 done (Bug 11334 - Add facet for home library) Upgrade done (Bug 9016: Adds multi transport types management for notices) Upgrade to 3.15.00.040 done (Bug 10845: Multi transport types for holds) Upgrade to 3.15.00.041 done (Bug 11867: Update letters *_PHONE) Upgrade to 3.15.00.042 done (Bug 10694 - Allow arbitrary backdating of returns) Upgrade to 3.15.00.043 done (Bug 7180: Added MarcFieldsToOrder syspref) Upgrade to 3.15.00.044 done (Added isocode to the currency table) Upgraded to 3.15.00.045 done (Bug 6739 - expired patrons not blocked from opac actions) Upgrade to 3.15.00.046 done (Bug 10807 - Add db field search_history.type) Upgrade to 3.15.00.047 done (Bug 10862: Add EnableSearchHistory syspref) Upgrade to 3.15.00.048 done (Bug 10195: Records hidden with OpacSuppression can still be accessed) Upgrade to 3.15.00.049 done (Bug 11268 - Biblioitems URL field is too small for some URLs) Upgrade to 3.15.00.050 done (Bug 10500 - Improve isbn matching when importing records) Upgrade to 3.15.00.051 done (Koha 3.16 beta) Upgrade to 3.15.00.052 done (Koha 3.16 RC) Upgrade to 3.16.00.000 done (3.16.0 release) Помилки при оновленні: [Fri May 23 11:48:32 2014] updatedatabase.pl: DBD::mysql::db do failed: Duplicate key name 'surname_idx' at /usr/share/koha3/intranet/cgi-bin/installer/data/mysql/updatedatabase.pl line 7841. [Fri May 23 11:48:38 2014] updatedatabase.pl: DBD::mysql::db do failed: Unknown column 'ctId' in 'collections_tracking' at /usr/share/koha3/intranet/cgi-bin/installer/data/mysql/updatedatabase.pl line 7863. [Fri May 23 11:48:38 2014] updatedatabase.pl: DBD::mysql::db do failed: Can't DROP 'marc'; check that column/key exists at /usr/share/koha3/intranet/cgi-bin/installer/data/mysql/updatedatabase.pl line 7881. Все пройшло добре, оновлення зроблено. Продовжуємо та входимо до Коха
Поновлення мовних шаблонів
Усі шаблони для мов відмінних від 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, встановленої з джерела.