Koha-clms/misc/migration_tools
Tomas Cohen Arazi daf2ebc4f5 Bug 11096: support the retrieval of large MARCXML records
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>
2014-02-28 19:50:09 +00:00
..
22_to_30 Bug 6752: Be stricter with utf-8 encoding of output 2012-01-27 12:11:06 +01:00
buildCOUNTRY.pl Convert to UTF-8. 2010-05-06 17:58:24 -04:00
buildEDITORS.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
buildLANG.pl Convert to UTF-8. 2010-05-06 17:58:24 -04:00
build_oai_sets.pl Bug 6440: Implement OAI-PMH Sets 2012-03-20 11:38:26 +01:00
bulkmarcimport.pl Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
checkNonIndexedBiblios.pl Bug 6566 Checking if DB's records are properly indexed 2012-07-06 17:11:39 +02:00
create_analytical_rel.pl Bug 5528: Analytic records support 2011-10-13 10:03:39 +13:00
fix_onloan.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
koha-svc.pl Bug 7213 : Follow up fixing license information 2012-05-15 15:44:33 +02:00
merge_authority.pl 6094 Fixing ModAuthority problems 2011-10-20 11:28:53 +13:00
rebuild_solr.pl Bug 8233 : SearchEngine: Add a Koha::SearchEngine module 2012-07-06 16:51:58 +02:00
rebuild_zebra.pl Bug 11252: remove deprecated -munge-config switch from rebuild_zebra.pl 2013-12-26 15:24:41 +00:00
rebuild_zebra_sliced.sh Bug 8746 [Follow-up] Replace == by eq in string comparison 2013-04-21 09:23:23 -04:00
remove_unused_authorities.pl Bug 11417: make sure remove_unused_authorities.pl accepts --test 2013-12-19 15:09:18 +00:00
switch_marc21_series_info.pl bug 5608 follow-up: exit immediately if UNIMARC 2013-03-21 22:15:56 -04:00
upgradeitems.pl (bug #4518) enhance 2.2 to 3.0 scripts 2011-11-16 17:48:24 +01:00