Оновлення Koha, встановленої з джерела
Оновлення до Koha 3.10.x, встановленої з джерела
Стосується встановлення Koha 3.10.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.12.0
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
Перевірки та довстановлення пакунків
Перевірка аналізатора SAX Parser
У теці Koha виконати
perl ~/koha/koha-3.12.00/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.12.00/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
Пакунки з тестового репозитарію Дебіен
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
Пакунки з репозитарію 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'
Оновлення
cd ~/koha/koha-3.12.00/; 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.12.00.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: 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 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.8 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
Компіляція та встановлення
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 *:8888> ServerName koha:8888 ...
та перезапустити сервер Apache
sudo /etc/init.d/apache2 restart
Куки
Інколи при оновленні між версіями, при спробі доступу до веб-інтерфейсу з’являється у оглядачі помилка на зразок
Koha Byte order is not compatible at Storable.pm line Auth.pm
Вирішує проблему очищення куків в оглядачі для даного домену.
Продовжуємо оновлення через веб-інтерфейс
Логін АдміністраторСистемиKoha та пароль
Update report : Upgrade to 3.11.00.001 done (Bug 2832 - Add alphabet syspref) Upgrade to 3.11.00.002 done (Bug 9030: Add constraint on aqorders_items.ordernumber) Upgrade to 3.11.00.003 done (Bug 7189: Add system preference RefundLostItemFeeOnReturn) Upgrade to 3.11.00.004 done (Bug 8782: Add field subscription.closed) Upgrade to 3.11.00.005 done (Bug 7919: Display of values depending on the connexion library) Upgrade to 3.11.00.006 done (Bug 9167: Update the virtualshelves.sortfield column with 'copyrightdate' if needed) Upgrade to 3.11.00.007 done (Bug 9056: add German and a couple of French translations to language_descriptions) Upgrade to 3.11.00.008 done (Bug 7067: Add Patron Self Registration) Upgrade to 3.11.00.009 done (Bug 7674: Add systempreferences SeparateHoldings, SeparateHoldingsBranch, OpacSeparateHoldings and OpacSeparateHoldingsBranch) Upgrade to 3.11.00.010 done (Bug 9151 - Renewal notice according to patron alert preferences) Upgrade to 3.11.00.011 done (Bug 8377: Add HTML5MediaEnabled and HTML5MediaExtensions sysprefs) Upgrade to 3.11.00.012 done (Bug 9206: Only allow place holds in records that the patron don't have in his possession) Upgrade to 3.11.00.013 done (Bug 9162 - Add a system preference to set which notes fields appears on title notes/description separator) Upgrade to 3.11.00.014 done (Bug 9009: Add SCOUserCSS and SCOUserJS sysprefs) Upgrade to 3.11.00.015 done (Add sysprefs RentalsInNoissuesCharge and ManInvInNoissuesCharge.) Upgrade to 3.11.00.016 done (Bug 9382 (updated with bug 9745) - refresh permission descriptions to make more sense) Upgrade to 3.11.00.017 done (Add IDreamBooks enhanced content) Upgrade to 3.11.00.018 done (Bug 9395: Problem with callnumber and standard number search in OPAC and Staff Client) Upgrade to 3.11.00.019 done (Bug 9145 - Add syspref UNIMARCAuthorityField100) Upgrade to 3.11.00.020 done (Bug 8347 - Koha forces UNIMARC 100 field code language to 'fre') Upgrade to 3.11.00.021 done (Bug 5888 - Subject search pop-up for the OPAC) Upgrade to 3.11.00.022 done (Bug 9587 - Allow login via Persona) Upgrade to 3.11.00.023 done (Bug 9520 - Update default LOC Z39.50 target) Upgrade to 3.11.00.024 done (Bug 5079: Add OpacItemLocation syspref) Upgrade to 3.11.00.025 done (Adds feature Bug 8917, the ability to track links clicked) Upgrade to 3.11.00.026 done (Bug 9207: Add new index batch_id_record_type to import_records) Upgrade to 3.11.00.027 done ( Add circ permission overdues_report ) Upgrade to 3.11.00.028 done (Bug 9756 - Patron self registration missing the system preference PatronSelfRegistrationAdditionalInstructions) Upgrade to 3.11.00.029 done (Bug 9239: Make it possible for Koha to use QueryParser) Upgrade to 3.11.00.030 done (Add system preference FinesIncludeGracePeriod) Upgrade to 3.11.00.100 done (3.12-alpha release) Upgrade to 3.11.00.101 done (Bug 9341: Problem with UNIMARC authors facets) Upgrade to 3.11.00.102 done (Remove deprecated NoZebra and QueryRemoveStopwords sysprefs) Upgrade to 3.11.00.103 done (Bug 9827 - Remove 'insecure' system preference) Upgrade to 3.11.00.104 done (3.12-alpha2 release) Upgrade to 3.11.00.105 done (Bug 9353: Missing subfields on MARC21 frameworks) Upgrade to 3.11.00.106 done (Bug 7804: Added plugin system.) Upgrade to 3.11.00.107 done (Bug 9014: Add syspref TimeFormat) Upgrade to 3.11.00.108 done (Bug 7241: Fix on circulation logs) WARNING about bug 7241: to partially correct the broken logs, the log history is filled with the first found item for each biblio. Upgrade to 3.11.00.109 done (Bug 9403: Add DisplayIconsXSLT) Upgrade to 3.11.00.110 done (Bug 8220 - Allow koc uploads to go to process queue) Upgrade to 3.11.00.111 done (use new <<items.fine>> syntax in notices) Upgrade to 3.11.00.112 done (Bug 8365: Add colum issuingrules.renewalperiod) Upgrade to 3.11.00.113 done (Bug 9257 - Add groups to normal search pulldown) Upgrade to 3.11.00.115 done (Bug 7740: Add syspref HighlightOwnItemsOnOPAC) Upgrade to 3.11.00.116 done (Bug 5343: table aqorders: DROP serialid and subscription fields and ADD subscriptionid, table subscription: ADD reneweddate) Upgrade to 3.11.00.200 done (3.12-beta1 release) Upgrade to 3.11.00.201 done (Bug 9498 - Update encoding for Norwegian sample Z39.50 servers) Upgrade to 3.11.00.202 done (Bug 9381: Add Catalan laguage) Upgrade to 3.11.00.203 done (Bug 2046 - increasing title column length for suggestions) Upgrade to 3.11.00.300 done (3.12-beta3 release) Upgrade to 3.11.00.301 done (Bug 9681: Add some database indexes) Upgrade to 3.12.00.000 done (3.12.0 release) Update errors : [Tue May 28 13:41:17 2013] updatedatabase.pl: DBD::mysql::db do failed: Duplicate entry 'UNIMARCAuthorityField100' for key 'PRIMARY' at /usr/share/koha3/intranet/cgi-bin/installer/data/mysql/updatedatabase.pl line 6413.
Поновлення мовних шаблонів
Шаблони для мов відмінних від 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 цього не потрібно (ще варто детально протестувати)
Переіндексація БД
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 повинен бути кириличний алфавіт (згадується вище).
Відновлення алфавітного вибору читачів
У файлі intranet/cgi-bin/members/member.pl виправити
my @letters = map { {letter => $_} } ( 'A' .. 'Z');
на
my @letters = map { {letter => $_} } ( 'А','Б','В','Г','Ґ','Д','Е','Є','Ж','З','И','І','Ї','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ю', 'Я','</a>…<a>','Ў','Ё','Ъ','Ы','Э','</a>…<a>', 'A' .. 'Z');
Також у файлі intranet/cgi-bin/members/members-home.pl виправити
my @letters = map { {letter => $_} } ( 'A' .. 'Z');
на
my @letters = map { {letter => $_} } ( 'А','Б','В','Г','Ґ','Д','Е','Є','Ж','З','И','І','Ї','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ю', 'Я','</a>…<a>','Ў','Ё','Ъ','Ы','Э','</a>…<a>', 'A' .. 'Z');
Відновлення індексування УДК в 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,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 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,Dewey-classification:p--> <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="676" subfields="a"> <target_index>Dewey-classification</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 koha3admin 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:8888/cgi-bin/koha/about.pl
Налаштування
Щодо додаткових налаштувань та адаптацій див. тут: Налаштування Koha, встановленої з джерела.