Hi all, I tried clearing all the ISBNs from isbn field in the biblioitems table in my test database and re-indexed the zebra index but the same problem is shown. That means it is not related to malformed ISBN, rather could be because of malformed MARC record? The same database works okay with Koha 3.14, which is there is no such search issues. Any suggestions would be appreciated! Thank you. Regards, Dibyendra On 10/4/14, Dibyendra Hyoju <dibyendra@gmail.com> wrote:
Thanks both of you for your response! I will postpone the idea of downgrading the database for a while.
Zeno, I'll take a look at code to find out the exact problem, but looking at the snippet code in the email, this could be because of malformed ISBN, I guess.
I will write to the list, if I come up with solutions.
Thanks! -- Dibyendra
On 10/4/14, Zeno Tajoli <z.tajoli@cineca.it> wrote:
Hi,
(http://permalink.gmane.org/gmane.comp.misc.koha/36671) mentioned earlier in the Koha general mailing list, I am thinking to downgrade the database structure of Koha 3.16.4 to 3.14.x.
I suggest you to not do this operation, the error is inside this code:
Software error:
Can't call method "as_string" on an undefined value at /usr/share/koha/lib/C4/Koha.pm line 1608.
1586 1587 sub NormalizeISBN { 1588 my ($params) = @_; 1589 1590 my $string = $params->{isbn}; 1591 my $strip_hyphens = $params->{strip_hyphens}; 1592 my $format = $params->{format}; 1593 1594 return unless $string; 1595 1596 my $isbn = Business::ISBN->new($string); 1597 1598 if ( $isbn && $isbn->is_valid() ) { 1599 1600 if ( $format eq 'ISBN-10' ) { 1601 $isbn = $isbn->as_isbn10(); 1602 } 1603 elsif ( $format eq 'ISBN-13' ) { 1604 $isbn = $isbn->as_isbn13(); 1605 } 1606 1607 if ($strip_hyphens) { 1608 $string = $isbn->as_string( [] ); 1609 } else { 1610 $string = $isbn->as_string(); 1611 } 1612 1613 return $string; 1614 } 1615 }
Probably you have an 020 tag without data or same other problem. To understand better the situation you can try: -- find a search on opac that gives the error -- insert the swith -d in the opac-search.pl -- start opac-search.pl on command line and use perl debugger to find the exact problem
Bye
-- Dibyendra Hyoju
-- Dibyendra Hyoju