Commit graph

813 commits

Author SHA1 Message Date
Galen Charlton
438ed23337 staging import - enhance record overlay behavior
Enhanced the ability of catalogers to specify how
bib and item records should be added, replaced, or
ignored during a staging import.

When an import batch of bib records is staged and commit,
the user can now explicitly specify what should occur
when an incoming bib record has, or does not have, a match
with a record already in the database.  The options are:

if match found (overlay_action):
  create_new (just add the incoming record)
  replace (replace the matched record with the incoming one)
  use_template (option not implemented)
  ignore (do nothing with the incoming bib; however, the
          items attached to it may still be processed
           based on the item action)

if no match is found (nomatch_action):
  create_new (just add the incoming record)
  ignore (do nothing with the incoming bib; in this
          case, any items attached to it will be
          ignored since there will be nothing to
          attach them to)

The following options for handling items embedded in the
bib record are now available:

  always_add (add the items to the new or replaced bib)
  add_only_if_match (add the items only if the incoming bib
                     matches an existing bib)
  add_only_if_add (add the items only if the incoming bib
                   does *not* match an existing bib)
  ignore (ignore the items entirely)

With these changes, it is now possible to support the following use cases:

[1] A library joining an existing Koha database wishes to add their
    items to existing bib records if they match, but does not want
    to overlay the bib records themselves.
[2] A library wants to load a file of records, but only handle
    the new ones, not ones that are already in the database.
[3] A library wants to load a file of records, but only
    handle the ones that match existing records (e.g., if
    the records are coming back from an authority control vendor).

Documentation changes:

* See description above; also, screenshots of the 'stage MARC records
for import' and 'manage staged MARC records' should be updated.

Test cases:

* Added test cases to exercise staging and committing import batches.

UI changes:

* The pages for staging and managing import batches now have
  controls for setting the overlay action, action if no match,
  and item action separately.
* in the manage import batch tool, user is notified when they
  change overlay action, no-match action, and item action
* HTML for manage import batch tool now uses fieldsets

Database changes (DB rev 076):

* added import_batches.item_action
* added import_batches.nomatch_action
* added 'ignore' as a valid value for import_batches.overlay_action
* added 'ignored' as a valid value for import_records.status
* added 'status' as a valid value for import_items.status

API changes:

* new accessor routines for C4::ImportBatch

    GetImportBatchNoMatchAction
    SetImportBatchNoMatchAction
    GetImportBatchItemAction
    SetImportBatchItemAction

* new internal functions for C4::ImportBatch to
  determine how a given bib and item are to be
  processed, based on overlay_action, nomatch_action,
  and item_action:

    _get_commit_action
    _get_revert_action

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-30 21:58:46 -05:00
Galen Charlton
2fafa1424b kohabug 1776 - try to locate Zebra during install
If running Zebra, try to locate zebrasrv and zebraidx
so that koha-zebra-ctl.sh can point to a functioning
zebrasrv.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 17:59:00 -05:00
Galen Charlton
149ece8541 added RUN_DATABASE_TESTS to install log
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 17:58:59 -05:00
Paul POULAIN
e7209ed02a UNIMARC specific rebuild items correctly
note 995 for items is hardcoded, so it's really for UNIMARC only. The script exit if you're not UNIMARCflavour

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 17:34:41 -05:00
Galen Charlton
f20a58181b kohabug 1776 - enable daemon controls scripts for 'dev' mode
The daemon control scripts (koha-zebra-ctl.sh, koha-zebraqueue-ctl.sh,
and koha-pazpar2-ctl.sh) are now copied and installed in a
runnable fashion for a 'dev'-mode install.  By default
they are installed in the bin subdirectory of the runtime
directory.

Also:

* the control scripts now work if the EUID is other
  than root (as would be expected for a 'dev' or 'single'
  install).
