Commit graph

280 commits

Author SHA1 Message Date
Galen Charlton
7d47666f7e bulk MARC record import - speed improved
Changes to improve speed of MARC bib and item
imports:

[1] Turn off autocommit and commit database
    transactions in larger batches.
[2] Introduce a new C4::Biblio function (AddBiblioAndItems)
    to combine AddBiblio and AddItems -- this is faster
    because we are not parsing the MARC XML of the biblio
    every time we add an item.
[3] Introduce FasterTransformMarcToKoha, which is much
    faster than TransformMarcToKoha.  The new version,
    which will replace the old one once it has been
    fully tested, scans through each field in the
    MARC record just once, instead of potentially
    dozens of times.
[4] Remove code in bulkmarcexport that moved the
    item tags to separate MARC::Record objects.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-25 09:08:28 -06:00
Joshua Ferraro
e4799032d2 Warning: big commit Fixing moredetail.pl
Previously, about 50% of the data on this page was either incorrect or missing.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-23 20:32:34 -06:00
Joshua Ferraro
31f45434e3 fixing additional authors links on detail pages in opac and staff catalogs
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-18 19:34:45 -06:00
Mason James
e7c05a9c3c mod to GetAuthorisedValueDesc() to simply take $category and $value args, and get a desc. back.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-14 23:06:17 -06:00
Joe Atzberger
377db43117 C4 and misc: permissions fixes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-13 19:00:34 -06:00
Galen Charlton
d46581b8f0 bugfix: do not try to set items.cn_sort twice
The way this API is used by additem.pl, the $item hasref
already contains a 'items.cn_sort' key whose value is
undef.  Setting $item->{'cn_sort'} instead of $item->{'items.cn_sort'}
ends putting with items.cn_sort and cn_sort in the UPDATE
items statement, making the final value of cn_sort in the DB
dependent on the order produced by Perl's keys function.

Also added a comment explaining a subtle (perhaps too subtle)
point in the code.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-13 17:30:25 -06:00
Ryan Higgins
0734f8fca0 Clean up moredetail.pl and updateitem.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-12 08:03:10 -06:00
Mason James
33349093cb fix for ModZebra() trying to delete an existing bib - that doesnt exist, during an add.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-06 11:34:32 -06:00
Galen Charlton
6bb4eb130d bug 1615: AddItem() now sets issues, renewals, and reserves
When an item was created,  the renewals, issues, and reserves columns
were not set from the MARC data.  This was noticed particularly
in the context of batch loads, where a user might supply
data for those fields.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-02 15:06:23 -06:00
Galen Charlton
1854ad60a3 bug 1614: revise GetMarcItem so that info dervies from items table
This should help make the items table more authoritative, and ensures
that the items editor does not blank circulation fields such as
issues.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-27 17:05:56 -06:00
Galen Charlton
fe9106af0b bugfix: handle subfield $0 in MARC for an item
Note: C4::Biblio::GetMarcFromKohaField returns (0, 0) if
the kohafield is not defined in the MARC framework, but
in may places the return value is not checked correctly
and does not recognize a subfield $0 (zero).  It
would be better if GetMarcFromKohaField returned (undef, undef)
in that circumstance, but because of the number of places
where that function is used, the changed is deferred for
post 3.0.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-27 15:52:41 -06:00
Galen Charlton
eb52fe26c3 bug 1616: update bib MARC and zebraqueue on item update
Fixed so that when using updateitem.pl to change an
item's lost, damaged, or withdrawn status, the
bib's MARC XML is updated and an entry is added
to zebraqueue.

As part of the fix, C4::Biblio::ModItemInMarconefield
now works correctly.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-27 15:51:47 -06:00
Paul POULAIN
327ae4ff84 include 700 (author) in authority author list
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-25 17:06:42 -06:00
Mason James
0d610f5427 GetNoZebraIndexes() regex now handles naughty whitespace (read: tabs)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-20 16:29:33 -06:00
Paul POULAIN
3253372339 changing the way subjects are build in detail.pl
If you have a $9 as authority, then you can directly search on an=<koha-auth-number>

For example, if you have :
600$912045$aEurope$xFrance$xMarseille (Europe--France--Marseille as subject of the biblio)

The link must be "an=12045"

