From e0a0c2b3da6309b6405677275a7ce959be26fa47 Mon Sep 17 00:00:00 2001 From: Joy Nelson Date: Sat, 26 Oct 2013 00:14:48 -0400 Subject: [PATCH] Bug 11066: RIS and Bibtex Exports RDA compatible RIS and Bibtex exports from staff side and OPAC edited to allow for additional publisher RDA tag (264). Script will look first for 264 then fallback to 260 when pulling publisher data from marc21 record. Test Plan: 1. Create RDA and non RDA record 2. In OPAC, export both as RIS and Bibtex - verify publisher information is exported 3. On staff side, export records as RIS and Bibtex, verify publisher information is exported. Signed-off-by: Chris Cormack --- C4/Record.pm | 6 +++--- C4/Ris.pm | 9 +++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/C4/Record.pm b/C4/Record.pm index 9d72d5a..8e2fcef 100644 --- a/C4/Record.pm +++ b/C4/Record.pm @@ -702,13 +702,13 @@ sub marc2bibtex { author => $author, title => $record->subfield("245", "a") || "", editor => $record->subfield("260", "f") || "", - publisher => $record->subfield("260", "b") || "", - year => $record->subfield("260", "c") || $record->subfield("260", "g") || "", + publisher => $record->subfield("264", "b") || $record->subfield("260", "b") || "", + year => $record->subfield("264", "c") || $record->subfield("260", "c") || $record->subfield("260", "g") || "", # Optional # unimarc to marc21 specification says not to convert 200$v to marc21 series => $record->subfield("490", "a") || "", - address => $record->subfield("260", "a") || "", + address => $record->subfield("264", "a") || $record->subfield("260", "a") || "", edition => $record->subfield("250", "a") || "", note => $record->subfield("500", "a") || "", url => $record->subfield("856", "u") || "" diff --git a/C4/Ris.pm b/C4/Ris.pm index ce32ea9..dc97c74 100644 --- a/C4/Ris.pm +++ b/C4/Ris.pm @@ -209,7 +209,12 @@ sub marc2ris { &print_pubinfo($record->field('210')); } else { ## marc21, ukmarc - &print_pubinfo($record->field('260')); + if ($record->field('264')) { + &print_pubinfo($record->field('264')); + } + else { + &print_pubinfo($record->field('260')); + } } ## 6XX fields contain KW candidates. We add all of them to a @@ -642,7 +647,7 @@ sub print_pubinfo { my($pubinfofield) = @_; if (!$pubinfofield) { - print "no publication information found (260)\r\n" if $marcprint; + print "no publication information found (260/264)\r\n" if $marcprint; warn("no publication information found") if $marcprint; } else { -- 1.8.3.2