* Split the SCRIPT_DIR installation target into
  SCRIPT_DIR (scripts to copy regardless of install mode)
  and SCRIPT_NONDEV_DIR (scripts to copy to SCRIPT_DIR
  unless the install mode is 'dev').

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-21 18:17:32 -05:00
Galen Charlton
3109d5820e rebuild_zebra.pl - add -y option
rebuild_zebra.pl will now mark all zebraqueue entries
of the affected record type(s) done when run in
normal mode to index all records (as opposed to running
it with -z to just process the zebraqueue).  This prevents
any running zebraqueue_daemon processes from attempting
to reindex the same records, redundantly.

The new -y swtich overrides this new behavior; in other words, if
running rebuild_zebra.pl without -z, you can specify
-y to *not* mark zebraqueue done.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-21 11:17:29 -05:00
004524584b Tweak bullmarcimport.pl
* Add a new parameter -o to begin importing input file after skiping
  n records.
* Enclose input file reading in an eval directive to avoid abording
  import if few records are corrupted: they are now skipped.
* Help formating.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-17 05:52:53 -05:00
e7bf746d6c Two fixes to speed up (a little bit) installation process
Add a explanation on DBD::mysql installation without test suite.
Add /misc/translator/install-code.pl script that creates templates
for specified language codes.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-17 05:52:46 -05:00
Ryan Higgins
2eed36a08e Fix calls to CalcFine, and make fines obey CircControl syspref (get homebranch withssue data).
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-08 08:37:01 -05:00
Ryan Higgins
600d479f4e Add a working fines script, some changes to CalcFine and Circulation.pm
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 15:59:54 -05:00
Paul POULAIN
04399ef895 french translation updated
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 15:56:33 -05:00
Joshua Ferraro
77f85f0a6a a reminder about tags for the RM
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-04 16:37:10 -05:00
Galen Charlton
e2c1f11715 fixed memory leak I introduced
Accidentally introducing a circular reference in a
MARC::Record object does not lead to goodness, particularly
if you export lots and lots of them.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-01 06:46:05 -05:00
Galen Charlton
4f001186b6 still more rebuild_zebra refactoring
Merged duplicate code for indexing bibs and
authorities into a single index_records() function.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:58:03 -05:00
Galen Charlton
a5576b8dfe IMPORTANT: added -z option to rebuild_zebra.pl
The -z option, when used in conjunction with -a and/or -b,
selects the records to reindex from the zebraqueue table.
Both record updates and record deletes are handled.

-z is cannot be used with -s or -r: the updated records
must always be freshly exported, and if zebraqueue
is to be processed, it's assumed that you don't want
to drop the Zebra index first.

This means that rebuild_zebra.pl -b -a -x can be
used as a cronjob to update the indexes periodically; it
is believed that this will offer much better indexing
performance on some setups as compared to zebraqueue_daemon.pl,
which uses Z39.50 extended services to send record updates
to Zebra.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:58:01 -05:00
Galen Charlton
57d128f727 rebuild_zebra: exit if both -a and -x specified
At moment using both -a (index authorities) and
-x (export records as MARC XML) is not allowed -
if the Zebra authority database is using the DOM
filter, zebraidx will not be able to process the
exported records correctly.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:57:44 -05:00
Galen Charlton
f0d5da7448 more rebuild_zebra.pl refactoring
1. Logic to fix up record IDs, UNIMARC 100 field,
   and record leader now in separate functions.
2. Removed (incorrect) logic to save corrected record
   in database.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:57:43 -05:00
Galen Charlton
f98c27a8bc refactor rebuild_zebra: new routine for invoking zebraidx
Created a routine for calling zebraidx, replacing
separate invocations for bibs and authorities.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:57:42 -05:00
Galen Charlton
ae8a76dacc rebuild_zebra.pl: removed disused $limit option
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:57:41 -05:00
Joshua Ferraro
d69ea30d01 just some notes for RMs :-)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-23 00:50:18 -05:00
Joshua Ferraro
93a08fb4d0 updating release notes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-23 00:26:15 -05:00
Joshua Ferraro
7107930b90 updating translations for release
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-22 22:42:57 -05:00
Joshua Ferraro
f818b620a6 Two utilities to help manage translations
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-22 22:42:07 -05:00
Joshua Ferraro
5abed24d10 Adding some new translations
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-22 15:36:27 -05:00
Joshua Ferraro
bf70c57899 Updating translations for release
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-22 14:51:07 -05:00
Galen Charlton
b4f39e5c58 do not let MARC::Batch open MARC files
The version of MARC::Batch->new() distributed with version
2.0.0 of MARC::Record, if given a file name, will
open it using the ':utf8' layer.  This results in an
incorrect character conversion when processing records
in the MARC-8 character encoding.

