Відмінності між версіями «Оновлення Koha, встановленої з джерела»

(Утворення індексів УДК, Дьюї, ББК, КБК та можливість пошуку за ними)
 
(Не показано 67 проміжних версій цього користувача)
Рядок 1: Рядок 1:
Оновлення до Koha 3.10.x, встановленої з джерела
+
<b>Наповнення цієї сторінки на цій площадці заморожено! <br />
 +
Подальше редагування відбувається на сайті української спільноти користувачів АБІС Koha [http://wiki.koha.org.ua wiki.koha.org.ua]!<br />
 +
Ласкаво просимо!</b>
  
Стосується встановлення Koha 3.10.x за інструкцією „[[Встановлення Koha з джерела на ОС Debian]]“
+
Оновлення до Koha 3.16.x, встановленої з джерела
 +
 
 +
Стосується встановлення Koha 3.16.x за інструкцією „[[Встановлення Koha з джерела на ОС Debian]]“
  
 
= Резервні копії =
 
= Резервні копії =
Рядок 44: Рядок 48:
 
    <install_log>/usr/share/koha3/misc/koha-install-log</install_log>
 
    <install_log>/usr/share/koha3/misc/koha-install-log</install_log>
  
= Отримання останньої стабільної версій Koha 3.12.0 =
+
= Отримання останньої стабільної версій Koha 3.16.02 =
  
 
  su АдміністраторСистемиKoha
 
  su АдміністраторСистемиKoha
Рядок 55: Рядок 59:
 
  tar -xzf koha-latest.tar.gz
 
  tar -xzf koha-latest.tar.gz
 
  ls
 
  ls
 +
 +
(для наступних оновлень зручно з цього коду створити сценарій, напр., get_latest_KOHA_and_unpack.sh)
  
 
= Перевірки та довстановлення пакунків =
 
= Перевірки та довстановлення пакунків =
Рядок 62: Рядок 68:
 
У теці Koha виконати
 
У теці Koha виконати
  
  perl ~/koha/koha-3.12.00/misc/sax_parser_print.pl
+
  perl ~/koha/koha-3.16.02/misc/sax_parser_print.pl
  
 
Ви повинні побачити щось таке
 
Ви повинні побачити щось таке
Рядок 74: Рядок 80:
 
Команда
 
Команда
  
  perl ~/koha/koha-3.12.00/koha_perl_deps.pl -c -u -m
+
  perl ~/koha/koha-3.16.02/koha_perl_deps.pl -c -u -m
  
 
видасть список відсутніх модулів та модулів, які необхідно оновити.
 
видасть список відсутніх модулів та модулів, які необхідно оновити.
Рядок 148: Рядок 154:
 
  libcache-perl \
 
  libcache-perl \
 
  libstring-random-perl \
 
  libstring-random-perl \
  libtest-www-mechanize-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
  
 
== Пакунки з тестового репозитарію Дебіен ==
 
== Пакунки з тестового репозитарію Дебіен ==
Рядок 161: Рядок 173:
 
  libmouse-perl \
 
  libmouse-perl \
 
  libcache-memcached-fast-perl \
 
  libcache-memcached-fast-perl \
  libarchive-extract-perl
+
  libarchive-extract-perl \
 +
libmarc-record-perl \
 +
libmarc-xml-perl
  
 
== Пакунки з репозитарію Koha ==
 
== Пакунки з репозитарію Koha ==
Рядок 195: Рядок 209:
 
Цей Perl-модуль ще не доступний в жодному з репозиторіїв Дебіен (перевірити в Debian: [http://packages.debian.org/uk/wheezy/libdata-pagination-perl libdata-pagination-perl]). Встановлюємо командою  
 
Цей Perl-модуль ще не доступний в жодному з репозиторіїв Дебіен (перевірити в Debian: [http://packages.debian.org/uk/wheezy/libdata-pagination-perl libdata-pagination-perl]). Встановлюємо командою  
  
  sudo perl -MCPAN -e 'install Data::Pagination'
+
  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.12.00/; perl Makefile.PL --prev-install-log /usr/share/koha3/misc/koha-install-log
+
  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''':
 
у випадку оновлення 3.6-3.12 з’явилася можливість налаштувати Zebra для кращої підтримки Unicode-символів. Вибираємо '''icu''':
Рядок 220: Рядок 244:
 
  Bibliographic indexing mode (dom, grs1) ['''dom''']  
 
  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
Рядок 246: Рядок 270:
 
  INSTALL_ZEBRA            yes
 
  INSTALL_ZEBRA            yes
 
  KOHA_GROUP              АдміністраторСистемиKoha
 
  KOHA_GROUP              АдміністраторСистемиKoha
  KOHA_INSTALLED_VERSION  3.12.00.000
+
  KOHA_INSTALLED_VERSION  3.16.02.000
 
  KOHA_USER                АдміністраторСистемиKoha
 
  KOHA_USER                АдміністраторСистемиKoha
 
  MEMCACHED_NAMESPACE      KOHA
 
  MEMCACHED_NAMESPACE      KOHA
Рядок 268: Рядок 292:
 
  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
Рядок 281: Рядок 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
Рядок 292: Рядок 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.8
+
  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
Рядок 310: Рядок 336:
 
   
 
   
 
  Writing Makefile for koha
 
  Writing Makefile for koha
 +
Writing MYMETA.yml
  
 
= Компіляція та встановлення =
 
= Компіляція та встановлення =
Рядок 328: Рядок 355:
 
  ...
 
  ...
 
  ...
 
  ...
  <VirtualHost *:8888>
+
  <VirtualHost *:8080>
   ServerName koha:8888
+
   ServerName koha:8080
 
  ...
 
  ...
  
Рядок 344: Рядок 371:
 
= Продовжуємо оновлення через веб-інтерфейс =
 
= Продовжуємо оновлення через веб-інтерфейс =
  
http://localhost:8888
+
http://localhost:8080
  
Логін АдміністраторСистемиKoha та пароль
+
Вводимо логін АдміністраторСистемиKoha та пароль, оновлюємо БД:
  
  Update report :
+
  Ми модернізуємо Коха від версії 3.16.00.000 до 3.16.02.000, Ви повинні також оновити Вашу баз даних
+
Звіт про оновлення:
    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 :
+
    Upgrade to 3.16.01.000 done (3.16.1 release)
 +
    Upgrade to 3.16.02.000 done (3.16.2 release)
 
   
 
   
    [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 залишаються старі — необхідно теж оновити,
+
Усі шаблони для мов відмінних від en залишаються старі — '''необхідно оновити''',
 
напр. для укр. та рос.:  
 
напр. для укр. та рос.:  
  
Рядок 420: Рядок 395:
  
 
  sudo /etc/init.d/memcached restart
 
  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 =
 
= Відновлення Zebra =
Рядок 426: Рядок 414:
 
  /etc/koha3/zebradb/etc/word-phrase-utf.chr
 
  /etc/koha3/zebradb/etc/word-phrase-utf.chr
  
витираючи набори кириличних символів й опостроф, необхідні для працездатності пошуку Zebra, отож виправляємо у цьому файлі на наступне:
+
витираючи набори кириличних символів й апостроф, необхідні для працездатності пошуку Zebra, отож виправляємо у цьому файлі на наступне:
  
 
  lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’
 
  lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’
Рядок 433: Рядок 421:
 
  space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
 
  space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
  
Зауваження: при виборі ICU цього не потрібно (ще варто детально протестувати)
+
Зауваження: ймовірно, при виборі ICU цього не потрібно (ще варто детально протестувати)
 +
 
 +
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу
 +
 
 +
/etc/koha3/zebradb/lang_defs/en/sort-string-utf.chr
 +
 
 +
(наявність uk/sort-string-utf.chr наразі не дає бажаного результату).
  
 
= Переіндексація БД =
 
= Переіндексація БД =
Рядок 456: Рядок 450:
 
http://irc.koha-community.org/irclog/koha/2011-05-29
 
http://irc.koha-community.org/irclog/koha/2011-05-29
  
Відключити ICU можна у файлі  /etc/koha3/'''zebradb/etc/default.idx''', замінивши у двох рядках
+
'''Лише у випадку''', якщо присутня така проблема з індексацією, пробуємо відключити ICU у файлі  /etc/koha3/'''zebradb/etc/default.idx''', замінивши у двох рядках
  
 
  icuchain words-icu.xml
 
  icuchain words-icu.xml
Рядок 467: Рядок 461:
 
повинен бути кириличний алфавіт (згадується вище).
 
повинен бути кириличний алфавіт (згадується вище).
  
= Відновлення алфавітного вибору читачів =
+
= Відновлення алфавітного вибору читачів (застаріло) =
 
 
У файлі 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 => $_} } (
+
З версії 3.12 алфавіт для вибору читачів можна вказувати у системній змінній '''alphabet'''.
'А','Б','В','Г','Ґ','Д','Е','Є','Ж','З','И','І','Ї','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ю',
 
  'Я','</a>…<a>','Ў','Ё','Ъ','Ы','Э','</a>…<a>',
 
'A' .. 'Z');
 
  
 
= Відновлення індексування УДК в Zebra =
 
= Відновлення індексування УДК в Zebra =
Рядок 683: Рядок 655:
 
3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є)
 
3) Далі для '''Unimarc''' у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/record.abs повинно бути (є)
  
  melm 676$a      Dewey-classification,Dewey-classification:p
+
  melm 676$a      Dewey-classification:w,Dewey-classification:p
  
 
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
 
Ймовірно, що record.abs застарілий і тепер потрібно вносити зміни в XSL-файли...
Рядок 692: Рядок 664:
 
     <xslo:for-each select="marc:subfield">
 
     <xslo:for-each select="marc:subfield">
 
       <xslo:if test="contains('a', @code)">
 
       <xslo:if test="contains('a', @code)">
         <z:index name="Dewey-classification Dewey-classification:p">
+
         <z:index name="Dewey-classification:w Dewey-classification:p">
 
           <xslo:value-of select="."/>
 
           <xslo:value-of select="."/>
 
         </z:index>
 
         </z:index>
Рядок 701: Рядок 673:
 
та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є)
 
та у файлі /etc/koha3/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml має бути (є)
  
   <!--record.abs line 328: melm 676$a<-><------>Dewey-classification,Dewey-classification:p-->
+
   <!--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">
 
   <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:w</target_index>
 
     <target_index>Dewey-classification:p</target_index>
 
     <target_index>Dewey-classification:p</target_index>
 
   </index_subfields>
 
   </index_subfields>
Рядок 964: Рядок 936:
  
 
Заходимо у інтерфейс бібліотекаря.
 
Заходимо у інтерфейс бібліотекаря.
Бачимо зміну версії за адресою http://localhost:8888/cgi-bin/koha/about.pl
+
Бачимо зміну версії за адресою http://localhost:8080/cgi-bin/koha/about.pl
  
 
= Налаштування =
 
= Налаштування =
Рядок 975: Рядок 947:
 
* [[Вилучення Koha, встановленої з джерела]]
 
* [[Вилучення Koha, встановленої з джерела]]
 
* [[Встановлення Koha з репозитарію на ОС Debian]]
 
* [[Встановлення 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“

Зміст

Резервні копії

Резервування даних

Резервуємо командою

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 

Вирішує проблему очищення куків в оглядачі для даного домену.

Продовжуємо оновлення через веб-інтерфейс

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


Відновлення 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">&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 з інтегрованими таблицями УДК, ББК, ДДК для української.

Файл 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, встановленої з джерела.

Див. також