Koha/circ
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
..
add_message.pl Fix FSF address in directory circ/ 2010-03-16 20:17:50 -04:00
bookcount.pl Bug 9140: Followup removes the useless variable $message 2012-12-22 16:02:55 -05:00
branchoverdues.pl Bug 8077 - overdues with fines won't run 2012-05-21 18:29:26 +02:00
branchtransfers.pl Bug 9394: Use reserve_id where possible 2013-07-24 05:04:55 +00:00
circulation-home.pl Bug 10240: Offline circulation using HTML5 and IndexedDB 2013-10-11 01:53:34 +00:00
circulation.pl Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
del_message.pl Fix FSF address in directory circ/ 2010-03-16 20:17:50 -04:00
hold-transfer-slip.pl bug_7001: Issue and Reserve slips are notices. 2012-03-09 10:11:20 +01:00
offline-mf.pl Bug 10240: QA follow-up 2013-10-11 01:57:03 +00:00
offline.pl Bug 10240: QA follow-up 2013-10-11 01:57:03 +00:00
overdue.pl Bug 10277 - Add C4::Context->IsSuperLibrarian() 2013-12-30 15:47:23 +00:00
pendingreserves.pl Bug 9761: Make it possible to confirm future hold requests at checkin time 2013-09-25 00:26:34 +00:00
renew.pl Bug 10493: (follow-up) fix unitialized variable warning 2013-10-22 20:59:50 +00:00
reserveratios.pl Bug 10550: Fix database typo wthdrawn 2013-09-08 01:58:41 +00:00
returns.pl Bug 10513: (follow-up) use "checkin" rather than "check in" 2013-09-16 17:45:32 +00:00
selectbranchprinter.pl Bug 6841 - A member with cataloging permissions cannot change branches (when independent branches is set on) 2011-09-14 21:44:03 +12:00
stats.pl Bug 2505 - Add commented use warnings where missing in the circ/ directory 2010-04-21 20:20:03 +12:00
transfer-slip.pl bug_7001: Issue and Reserve slips are notices. 2012-03-09 10:11:20 +01:00
transferstoreceive.pl Bug 9788: (follow-up) removing the alldates parameter from GetReservesFromItemnumber 2014-01-17 05:07:32 +00:00
view_holdsqueue.pl Bug 9591 : Set Library changes after viewing Holds Queue >> reserves item 2013-04-15 08:36:07 -04:00
waitingreserves.pl Bug 10080 - Change system pref IndependantBranches to IndependentBranches 2013-05-22 07:58:23 -07:00
ypattrodue-attr-search-authvalue.pl Bug 7747 - Replace YUI autocomplete with jQueryUI 2012-05-31 18:07:55 +02:00
ysearch.pl Bug 10277 - Add C4::Context->IsSuperLibrarian() 2013-12-30 15:47:23 +00:00