Koha/serials
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
..
acqui-search-result.pl Bug 10723: Merge GetPendingOrders and SearchOrders routines 2013-10-21 18:24:32 +00:00
acqui-search.pl Cherry-picked onto master, fixing conflicts: MT 1816: Granular permissions for the serials module 2010-06-19 07:23:46 -04:00
checkexpiration.pl Bug 9108: Followup: send the dateformat value from C4::Auth 2013-01-17 21:59:30 -05:00
claims.pl Bug 10429: improve display of library and library filter on serials claim page 2014-01-06 15:33:28 +00:00
create-numberpattern.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
lateissues-export.pl Bug 7298: (follow-up) various QA fixes 2013-10-31 15:51:25 +00:00
member-search.pl Bug 10277 - Add C4::Context->IsSuperLibrarian() 2013-12-30 15:47:23 +00:00
reorder_members.pl Bug 6296: allow users to be authenticated by SSL client certs 2012-03-19 17:02:44 +01:00
routing-preview.pl Bug 9823: Refactor return from GetReservesFromBiblionumber 2014-01-30 16:19:55 +00:00
routing.pl bug 10365: change routing slips to use date published rather than planned date 2013-10-10 23:38:11 +00:00
serial-issues.pl Bug 5337: EAN management : Adds ean for various searches 2012-06-09 18:26:34 +02:00
serials-collection.pl Bug 11214: improve create/edit routing list links in serial collection page 2013-11-27 18:23:54 +00:00
serials-edit.pl Bug 8435: add permission to enable editing other library's serials if IndependantBranches is on 2013-10-31 15:27:19 +00:00
serials-home.pl Bug 5357: Adds a new page for searching subscriptions 2012-09-18 22:37:11 +02:00
serials-recieve.pl Bug 7688: Change subscription numbering pattern and frequencies 2013-10-30 00:29:38 +00:00
serials-search.pl Bug 10852: serials search improvements 2013-12-14 00:34:30 +00:00
showpredictionpattern.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-add.pl Bug 10277 - Add C4::Context->IsSuperLibrarian() 2013-12-30 15:47:23 +00:00
subscription-bib-search.pl Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
subscription-detail.pl Bug 8435: add permission to enable editing other library's serials if IndependantBranches is on 2013-10-31 15:27:19 +00:00
subscription-frequencies.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-frequency.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-history.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-numberpattern.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-numberpatterns.pl Bug 7688: (follow-up) update license statements 2013-10-30 02:56:32 +00:00
subscription-renew.pl bug 10728: fix additional log noise generated by subscription-renew.pl 2013-08-19 14:10:38 +00:00
viewalerts.pl Bug 5337: EAN management : Adds ean for various searches 2012-06-09 18:26:34 +02:00