diff --git a/config/vufind/config.ini b/config/vufind/config.ini index ccdee1acd707d356d483d9db02fc4d685691ddb5..8b5a87d14e59a785b25bb8b9247ff86b8bd51c14 100644 --- a/config/vufind/config.ini +++ b/config/vufind/config.ini @@ -1170,6 +1170,10 @@ url = https://www.myendnoteweb.com/EndNoteWeb.html ; ; If admin_email is not set, the main email under [Site] will be used instead. ; +; page_size may be used to specify the number of records returned per request. +; Default is 100. A higher number may improve overall harvesting performance, but +; will also make a single response page larger and slower to produce. +; ; If set_field is set, the named Solr field will be used to generate sets on ; your OAI-PMH server. If it is not set, sets will not be supported. ; @@ -1194,6 +1198,7 @@ url = https://www.myendnoteweb.com/EndNoteWeb.html ;identifier = myuniversity.edu ;repository_name = "MyUniversity Catalog" ;admin_email = oai@myuniversity.edu +;page_size = 1000 ;set_field = "format" ;set_query['eod_books'] = "institution:kfu AND publishDate:[1911 TO 1911]" ;set_query['eod_ebooks'] = "format:eBook" diff --git a/module/VuFind/src/VuFind/OAI/Server.php b/module/VuFind/src/VuFind/OAI/Server.php index c396bc233238816e0fe7b134939f0122eb580528..20d6051a42be48c95d5a90d143c3a0eb8ecc985d 100644 --- a/module/VuFind/src/VuFind/OAI/Server.php +++ b/module/VuFind/src/VuFind/OAI/Server.php @@ -640,6 +640,11 @@ class Server $this->idNamespace = $config->OAI->identifier; } + // Override page size if configured: + if (isset($config->OAI->page_size)) { + $this->pageSize = $config->OAI->page_size; + } + // Use either OAI-specific or general email address; we must have SOMETHING. $this->adminEmail = isset($config->OAI->admin_email) ? $config->OAI->admin_email : $config->Site->email;