From 539064eccb7a791e067561f56115477ddfec4cf3 Mon Sep 17 00:00:00 2001 From: Matthias Meusburger Date: Wed, 22 May 2024 10:06:17 +0000 Subject: [PATCH] Bug 35659: (more QA follow-ups) Rename Oaipmh to OAI Rename oaiservers to oai_servers Rename OaiServer to OAIServer Rename oai_servers.id to oai_servers.oai_server_id Rename ServerSearch to server_search Use a callback function for logs Use context for string "Set" Split translation string --- Koha/Import/{Oaipmh => OAI}/Authorities.pm | 10 +++--- Koha/Import/{Oaipmh => OAI}/Authority.pm | 6 ++-- Koha/Import/{Oaipmh => OAI}/Biblio.pm | 6 ++-- Koha/Import/{Oaipmh => OAI}/Biblios.pm | 10 +++--- Koha/OAI/Client/Harvester.pm | 33 +++++++++---------- Koha/{OaiServer.pm => OAIServer.pm} | 6 ++-- Koha/{OaiServers.pm => OAIServers.pm} | 10 +++--- admin/{oaiservers.pl => oai_servers.pl} | 22 ++++++------- .../data/mysql/atomicupdate/Bug-35659.pl | 20 +++++------ installer/data/mysql/kohastructure.sql | 22 ++++++------- .../prog/en/includes/admin-menu.inc | 2 +- .../prog/en/includes/oai-admin-search.inc | 2 +- .../prog/en/modules/admin/admin-home.tt | 2 +- .../admin/{oaiservers.tt => oai_servers.tt} | 24 +++++++------- misc/cronjobs/harvest_oai.pl | 15 ++++++--- t/db_dependent/Koha/OAIHarvester.t | 10 +++--- t/db_dependent/Koha/OAIServers.t | 18 +++++----- 17 files changed, 112 insertions(+), 106 deletions(-) rename Koha/Import/{Oaipmh => OAI}/Authorities.pm (81%) rename Koha/Import/{Oaipmh => OAI}/Authority.pm (87%) rename Koha/Import/{Oaipmh => OAI}/Biblio.pm (88%) rename Koha/Import/{Oaipmh => OAI}/Biblios.pm (82%) rename Koha/{OaiServer.pm => OAIServer.pm} (89%) rename Koha/{OaiServers.pm => OAIServers.pm} (85%) rename admin/{oaiservers.pl => oai_servers.pl} (85%) rename koha-tmpl/intranet-tmpl/prog/en/modules/admin/{oaiservers.tt => oai_servers.tt} (87%) diff --git a/Koha/Import/Oaipmh/Authorities.pm b/Koha/Import/OAI/Authorities.pm similarity index 81% rename from Koha/Import/Oaipmh/Authorities.pm rename to Koha/Import/OAI/Authorities.pm index 90372a8609..c66daa6816 100644 --- a/Koha/Import/Oaipmh/Authorities.pm +++ b/Koha/Import/OAI/Authorities.pm @@ -1,4 +1,4 @@ -package Koha::Import::Oaipmh::Authorities; +package Koha::Import::OAI::Authorities; # This file is part of Koha. # @@ -16,13 +16,13 @@ package Koha::Import::Oaipmh::Authorities; use Modern::Perl; -use Koha::Import::Oaipmh::Authority; +use Koha::Import::OAI::Authority; use base qw(Koha::Objects); =head1 NAME -Koha::Import::Oaipmh::Authorities +Koha::Import::OAI::Authorities This object represents a collection of OAI-PMH records being imported as authorities @@ -36,7 +36,7 @@ This object represents a collection of OAI-PMH records being imported as authori =cut sub _type { - return 'ImportOaipmhAuthority'; + return 'ImportOAIAuthority'; } =head3 object_class @@ -46,6 +46,6 @@ Koha::Object class =cut sub object_class { - return 'Koha::Import::Oaipmh::Authority'; + return 'Koha::Import::OAI::Authority'; } 1; diff --git a/Koha/Import/Oaipmh/Authority.pm b/Koha/Import/OAI/Authority.pm similarity index 87% rename from Koha/Import/Oaipmh/Authority.pm rename to Koha/Import/OAI/Authority.pm index fe90c432a2..8f44b235f4 100644 --- a/Koha/Import/Oaipmh/Authority.pm +++ b/Koha/Import/OAI/Authority.pm @@ -1,4 +1,4 @@ -package Koha::Import::Oaipmh::Authority; +package Koha::Import::OAI::Authority; # This file is part of Koha. # @@ -20,7 +20,7 @@ use base qw(Koha::Object); =head1 NAME -Koha::Import::Oaipmh::Authority +Koha::Import::OAI::Authority This object represents an OAI-PMH record being imported as an authority @@ -35,7 +35,7 @@ This object represents an OAI-PMH record being imported as an authority =cut sub _type { - return 'ImportOaipmhAuthority'; + return 'ImportOAIAuthority'; } 1; diff --git a/Koha/Import/Oaipmh/Biblio.pm b/Koha/Import/OAI/Biblio.pm similarity index 88% rename from Koha/Import/Oaipmh/Biblio.pm rename to Koha/Import/OAI/Biblio.pm index d59e5a6449..42ad046e72 100644 --- a/Koha/Import/Oaipmh/Biblio.pm +++ b/Koha/Import/OAI/Biblio.pm @@ -1,4 +1,4 @@ -package Koha::Import::Oaipmh::Biblio; +package Koha::Import::OAI::Biblio; # This file is part of Koha. # @@ -20,7 +20,7 @@ use base qw(Koha::Object); =head1 NAME -Koha::Import::Oaipmh::Biblio +Koha::Import::OAI::Biblio This object represents an OAI-PMH record being imported as a bibliographic record @@ -34,7 +34,7 @@ This object represents an OAI-PMH record being imported as a bibliographic recor =cut sub _type { - return 'ImportOaipmhBiblio'; + return 'ImportOaiBiblio'; } 1; diff --git a/Koha/Import/Oaipmh/Biblios.pm b/Koha/Import/OAI/Biblios.pm similarity index 82% rename from Koha/Import/Oaipmh/Biblios.pm rename to Koha/Import/OAI/Biblios.pm index 9ae111e96b..59ceba9cd3 100644 --- a/Koha/Import/Oaipmh/Biblios.pm +++ b/Koha/Import/OAI/Biblios.pm @@ -1,4 +1,4 @@ -package Koha::Import::Oaipmh::Biblios; +package Koha::Import::OAI::Biblios; # This file is part of Koha. # @@ -16,13 +16,13 @@ package Koha::Import::Oaipmh::Biblios; use Modern::Perl; -use Koha::Import::Oaipmh::Biblio; +use Koha::Import::OAI::Biblio; use base qw(Koha::Objects); =head1 NAME -Koha::Import::Oaipmh::Biblios +Koha::Import::OAI::Biblios This object represents a collection of OAI-PMH records being imported as bibliographic records @@ -36,7 +36,7 @@ This object represents a collection of OAI-PMH records being imported as bibliog =cut sub _type { - return 'ImportOaipmhBiblio'; + return 'ImportOaiBiblio'; } =head3 object_class @@ -46,6 +46,6 @@ Koha::Object class =cut sub object_class { - return 'Koha::Import::Oaipmh::Biblio'; + return 'Koha::Import::OAI::Biblio'; } 1; diff --git a/Koha/OAI/Client/Harvester.pm b/Koha/OAI/Client/Harvester.pm index bcb0106952..462f56e06f 100644 --- a/Koha/OAI/Client/Harvester.pm +++ b/Koha/OAI/Client/Harvester.pm @@ -36,11 +36,11 @@ use C4::Log qw( cronlogaction ); use HTTP::OAI; use HTTP::OAI::Metadata::OAI_DC; use Koha::DateUtils qw( dt_from_string ); -use Koha::OaiServers; -use Koha::Import::Oaipmh::Biblio; -use Koha::Import::Oaipmh::Biblios; -use Koha::Import::Oaipmh::Authority; -use Koha::Import::Oaipmh::Authorities; +use Koha::OAIServers; +use Koha::Import::OAI::Biblio; +use Koha::Import::OAI::Biblios; +use Koha::Import::OAI::Authority; +use Koha::Import::OAI::Authorities; use Koha::XSLT::Base; use MARC::File::XML; use MARC::Record; @@ -61,19 +61,18 @@ my $strp = DateTime::Format::Strptime->new( our $xslt_engine = Koha::XSLT::Base->new; =head2 new - -$harvester = Koha::OAI::Client::Harvester->new( { server => $server, verbose => $verbose, days => $days, force => $force } ); +$harvester = Koha::OAI::Client::Harvester->new( { server => $server, days => $days, force => $force, logger => \&logger } ); New instance of Koha::OAI::Client::Harvester -C<$server> An OAI repository (Koha::OaiServer) - -C<$verbose> print log messages to stdout when enabled +C<$server> An OAI repository (Koha::OAIServer) C<$days> number of days to harvest from (optional) C<$force> force harvesting (ignore records datestamps) +C<$logger> a callback function to handle logs (optional) + =cut sub new { @@ -250,7 +249,7 @@ sub processRecord { } my $imported_record; if ( $server->recordtype eq "biblio" ) { - $imported_record = Koha::Import::Oaipmh::Biblios->find( + $imported_record = Koha::Import::OAI::Biblios->find( { repository => $server->endpoint, identifier => $oai_record->identifier, @@ -258,7 +257,7 @@ sub processRecord { } ); } else { - $imported_record = Koha::Import::Oaipmh::Authorities->find( + $imported_record = Koha::Import::OAI::Authorities->find( { repository => $server->endpoint, identifier => $oai_record->identifier, @@ -318,7 +317,7 @@ sub processRecord { if ( $server->recordtype eq "biblio" ) { my ( $biblionumber, $biblioitemnumber ) = AddBiblio($marcrecord); $self->printlog( $oai_record->identifier . " added, biblionumber: $biblionumber" ); - Koha::Import::Oaipmh::Biblio->new( + Koha::Import::OAI::Biblio->new( { repository => $server->endpoint, identifier => $oai_record->identifier, @@ -330,7 +329,7 @@ sub processRecord { } else { my $authid = AddAuthority( $marcrecord, "", GuessAuthTypeCode($marcrecord) ); $self->printlog( $oai_record->identifier . " added, authid: $authid" ); - Koha::Import::Oaipmh::Authority->new( + Koha::Import::OAI::Authority->new( { repository => $server->endpoint, identifier => $oai_record->identifier, @@ -350,15 +349,15 @@ sub processRecord { =head2 $self->printlog -This method adds a cronlog and prints to stdout if verbose is enabled +This method gives the caller an opportunity to handle log messages =cut sub printlog { my ( $self, $message ) = @_; + return unless $self->{logger}; $message = $self->{server}->servername . ": " . $message; - print $message . "\n" if ( $self->{verbose} ); - cronlogaction( { info => $message } ); + $self->{logger}->($message); } 1; diff --git a/Koha/OaiServer.pm b/Koha/OAIServer.pm similarity index 89% rename from Koha/OaiServer.pm rename to Koha/OAIServer.pm index fa97c1f0b7..2261aa3707 100644 --- a/Koha/OaiServer.pm +++ b/Koha/OAIServer.pm @@ -1,4 +1,4 @@ -package Koha::OaiServer; +package Koha::OAIServer; # This file is part of Koha. # @@ -24,7 +24,7 @@ use base qw(Koha::Object); =head1 NAME -Koha::OaiServer - Koha OaiServer Object class +Koha::OAIServer - Koha OAIServer Object class =head1 API @@ -39,7 +39,7 @@ Return type of Object relating to Schema ResultSet =cut sub _type { - return 'Oaiserver'; + return 'OaiServer'; } 1; diff --git a/Koha/OaiServers.pm b/Koha/OAIServers.pm similarity index 85% rename from Koha/OaiServers.pm rename to Koha/OAIServers.pm index b752419c5d..9e822e49cd 100644 --- a/Koha/OaiServers.pm +++ b/Koha/OAIServers.pm @@ -1,4 +1,4 @@ -package Koha::OaiServers; +package Koha::OAIServers; # This file is part of Koha. # @@ -20,13 +20,13 @@ use Modern::Perl; use Koha::Database; -use Koha::OaiServer; +use Koha::OAIServer; use base qw(Koha::Objects); =head1 NAME -Koha::OaiServers - Koha OaiServer Object set class +Koha::OAIServers - Koha OAIServer Object set class =head1 API @@ -41,7 +41,7 @@ Return type of object, relating to Schema ResultSet =cut sub _type { - return 'Oaiserver'; + return 'OaiServer'; } =head3 object_class @@ -51,7 +51,7 @@ Return object class =cut sub object_class { - return 'Koha::OaiServer'; + return 'Koha::OAIServer'; } 1; diff --git a/admin/oaiservers.pl b/admin/oai_servers.pl similarity index 85% rename from admin/oaiservers.pl rename to admin/oai_servers.pl index b9dc686b7c..af35b14110 100755 --- a/admin/oaiservers.pl +++ b/admin/oai_servers.pl @@ -26,7 +26,7 @@ use C4::Context; use C4::Auth qw( get_template_and_user ); use C4::Output qw( output_html_with_http_headers ); use Koha::Database; -use Koha::OaiServers; +use Koha::OAIServers; # Initialize CGI, template, database @@ -38,13 +38,13 @@ my $searchfield = ''; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "admin/oaiservers.tt", + template_name => "admin/oai_servers.tt", query => $input, type => "intranet", flagsrequired => { parameters => 'manage_search_targets' }, } ); -my $script_name = "/cgi-bin/koha/admin/oaiservers.pl"; +my $script_name = "/cgi-bin/koha/admin/oai_servers.pl"; my $path = C4::Context->config('intrahtdocs') . "/prog/"; $template->param( script_name => $script_name, xslt_path => $path ); @@ -55,7 +55,7 @@ my $schema = Koha::Database->new()->schema(); # First process a confirmed delete, or save a validated record if ( $op eq 'cud-delete_confirmed' && $id ) { - my $server = Koha::OaiServers->find($id); + my $server = Koha::OAIServers->find($id); if ($server) { $server->delete; $template->param( msg_deleted => 1, msg_add => $server->servername ); @@ -69,7 +69,7 @@ if ( $op eq 'cud-delete_confirmed' && $id ) { add_xslt/; my $formdata = _form_data_hashref( $input, \@fields ); if ($id) { - my $server = Koha::OaiServers->find($id); + my $server = Koha::OAIServers->find($id); if ($server) { $server->set($formdata)->store; $template->param( msg_updated => 1, msg_add => $formdata->{servername} ); @@ -78,7 +78,7 @@ if ( $op eq 'cud-delete_confirmed' && $id ) { } $id = 0; } else { - Koha::OaiServer->new($formdata)->store; + Koha::OAIServer->new($formdata)->store; $template->param( msg_added => 1, msg_add => $formdata->{servername} ); } } elsif ( $op eq 'search' ) { @@ -91,14 +91,14 @@ if ( $op eq 'cud-delete_confirmed' && $id ) { my $data = []; if ( $op eq 'add' || $op eq 'edit' ) { - $data = ServerSearch( $schema, $id, $searchfield ) if $searchfield || $id; - delete $data->[0]->{id} if @$data && $op eq 'add'; #cloning record + $data = server_search( $schema, $id, $searchfield ) if $searchfield || $id; + delete $data->[0]->{id} if @$data && $op eq 'add'; #cloning record $template->param( add_form => 1, server => @$data ? $data->[0] : undef, op => $op, type => $op eq 'add' ? lc $type : '' ); } else { - $data = ServerSearch( $schema, $id, $searchfield ); + $data = server_search( $schema, $id, $searchfield ); $template->param( loop => \@$data, searchfield => $searchfield, id => $id, op => 'list' @@ -108,10 +108,10 @@ output_html_with_http_headers $input, $cookie, $template->output; # End of main code -sub ServerSearch { #find server(s) by id or name +sub server_search { #find server(s) by id or name my ( $schema, $id, $searchstring ) = @_; - return Koha::OaiServers->search( + return Koha::OAIServers->search( $id ? { id => $id } : { servername => { like => $searchstring . '%' } }, )->unblessed; } diff --git a/installer/data/mysql/atomicupdate/Bug-35659.pl b/installer/data/mysql/atomicupdate/Bug-35659.pl index 96721d3291..c637027d45 100755 --- a/installer/data/mysql/atomicupdate/Bug-35659.pl +++ b/installer/data/mysql/atomicupdate/Bug-35659.pl @@ -8,8 +8,8 @@ return { my ( $dbh, $out ) = @$args{qw(dbh out)}; $dbh->do( q{ - CREATE TABLE IF NOT EXISTS `oaiservers` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', + CREATE TABLE IF NOT EXISTS `oai_servers` ( + `oai_server_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `endpoint` varchar(255) NOT NULL COMMENT 'OAI endpoint (host + port + path)', `oai_set` varchar(255) DEFAULT NULL COMMENT 'OAI set to harvest', `servername` longtext NOT NULL COMMENT 'name given to the target by the library', @@ -20,12 +20,12 @@ return { ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; } ); - say $out "Added new table 'oaiservers'"; + say $out "Added new table 'oai_servers'"; $dbh->do( q{ - CREATE TABLE IF NOT EXISTS `import_oaipmh_biblios` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', + CREATE TABLE IF NOT EXISTS `import_oai_biblios` ( + `import_oai_biblio_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `biblionumber` int(11) NOT NULL COMMENT 'unique identifier assigned to each koha record', `identifier` varchar(255) NOT NULL COMMENT 'OAI record identifier', `repository` varchar(255) NOT NULL COMMENT 'OAI repository', @@ -34,15 +34,15 @@ return { `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY biblionumber (biblionumber), - CONSTRAINT FK_import_oaipmh_biblios_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT FK_import_oai_biblios_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; } ); $dbh->do( q{ - CREATE TABLE IF NOT EXISTS `import_oaipmh_authorities` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', + CREATE TABLE IF NOT EXISTS `import_oai_authorities` ( + `import_oai_authority_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `authid` bigint(20) unsigned NOT NULL COMMENT 'unique identifier assigned to each koha record', `identifier` varchar(255) NOT NULL COMMENT 'OAI record identifier', `repository` varchar(255) NOT NULL COMMENT 'OAI repository', @@ -51,11 +51,11 @@ return { `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY authid (authid), - CONSTRAINT FK_import_oaipmh_authorities_1 FOREIGN KEY (authid) REFERENCES auth_header (authid) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT FK_import_oai_authorities_1 FOREIGN KEY (authid) REFERENCES auth_header (authid) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; } ); - say $out "Added new tables 'import_oaipmh_biblios' and import_oaipmh_authorities"; + say $out "Added new tables 'import_oai_biblios' and import_oai_authorities"; $dbh->do( q{ diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 3e80a292d3..759ea91863 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -4860,13 +4860,13 @@ CREATE TABLE `oai_sets_mappings` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `oaiservers` +-- Table structure for table `oai_servers` -- -DROP TABLE IF EXISTS `oaiservers`; +DROP TABLE IF EXISTS `oai_servers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `oaiservers` ( +CREATE TABLE `oai_servers` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `endpoint` varchar(255) NOT NULL COMMENT 'OAI endpoint (host + port + path)', `oai_set` varchar(255) DEFAULT NULL COMMENT 'OAI set to harvest', @@ -4878,13 +4878,13 @@ CREATE TABLE `oaiservers` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- --- Table structure for table `import_oaipmh_biblios` +-- Table structure for table `import_oai_biblios` -- -DROP TABLE IF EXISTS `import_oaipmh_biblios`; +DROP TABLE IF EXISTS `import_oai_biblios`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `import_oaipmh_biblios` ( +CREATE TABLE `import_oai_biblios` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `biblionumber` int(11) NOT NULL COMMENT 'unique identifier assigned to each koha record', `identifier` varchar(255) NOT NULL COMMENT 'OAI record identifier', @@ -4894,17 +4894,17 @@ CREATE TABLE `import_oaipmh_biblios` ( `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY biblionumber (biblionumber), - CONSTRAINT FK_import_oaipmh_biblios_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT FK_import_oai_biblios_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- --- Table structure for table `import_oaipmh_authorities` +-- Table structure for table `import_oai_authorities` -- -DROP TABLE IF EXISTS `import_oaipmh_authorities`; +DROP TABLE IF EXISTS `import_oai_authorities`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `import_oaipmh_authorities` ( +CREATE TABLE `import_oai_authorities` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'unique identifier assigned by Koha', `authid` bigint(20) unsigned NOT NULL COMMENT 'unique identifier assigned to each koha record', `identifier` varchar(255) NOT NULL COMMENT 'OAI record identifier', @@ -4914,7 +4914,7 @@ CREATE TABLE `import_oaipmh_authorities` ( `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY authid (authid), - CONSTRAINT FK_import_oaipmh_authorities_1 FOREIGN KEY (authid) REFERENCES auth_header (authid) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT FK_import_oai_authorities_1 FOREIGN KEY (authid) REFERENCES auth_header (authid) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc index 5f5e089d1c..e3b6e520d0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc @@ -152,7 +152,7 @@ [% END %] [% IF ( CAN_user_parameters_manage_search_targets ) %]
  • Z39.50/SRU servers
  • -
  • OAI repositories
  • +
  • OAI repositories
  • [% END %] [% IF ( CAN_user_parameters_manage_smtp_servers ) %]
  • SMTP servers
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/oai-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/oai-admin-search.inc index 5f7a97c71f..1da8c440cc 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/oai-admin-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/oai-admin-search.inc @@ -3,7 +3,7 @@