[Koha-bugs] [Bug 11300] Add a new authority linker which searches for authority links on a Z39.50 server.

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Dec 18 23:33:34 CET 2017


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11300

--- Comment #24 from Katrin Fischer <katrin.fischer at bsz-bw.de> ---
Comment on attachment 69204
  --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=69204
Bug 11300 - Add a new authority linker which searches for authority links on a
Z39.50 server.

Review of attachment 69204:
 --> (https://bugs.koha-community.org/bugzilla3/page.cgi?id=splinter.html&bug=11300&attachment=69204)
-----------------------------------------------------------------

Hi Bouzid, did you attach the most recent patch? This one is not using
Modern::Perl as you said in your last comment?

I have taken another look at the code, some are questions:

::: C4/Linker/Z3950Server.pm
@@ +1,1 @@
> +package C4::Linker::Z3950Server;

I am not sure about adding a new module to the C4 namespace at this point in
time, as we have been busy moving things into the new Koha namespace. This
might be something to check with the Release Manager. It might be ok because of
the relationship with C4::Linker.

@@ +15,5 @@
> +# You should have received a copy of the GNU General Public License
> +# along with Koha; if not, see <http://www.gnu.org/licenses>.
> +
> +use strict;
> +use warnings;

You should always use Modern::Perl instead of use strict; use warnings;

@@ +121,5 @@
> +  ($authid, $record, $status) = $self->getZ3950Authority($heading);
> +
> +  Do a Z39.50 search for the heading using the $conn ZOOM::Connection object and the $heading Heading.
> +  The column origincode is used to check for duplicates.
> +  FIXME: Use thesaurus in search? As of Koha 3.8, the community stopped using them.

What's this comment referring to?

@@ +167,5 @@
> +    }
> +    my $query;
> +    if ($heading->{'auth_type'} eq 'PERSO_NAME' ){
> +         $query =qq(Personal-name,do-not-truncate,ext="$heading->{'search_form'}");
> +    }elsif ($heading->{'auth_type'}  eq 'UNIF_TITLE' ) {

I am not sure if these are universal or only specific to MARC21. :(

@@ +214,5 @@
> +        my $authtypecode = C4::AuthoritiesMarc::GuessAuthTypeCode($record);
> +        my $authId;
> +
> +        # Use the control number to prevent the creation of duplicate authorities.
> +        my $controlNumber = $record->field('970')->subfield('0');

What is 970? I checked authority frameworks and bibliograpic frameworks but
it's defined in neither?

@@ +225,5 @@
> +        # Corrections and verifications before insertion
> +        my $format;
> +        my $leader='     nz  a22     o  4500';# Leader for incomplete MARC21 record
> +
> +        if (uc(C4::Context->preference('marcflavour')) eq 'UNIMARC') {

No need for uc() here I think.

@@ +238,5 @@
> +                $record->leader($leader);
> +            }
> +            if (!$record->field('003')) {
> +                $record->insert_fields_ordered(
> +                        MARC::Field->new('003',C4::Context->preference('MARCOrgCode'))

I think this needs to be adjusted - as of 17.11 the MARCOrgCode can also be set
on library level.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list