Hi All - we want to change the 856 field in over 18,000 records. The actual 
change itself is easy - simply URL encoding the existing URL, and then 
prefixing it with another value. I am thinking of scripting this job.


1.       Identity and retrieve the biblio IDs from a SQL query

2.       Iterate over the IDs and use C4::Biblio:: GetMarcBiblio to retrieve 
the MARC record

3.       Grab the 856, subfield u value and make the change

4.       Use C4::Biblio:: ModBiblio to update the record in Koha

The actual relevant code would look something like (this is inside a loop which 
is iterating over the array of BIB IDs):

my $marc_record = GetMarcBiblio($id);

if ($marc_record) {
my $url = $marc_record->field('856')->subfield('u');
                my $field_856 = $marc_record->field('856');
                my $encodedURL = &encodeURL($url);
                my $wURL = $eblPrefix . $encodedURL;
                $field_856->update( u => $wURL);
                my $updated = ModBiblio($marc_record,$id,'');
}

I've test this on 10 records and it seems to work OK. My main question is, are 
there any "gotchas" doing it this way - anything I need to look out 
for/anything I've missed?

I'm not explicitly indicating any encoding format - I'm assuming that what goes 
back into Koha , will be the same as what I took out (apart from the URL)  - 
with all the encoding the same. Is that assumption correct?

Is it OK to make this change to 18K in one go?

Before I run the script I'm make a dump of the biblioitems table (which I think 
is the only table effected by this update), and the script dumps out the BIB 
IDs and the MARC records to file for reference.

How does this sound/look?

Cheers, Stephen

Stephen Graham
Library Technology Consultant
Academic Resources
Library and Computing Services
University of Hertfordshire
Hatfield  AL10 9AB
UK
Tel. 01707 286111 Ext: 77751
Email s.grah...@herts.ac.uk

_______________________________________________
Koha mailing list  http://koha-community.org
Koha@lists.katipo.co.nz
https://lists.katipo.co.nz/mailman/listinfo/koha

Reply via email to