The link is not changed in case there is no $9 (still apply on each term, one by one)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-17 11:37:25 -06:00
Chris Cormack
24ba695b2b Fix so with independent branches a staff member cant see who has items out if the borrower is from another library/branch
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 17:33:10 -06:00
Ryan Higgins
9c2d58a470 update item-at-wrong-branch error message to show homebranch.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 12:46:45 -06:00
Galen Charlton
5c882558a4 bugfixes for reindexing problems
* now properly deletes deleted authorities from index
* now actually ignores duplicate work
* standardized on recordDelete instead of delete_record
  for bibs and recordDelete for authorities

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-12 18:32:33 -06:00
Ryan Higgins
805d8c8f4d changes to item-level itype reintroduce items.itype (had been removed by updatedatabase but still in kohastructure) populate itype with bi.itemtype. fix error in getbiblio
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-11 18:40:04 -06:00
Galen Charlton
0863abf07b Revert "leader must be 25 and not 24 char long"
This reverts commit 991ae79bb6.

Note: the MARC21 (and UNIMARC) leader length is *24* characters,
not 25.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-08 17:14:48 -06:00
Ryan Higgins
bb8aa23730 fix typos on syspref
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-08 17:14:32 -06:00
Ryan Higgins
5a65c60683 further item-level itype changes
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-08 17:12:55 -06:00
Ryan Higgins
e44b409b16 notforloan from items.ccode->itemtypes.notforloan instead of bi.itemtype
(by syspref)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-08 17:12:01 -06:00
Joshua Ferraro
8e01ae8e18 fixing subject link on detail pages and searching API
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-07 08:24:06 -06:00
Paul POULAIN
991ae79bb6 leader must be 25 and not 24 char long
The test was wrong, thus any leader defined by the library was discarded
(chris/kados : check for MARC21 that size should be 25 as in UNIMARC)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-07 08:16:40 -06:00
Galen Charlton
5fabddfe38 made several PKs be auto_increment columns
* biblio.biblionumber
* biblioitems.biblioitemnumber
* items.itemnumber

These IDs are no longer increment by the Perl code, thus
allowing better concurrency during bib/item editing.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-01 17:31:33 -05:00
Galen Charlton
e90115293a bugfix: deletedbiblioitems row now added upon delete of a biblio
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 19:44:00 -05:00
Paul POULAIN
973adba104 dealing with empty XML : return an empty string, and not an empty MARC::Record
(Useful for zebraque_start)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 19:39:21 -05:00
Galen Charlton
5f972e33ab quelled perl -w variable masking warnings
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 05:56:31 -05:00
Galen Charlton
b5e18fe431 Biblio.pm - restored after duplicate application of
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 05:54:38 -05:00
Chris Cormack
0483e34162 Fix for broken Biblio.pm
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-29 17:11:42 -05:00
Chris Cormack
031dc49098 Tidying up TransformMarctoKoha
Still some work to do, but people can see the idea and decide if its good

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-29 16:12:21 -05:00
Galen Charlton
960db4e458 Biblio.pm bugfixes
- uses new C4::Dates instead of C4::Date
- start work on TransformMarcToKoha
  * handle ambiguities in certain column names
  * part of patch inspired by Chris Cormack
- fix bugs preventing biblioitems and items
  from being properly updated
- ensure that biblionumber and biblioitemnumber
  always get mapped to MARC

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-24 17:00:00 -05:00
Galen Charlton
af9dfd9cda bib and item editing bugfixes
- bugfix: update items.cn_sort upon edit of item
- bugfix: make failure of a value_builder plugin non-fatal
- bugfix: remove references to non-existent plugins
          from optional MARC21 frameworks
             bookseller.pl
             marc21_callnumber.pl
             marc21_classcodes.pl
             marc21_locationqualifier.pl
- bugfix: corrected trying to enter 'u*' fields twice in the 'CF'
          format in the optional MARC21 frameworks; resulted in
          most of the framework not being loaded

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-22 19:56:53 -05:00
Paul POULAIN
10eb85455b bugfix (security flaw) : the additem template was open AFTER doing actions
when Logguing was ON, this resulted in an internal server error, thus the discovery of this bug.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-22 07:24:49 -05:00
Paul POULAIN
b25ace0be4 bugfix : handling biblionumber in a field < 010
the bug occur only if we have a malformed biblio, so it should "never" happend, but i've seen it once ;-)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-22 07:20:22 -05:00
Galen Charlton
fc8b44a967 call number work part 3 -- now using new routines to generate call number sort keys
C4/Biblio.pm - removed following functions:

_biblioitem_cn_sort
_items_cn_sort

TODO: add a new call number filing routine to emulate logic of
_biblioitem_cn_sort for compatibility purposes

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-21 22:11:40 -05:00
Galen Charlton
af466ca41a start of reworking call number handling and other Biblio changes
Most of this commit by Joshua Ferraro.
updatedatabase changes by Galen Charlton.

