Tomas Cohen Arazi
daf2ebc4f5
This patch makes Koha <-> Zebra use MARCXML for the serialization when using DOM, and USMARC for GRS-1. * The following functions are modified to set the Zebra record syntax according to the current sysprefs and configuration: - C4::Context->Zconn - C4::Context-_new_Zconn * A new function 'new_record_from_zebra' is introduced, which checks the context we are in, and creates the MARC::Record object using the right constructor. The following packages get touched to make use of the new function: - C4::Search - C4::AuthoritiesMarc and the same happens to the UI scripts that make use of them (both in the OPAC and STAFF interfaces). * Calls to the unsafe ZOOM::Record->render()[1] method are removed. Due to this last change the code for building facets was rewritten. And for performance on the facets creation I pushed higher version dependencies for MARC::File::XML and MARC::Record (we rely on MARC::Field->as_string). * Calls to MARC::Record->new_from_xml and MARC::Record->new_from_usmarc are wrapped with eval for catching problems [2]. * As of bug 3087, UNIMARC uses the 'unimarc' record syntax. this case is correctly handled. * As of bug 7818 misc/migration_tools/rebuild_zebra.pl behaves like: - bib_index_mode (defaults to 'grs1' if not specified) - auth_index_mode (defaults to 'dom') here we do exactly the same. To test: - prove t/db_dependent/Search.t should pass. - Searching should remain functional. - Indexing and searching for a big record should work (that's what the unit tests do). - Test an index scan search (on the staff interface): Search > More options > Check "Scan indexes". - Enable 'itemBarcodeFallbackSearch' and try to circulate any word, it shouldn't break. - Searching for a biblio in a new subscription shouldn't break. - Running bulkmarcimport.pl shouldn't break. - And so on... for the rest of the .pl files. [1] http://search.cpan.org/~mirk/Net-Z3950-ZOOM/lib/ZOOM.pod#render() [2] a record that cannot be parsed by MARC::Record is simply skipped (bug 10684) Sponsored-by: Universidad Nacional de Cordoba Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
||
---|---|---|
.. | ||
barcode.pl | ||
barcode_manual.pl | ||
callnumber-KU.pl | ||
callnumber.pl | ||
dateaccessioned.pl | ||
labs_theses.pl | ||
macles.pl | ||
marc21_field_003.pl | ||
marc21_field_005.pl | ||
marc21_field_006.pl | ||
marc21_field_007.pl | ||
marc21_field_008.pl | ||
marc21_field_008_authorities.pl | ||
marc21_field_040c.pl | ||
marc21_field_040d.pl | ||
marc21_field_245h.pl | ||
marc21_leader.pl | ||
marc21_leader_authorities.pl | ||
marc21_leader_book.pl | ||
marc21_leader_computerfile.pl | ||
marc21_leader_video.pl | ||
marc21_linking_section.pl | ||
normarc_field_007.pl | ||
normarc_field_008.pl | ||
normarc_leader.pl | ||
stocknumber.pl | ||
stocknumberam123.pl | ||
stocknumberAV.pl | ||
unimarc_field_4XX.pl | ||
unimarc_field_010.pl | ||
unimarc_field_100.pl | ||
unimarc_field_100_authorities.pl | ||
unimarc_field_105.pl | ||
unimarc_field_106.pl | ||
unimarc_field_110.pl | ||
unimarc_field_115a.pl | ||
unimarc_field_115b.pl | ||
unimarc_field_116.pl | ||
unimarc_field_117.pl | ||
unimarc_field_120.pl | ||
unimarc_field_121a.pl | ||
unimarc_field_121b.pl | ||
unimarc_field_122.pl | ||
unimarc_field_123a.pl | ||
unimarc_field_123d.pl | ||
unimarc_field_123e.pl | ||
unimarc_field_123f.pl | ||
unimarc_field_123g.pl | ||
unimarc_field_123i.pl | ||
unimarc_field_123j.pl | ||
unimarc_field_124.pl | ||
unimarc_field_124a.pl | ||
unimarc_field_124b.pl | ||
unimarc_field_124c.pl | ||
unimarc_field_124d.pl | ||
unimarc_field_124e.pl | ||
unimarc_field_124f.pl | ||
unimarc_field_124g.pl | ||
unimarc_field_125.pl | ||
unimarc_field_125a.pl | ||
unimarc_field_125b.pl | ||
unimarc_field_126.pl | ||
unimarc_field_126a.pl | ||
unimarc_field_126b.pl | ||
unimarc_field_127.pl | ||
unimarc_field_128a.pl | ||
unimarc_field_128b.pl | ||
unimarc_field_128c.pl | ||
unimarc_field_130.pl | ||
unimarc_field_135a.pl | ||
unimarc_field_140.pl | ||
unimarc_field_141.pl | ||
unimarc_field_210c.pl | ||
unimarc_field_210c_bis.pl | ||
unimarc_field_225a.pl | ||
unimarc_field_686a.pl | ||
unimarc_field_700-4.pl | ||
unimarc_leader.pl |