To avoid this, batch jobs that use MARC::Batch now
open the file themselves, then pass the file handle
to MARC::Batch->new().

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-21 21:46:39 -05:00
Galen Charlton
ad0639e548 remove some unneeded use statements
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-21 21:46:29 -05:00
Joshua Ferraro
d4bde52e7a Adding a couple benchmark scripts
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-20 08:40:48 -05:00
Galen Charlton
9222f7a6ca created old_issues and old_reserves tables
The new tables have the same structure and constraints
as the tables they archive with the following exceptions:

* borrowernumber and biblionumber in old_reserves can be
  NULL
* the FK constraints (e.g., for itemnumber) on old_reserves
  set the child column to NULL if the parent row is deleted
  instead of deleting the child row.
* there is no FK constraint on old_issues.branchcode, allowing
  a branch to be deleted without changing archived requests.

Some miscellaneous cleanup was done as part of this patch:

* GetMemberIssuesAndFines (C4::Members) now uses bind variables
* fixed POD for GetMemberIssuesAndFines

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-15 08:36:31 -05:00
Joshua Ferraro
88d0588f3f updating French translation
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-11 06:28:19 -05:00
Galen Charlton
8c104f86e7 zebraqueue daemon - implement exiting if >100 postponed index updates
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-04 22:25:16 -06:00
Galen Charlton
c82afab40a zebraqueue - major changes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-04 22:25:11 -06:00
Galen Charlton
2a1da8da1a zebraqueue_daemon: more indent cleanup
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-04 22:24:36 -06:00
Galen Charlton
132d67639a zebraqueue_daemon: cleanup whitespace and indents
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-04 22:24:34 -06:00
Galen Charlton
fe67dbff25 modify daemon name
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-04 04:48:03 -06:00
Galen Charlton
4e95689287 bulkmarcimport.pl: XML input option documented
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-03 13:01:00 -06:00
Galen Charlton
d49873cc2f bulkauthimport.pl - various improvements
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-03 13:00:59 -06:00
Galen Charlton
e4a3b4b89e IMPORTANT: make deletes work for zebraqueue daemon
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-03 10:46:09 -06:00
Joshua Ferraro
775923bf69 updating Chinese translations
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-29 09:18:18 -06:00
Mason James
5057e74914 more \Q...\E wrapping on regexes, to handle occassionally problematic strings.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-28 07:58:45 -06:00
Mason James
d451f072f9 corrections to host-item, shelf_loc and collection-code indexes
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-28 07:58:43 -06:00
Joshua Ferraro
9d7a6c4c40 adding no-NO and nb-NO translations, thanks Alex!
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-23 09:51:21 -06:00
Joshua Ferraro
a2115f1440 fixing typo with Japanese script name, thanks Dorian Meid
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-23 08:12:13 -06:00
Joe Atzberger
b1f620c723 overduenotices-30.pl - Made this work, take command line SMTP, report out errors,
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-22 21:49:07 -06:00
Galen Charlton
f626f4c9c1 fixed typo in koha-pazpar2-ctl.sh
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-22 07:33:58 -06:00
Joshua Ferraro
61e268cdfa adding staff translation for es-ES
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-22 07:08:39 -06:00
Joshua Ferraro
5a171633db re-naming Venezuelan translation Spanish appropriately, adding attribution
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-22 07:08:21 -06:00
Joshua Ferraro
50eda0e732 updating translations in release notes for 3.0 beta
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-20 21:28:22 -06:00
Joshua Ferraro
939c391f76 updating chinese, russian, ukranian translations
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-20 21:28:11 -06:00
Joshua Ferraro
5fd61f95d0 adding release notes for 3.0 beta
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-20 20:42:21 -06:00