Major changes:

This commit includes a lot of fairly major changes
to Koha's Biblio handling, largest is the addition
and deletion of several columns in the biblioitems,
items tables, as well as cleanup of deletedbiblioitems,
deleteditems tables. Some of the changes are simple
cleanup, but most have to do with improvements to
storage of call numbers in Koha.

Also, I had to clean up the _koha_* routines quite a
lot to make them work -- there was lots of data just
being lost because columns weren't being updated.

I'm still not completely convinced that the items
table is being treated as authoritative for items
data, investigating further.

DB Changes (updated in kohastructure.sql and in
updatedatabases):

ADDED:
biblioitems.cn_source   ( auth value, CN_SOURCE, stores the source of the
                          call number: DDC, LCC, NLM, etc.)
biblioitems.cn_class    ( plugin, marc21_callnumber.pl, helps fill in
                          the rest of the biblio-level fields)
biblioitems.cn_item
biblioitems.cn_suffix
biblioitems.cn_sort     ( for zebra sorting, stored as a decimal number)
biblioitems.totalissues ( for counting the total times issued )

items.cn_source         ( auth value, CN_SOURCE, stores DDC, LCC, NLM, etc.)
items.itemcallnumber    ( plugin, marc21_itemcallnumber.pl, helps fill in
                          the itemcallnumber based on the record data )
items.cn_sort           ( for zebra sorting, stored as a decimal number)
items.ccode             ( auth value, CCODE, stores the Collection Code
                          of the item, can be used as call number prefix
                          by some libraries )
items.uri
items.materials
items.damaged

DELETED:
items.itype
items.cutterextra
biblioitems.classification
biblioitems.subclass
biblioitems.dewey
biblioitems.lcsort
biblioitems.lccn
biblioitems.ccode

DB version now 3.00.00.009.

Minor changes:

* Drop revision history from C4/Biblio.pm
* GetMarcAuthors now returns additional authors (7XX), not
  main authors (1XX)
* Debug warnings in C4/Search.pm commented out

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-18 20:19:56 -05:00
Paul POULAIN
b426ecb4f2 BUGfixes in availability management
- the availability status was not available on result list. This patch reintroduces that
- notforloan as itemtype was not properly managed : an itemtype that was notforloan resulted in nothing in detail. Not, the user can't place a reserve anymore, and the status is correctly displayed

the fix is for OPAC as well as staff

(owen, pls, validate cat-toolbar.inc & catalogue/detail.tmpl)

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-14 19:10:53 -05:00
Ryan Higgins
1c2adfe7ff adding GetMarcUrls() fcn to display 856's - adding also output to opac-detail.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-12 07:24:53 -05:00
Chris Cormack
e8528be8cb Delbiblio no longer deletes items.
It will only delete biblios that have no items attached.
You must delete the items first then delete the biblio

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-12 07:23:45 -05:00
Chris Cormack
eb8878b854 Working on a fix for 1176
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-12 07:22:59 -05:00
Paul POULAIN
e378fb11e6 Bumping to 3.00.00.008 : adding biblio.datecreated
The top issue was based on a timestamp field, that was updated everytime a biblio is modified

This commit add a datecreated field, that is filled only when a biblio is ADDED
it is used by opac-topissues & can be useful at other places i'm sure

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-09 19:09:42 -05:00
Joshua Ferraro
e494fadf0a partial 1481: adding to templates, fixing non-display of data
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-06 16:34:56 -05:00
Joshua Ferraro
3dcc72ad91 removing multivolume,multivolumepart,binding
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-06 01:38:27 -05:00
Henri-Damien LAURENT
04a108482d BUG FIXING : Using LEFT JOIN in replacement of implicit inner joins. WARN NOT FULLY TESTED
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-10-03 14:58:35 -05:00
Chris Cormack
b989b83264 Fix for bug 1437, items not showing on moredetail.pl
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-30 17:58:02 -05:00
Ryan Higgins
cdb0b859fe fix column spelling errors and inconsistency btwn kohastructure and Biblio.pm (editionreponsability).
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-30 16:03:49 -05:00
Joshua Ferraro
6a3f4bf219 missing ) caused install to fail! We need to test changes before
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-29 16:00:51 -05:00
Henri-Damien LAURENT
b0e77eb844 Bug Fixing: verifying that biblionumber is not already stored in marcrecord before storing it
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-28 16:42:33 -05:00