From a75950dbaca7f2303729a60a5b09138151110514 Mon Sep 17 00:00:00 2001 From: Jacob O'Mara Date: Tue, 16 Apr 2024 15:15:58 +0100 Subject: [PATCH 01/15] fix: ensure summon author names point to correct author Previously on records written by more than one author, the record could sometimes display the sub-author in favour of the primary author this patch changes the getAuthor function in summon record driver to another field that is always populated with the primary author. --- code/web/RecordDrivers/SummonRecordDriver.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/web/RecordDrivers/SummonRecordDriver.php b/code/web/RecordDrivers/SummonRecordDriver.php index c6f6fc4a86..bef54e93fb 100644 --- a/code/web/RecordDrivers/SummonRecordDriver.php +++ b/code/web/RecordDrivers/SummonRecordDriver.php @@ -336,8 +336,8 @@ public function getPrimaryAuthor() { } public function getAuthor() { - if(isset($this->record['Author'][0])) { - $author=$this->record['Author'][0]; + if(isset($this->record['Author_xml'][0]['fullname'])) { + $author=$this->record['Author_xml'][0]['fullname']; } else { $author='Unknown Title'; } From b2d50234454eddf5ad7cbc7e37e6ff1d3e247ad5 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Wed, 17 Apr 2024 10:03:54 +0100 Subject: [PATCH 02/15] feat: Set holdings only to true This commit removes the results from holdings outside of the origional library. --- code/web/sys/SearchObject/SummonSearcher.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index f6f48dc6c7..58dd3d0b01 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -41,7 +41,7 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ protected $searchType = 'basic'; /** Values for the options array*/ - protected $holdings = false; + protected $holdings = true; protected $didYouMean = false; protected $language = 'en'; protected $idsToFetch = array(); From de78a26d6eb6961084e6bb602eeb50b2aa42543d Mon Sep 17 00:00:00 2001 From: Jacob O'Mara Date: Tue, 26 Mar 2024 17:10:46 +0000 Subject: [PATCH 03/15] feat: Added new filters for Peer Reviewed and Is Scholarly This commit adds filters to the limit results section to allow filtering by whether resources are scholary and peer reviewed. --- code/web/sys/SearchObject/SummonSearcher.php | 107 ++++++++++++++++++- 1 file changed, 103 insertions(+), 4 deletions(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index 58dd3d0b01..e7babc0348 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -48,7 +48,6 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ /**@var int */ protected $maxTopics = 1; protected $groupFilters = array(); - protected $rangeFilters = array(); protected $openAccessFilter = false; protected $expand = false; protected $sortOptions = array(); @@ -58,6 +57,7 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ protected $defaultSort = 'relevance'; protected $query; protected $filters = array(); + protected $rangeFilters = array(); /** * @var int @@ -90,8 +90,23 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ 'Language,or,1,30', 'DatabaseName,or,1,30', 'SourceType,or,1,30', + //'IsPeerReviewed,and,1,30', + //'isScholarly,and,1,30', ]; + protected $limits = [ + 'IsPeerReviewed,or,1,30', + 'IsScholarly,or,1,30', + ]; + + protected $rangeFacets = [ + 'PublicationDate,0000:9999', + ]; + + protected $limitList = []; + protected $limitFields; + + protected $facetFields; public function __construct() { @@ -233,7 +248,7 @@ public function getOptions () { //Fetch specific records 's.fids' =>$this->idsToFetch, //Side facets to filter by - 's.ff' =>$this->facets, + 's.ff' =>array_merge($this->facets, $this->limits), //Filters that are active - from side facets 's.fvf' => $this->getSummonFilters(), //Default 1 @@ -242,6 +257,8 @@ public function getOptions () { 's.fvgf' => $this->groupFilters, //Filters 's.rf' => $this->rangeFilters, + //Range Facets + 's.rff' => $this->rangeFacets, //Order results 's.sort' => $this->getSort(), //False by default @@ -275,9 +292,29 @@ public function processData($recordData) { $this->page = $recordData['query']['pageNumber']; $this->resultsTotal = $recordData['recordCount']; $this->filters = $recordData['query']['facetValueFilters']; - $this->facetFields= $recordData['facetFields']; + $splitFacets = $this->splitFacets($recordData['facetFields']); + $recordData['rangeFacetFields'] = isset($recordData['rangeFacetFields']) && is_array($recordData['rangeFacetFields']) ? $recordData['rangeFacetFields'] : []; + $this->facetFields = array_merge($splitFacets['facetFields'], $recordData['rangeFacetFields']); + $this->limitFields = $splitFacets['limitFields']; } - return $recordData; + return $recordData; + } + + public function splitFacets($combinedFacets) { + $splitFacets = []; + foreach($combinedFacets as $facet) { + foreach ($this->facets as $facetName) { + if (strpos($facetName, $facet['displayName']) !== false) { + $splitFacets['facetFields'][] = $facet; + } + } + foreach ($this->limits as $limitName) { + if (strpos($limitName, $facet['displayName']) !== false) { + $splitFacets['limitFields'][] = $facet; + } + } + } + return $splitFacets; } /** @@ -436,6 +473,9 @@ public function getFacetSet() { //results array does not return human readable option $parts = preg_split('/(?=[A-Z])/', $facetId, -1, PREG_SPLIT_NO_EMPTY); $displayName = implode(' ', $parts); + if ($facetId == 'PublicationDate') { + $facetId = 'publishDate'; + } $availableFacets[$facetId] = [ 'collapseByDefault' => true, 'multiSelect' =>true, @@ -445,6 +485,11 @@ public function getFacetSet() { if ($facetId == 'ContentType') { $availableFacets[$facetId]['collapseByDefault'] = false; } + + if ($facetId == 'IsScholarly' || $facetId == 'IsPeerReviewed') { + $availableFacets[$facetId]['multiSelect'] = false; + } + $list = []; foreach ($facetField['counts'] as $value) { $facetValue = $value['value']; @@ -469,6 +514,52 @@ public function getFacetSet() { return $availableFacets; } + // public function createLimitList($recordData) { + // foreach($recordData['facetFields'] as $facet) { + // //foreach($facet as $limit) + // if(in_array($facet['displayName'], $this->limitOptions)) { + // $this->limits[$facet['displayName']] = $facet['hasAppliedValue']; + // } + // } + // return; + // } + + public function getLimitList() { + + $availableLimits=[]; + if (isset($this->limitFields)){ + foreach($this->limitFields as $limitOption){ + $limitId = $limitOption['displayName']; + $parts = preg_split('/(?=[A-Z])/', $limitId, -1, PREG_SPLIT_NO_EMPTY); + $displayName = implode(' ', $parts); + + foreach($limitOption['counts'] as $value){ + if ($value['value'] == 'true') { + $isApplied = $value['isApplied']; + $availableLimits[$limitId] = [ + 'display' => $displayName." (".$value['count'].")", + 'value' => $limitId, + 'isApplied' => ($this->limiters[$limitId]) == 'y' ? 1 : 0, + 'url' => $this->renderLinkWithLimiter($limitId), + 'removalUrl' => $this->renderLinkWithoutLimiter($limitId), + ]; + } + } + + } + } + return $availableLimits; + } + + public function createSearchLimits() { + foreach ($this->limiters as $limiter => $limiterOptions) { + if ($this->limiters[$limiter] == 'y') { + $this->limitList[$limiter] = $limiterOptions; + } + } + return $this->limitList; + } + //Retreive a specific record - used to retreive bookcovers public function retrieveRecord ($id) { $baseUrl = $this->summonBaseApi . '/' .$this->version . '/' .$this->service; @@ -484,6 +575,10 @@ public function retrieveRecord ($id) { //Compile filter options chosen in side facets and add to filter array to be passed in via options array public function getSummonFilters() { $this->filters = array(); + $this->createSearchLimits(); + if (isset($this->limitList) && isset($this->filterList)) { + $this->filterList = array_merge($this->limitList, $this->filterList); + } foreach ($this->filterList as $key => $value) { if (is_array($value)) { foreach ($value as $val) { @@ -538,6 +633,10 @@ public function sendRequest() { $settings = $this->getSettings(); $this->startQueryTimer(); $query = array(); + // foreach ($this->limiters as $limiter => $limiterOptions) { + // if ($limiterOptions['isApplied']) { + // $this->limitList[] = $limiterOptions[]; + // } $options = $this->getOptions(); $this->searchTerms; foreach ($options as $key => $value) { From 2920fd0641cadec5530912668378178cd13c8103 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Thu, 18 Apr 2024 12:09:35 +0100 Subject: [PATCH 04/15] chore: Removal of unused code This commit cleans up the code by removing commented out code and unused variables. --- code/web/sys/SearchObject/SummonSearcher.php | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index e7babc0348..7763be15f7 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -90,8 +90,6 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ 'Language,or,1,30', 'DatabaseName,or,1,30', 'SourceType,or,1,30', - //'IsPeerReviewed,and,1,30', - //'isScholarly,and,1,30', ]; protected $limits = [ @@ -514,16 +512,6 @@ public function getFacetSet() { return $availableFacets; } - // public function createLimitList($recordData) { - // foreach($recordData['facetFields'] as $facet) { - // //foreach($facet as $limit) - // if(in_array($facet['displayName'], $this->limitOptions)) { - // $this->limits[$facet['displayName']] = $facet['hasAppliedValue']; - // } - // } - // return; - // } - public function getLimitList() { $availableLimits=[]; @@ -535,7 +523,6 @@ public function getLimitList() { foreach($limitOption['counts'] as $value){ if ($value['value'] == 'true') { - $isApplied = $value['isApplied']; $availableLimits[$limitId] = [ 'display' => $displayName." (".$value['count'].")", 'value' => $limitId, @@ -633,10 +620,6 @@ public function sendRequest() { $settings = $this->getSettings(); $this->startQueryTimer(); $query = array(); - // foreach ($this->limiters as $limiter => $limiterOptions) { - // if ($limiterOptions['isApplied']) { - // $this->limitList[] = $limiterOptions[]; - // } $options = $this->getOptions(); $this->searchTerms; foreach ($options as $key => $value) { From 2211afc20a5ebe0d1ebedac2d389554c49ec29b4 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Thu, 18 Apr 2024 12:39:12 +0100 Subject: [PATCH 05/15] fix: Removed 'count' display for limits This commit removes the display of the record count in the limit search section of the filter options for Summon to keep it inline with Ebsco EDS --- code/web/sys/SearchObject/SummonSearcher.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index 7763be15f7..bd9cf2220d 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -524,7 +524,7 @@ public function getLimitList() { foreach($limitOption['counts'] as $value){ if ($value['value'] == 'true') { $availableLimits[$limitId] = [ - 'display' => $displayName." (".$value['count'].")", + 'display' => $displayName, 'value' => $limitId, 'isApplied' => ($this->limiters[$limitId]) == 'y' ? 1 : 0, 'url' => $this->renderLinkWithLimiter($limitId), From d900e2a14ff2491cae7c1b5375686e2036531c83 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Thu, 18 Apr 2024 13:43:35 +0100 Subject: [PATCH 06/15] fix: Fixed book cover display This commit fixes the book cover display by reverting an array merge. --- code/web/sys/SearchObject/SummonSearcher.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index bd9cf2220d..7eaba1e3db 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -253,10 +253,10 @@ public function getOptions () { 's.rec.topic.max' => $this->maxTopics, //Filters 's.fvgf' => $this->groupFilters, - //Filters - 's.rf' => $this->rangeFilters, //Range Facets 's.rff' => $this->rangeFacets, + //Filters + 's.rf' => $this->rangeFilters, //Order results 's.sort' => $this->getSort(), //False by default @@ -292,7 +292,7 @@ public function processData($recordData) { $this->filters = $recordData['query']['facetValueFilters']; $splitFacets = $this->splitFacets($recordData['facetFields']); $recordData['rangeFacetFields'] = isset($recordData['rangeFacetFields']) && is_array($recordData['rangeFacetFields']) ? $recordData['rangeFacetFields'] : []; - $this->facetFields = array_merge($splitFacets['facetFields'], $recordData['rangeFacetFields']); + $this->facetFields = $splitFacets['facetFields']; $this->limitFields = $splitFacets['limitFields']; } return $recordData; @@ -463,7 +463,6 @@ public function renderLinkWithSort($newSort) { */ public function getFacetSet() { $availableFacets = []; - $label = ''; $this->filters = []; if (isset($this->facetFields)) { foreach ($this->facetFields as $facetField) { From d5c8ccb1745314abccc967ba65cf6b3ca98a94b5 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Mon, 22 Apr 2024 09:29:20 +0100 Subject: [PATCH 07/15] refactor: This commit removes the additional code related to Publication Dates --- code/web/sys/SearchObject/SummonSearcher.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/web/sys/SearchObject/SummonSearcher.php b/code/web/sys/SearchObject/SummonSearcher.php index 7eaba1e3db..cc12ca2d04 100644 --- a/code/web/sys/SearchObject/SummonSearcher.php +++ b/code/web/sys/SearchObject/SummonSearcher.php @@ -98,7 +98,6 @@ class SearchObject_SummonSearcher extends SearchObject_BaseSearcher{ ]; protected $rangeFacets = [ - 'PublicationDate,0000:9999', ]; protected $limitList = []; @@ -291,7 +290,6 @@ public function processData($recordData) { $this->resultsTotal = $recordData['recordCount']; $this->filters = $recordData['query']['facetValueFilters']; $splitFacets = $this->splitFacets($recordData['facetFields']); - $recordData['rangeFacetFields'] = isset($recordData['rangeFacetFields']) && is_array($recordData['rangeFacetFields']) ? $recordData['rangeFacetFields'] : []; $this->facetFields = $splitFacets['facetFields']; $this->limitFields = $splitFacets['limitFields']; } @@ -470,9 +468,6 @@ public function getFacetSet() { //results array does not return human readable option $parts = preg_split('/(?=[A-Z])/', $facetId, -1, PREG_SPLIT_NO_EMPTY); $displayName = implode(' ', $parts); - if ($facetId == 'PublicationDate') { - $facetId = 'publishDate'; - } $availableFacets[$facetId] = [ 'collapseByDefault' => true, 'multiSelect' =>true, From 03f584c2d532013303e301b80df9ea873b9f35eb Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 16 Apr 2024 13:01:59 +0100 Subject: [PATCH 08/15] fix: Add correct paths for explore more section --- .../themes/responsive/images/summon.png:Zone.Identifier | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 code/web/interface/themes/responsive/images/summon.png:Zone.Identifier diff --git a/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier b/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier new file mode 100644 index 0000000000..5bfebe3650 --- /dev/null +++ b/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier @@ -0,0 +1,4 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=https://www.google.com/ +HostUrl=https://files.mtstatic.com/site_11811/55152/0?Expires=1708452791&Signature=O-eIysOYl-1drJTT2f6LTnuDXMhKycAnvuWBQT53Y5WC-uFeYwIE744-kFoVgc-gDsc1ODNBFX1G09SEdxs6NAzaBLFM1c9V0Xq3GZiKsUMivxIQC8YNpa9VHLWM0KE-snOgnMcGuuzuqvpFNAZA5J7FNpYuE~F2eWzOKKYIdhw_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA From 7f30769c216bd41517d1f28160b20921f8d1c0ca Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 16 Apr 2024 13:24:34 +0100 Subject: [PATCH 09/15] fix: Ensure correct author is pulled from db This commit ensures that when there are multiple authors listed, the primary author is the one displayed rather than the sub-authors. From fa07c7af236cbdb04b760a19924699979b32639f Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 30 Apr 2024 18:26:39 +0100 Subject: [PATCH 10/15] fix: Increase how quickly Summon results load This commit increases the speed with which Summon returns results by using the BookCover Processor to create the image URL without checking the sizes of images available on the URL of the record results. --- code/web/RecordDrivers/SummonRecordDriver.php | 17 +++++++++-------- .../Summon/result-tools-horizontal.tpl | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/code/web/RecordDrivers/SummonRecordDriver.php b/code/web/RecordDrivers/SummonRecordDriver.php index bef54e93fb..a6ad49b064 100644 --- a/code/web/RecordDrivers/SummonRecordDriver.php +++ b/code/web/RecordDrivers/SummonRecordDriver.php @@ -30,14 +30,15 @@ public function getBookcoverUrl($size='large', $absolutePath = false) { }else{ $sizeInArray = 'thumbnail_l'; } - if (!empty($this->record[$sizeInArray][0])) { - $imageDimensions = getimagesize($this->record[$sizeInArray][0]); - if ($sizeInArray == 'thumbnail_m' && $imageDimensions[0] > 10) { - return $this->record[$sizeInArray][0]; - } elseif ($sizeInArray == 'thumbnail_l' && $imageDimensions[0] > 10) { - return $this->record[$sizeInArray][0]; - } - } + /**With the below code block, load time is very slightly increased, but images are returned where available, otherwise all images are generated by Summon */ + // if(!empty($this->record[$sizeInArray][0])){ + // $imagePath = $this->record[$sizeInArray][0]; + + // $imageDimensions = getImageSize($imagePath); + // if($imageDimensions[0] > 10){ + // return $imagePath; + // } + // } if ($absolutePath) { $bookCoverUrl = $configArray['Site']['url']; } else { diff --git a/code/web/interface/themes/responsive/Summon/result-tools-horizontal.tpl b/code/web/interface/themes/responsive/Summon/result-tools-horizontal.tpl index d42cae024d..2f44603abe 100644 --- a/code/web/interface/themes/responsive/Summon/result-tools-horizontal.tpl +++ b/code/web/interface/themes/responsive/Summon/result-tools-horizontal.tpl @@ -5,7 +5,7 @@ {if !empty($showMoreInfo)} {if $showMoreInfo !== false} {/if} {if $showFavorites == 1} From d8cee48df72fadb591272eed6cccc17a7283ef0f Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Fri, 3 May 2024 11:54:11 +0100 Subject: [PATCH 11/15] feat: Add ability to enable or disable Summon Book Covers This commit adds a setting in Library Systems to enable available book covers in Summon to be displayed or to use only generated covers as this impacts loading time. --- code/web/RecordDrivers/SummonRecordDriver.php | 23 +++++++++++-------- code/web/sys/DBMaintenance/summon_updates.php | 7 ++++++ code/web/sys/LibraryLocation/Library.php | 11 ++++++++- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/code/web/RecordDrivers/SummonRecordDriver.php b/code/web/RecordDrivers/SummonRecordDriver.php index a6ad49b064..63941a34d5 100644 --- a/code/web/RecordDrivers/SummonRecordDriver.php +++ b/code/web/RecordDrivers/SummonRecordDriver.php @@ -24,21 +24,26 @@ public function isValid() { } public function getBookcoverUrl($size='large', $absolutePath = false) { + // require_once ROOT_DIR . '/sys/LibraryLocation/Library.php'; + global $library; + global $configArray; if ($size == 'small' || $size == 'medium'){ $sizeInArray = 'thumbnail_m'; }else{ $sizeInArray = 'thumbnail_l'; } - /**With the below code block, load time is very slightly increased, but images are returned where available, otherwise all images are generated by Summon */ - // if(!empty($this->record[$sizeInArray][0])){ - // $imagePath = $this->record[$sizeInArray][0]; - - // $imageDimensions = getImageSize($imagePath); - // if($imageDimensions[0] > 10){ - // return $imagePath; - // } - // } + + if ($library->showAvailableCoversInSummon) { + if(!empty($this->record[$sizeInArray][0])){ + $imagePath = $this->record[$sizeInArray][0]; + + $imageDimensions = getImageSize($imagePath); + if($imageDimensions[0] > 10){ + return $imagePath; + } + } + } if ($absolutePath) { $bookCoverUrl = $configArray['Site']['url']; } else { diff --git a/code/web/sys/DBMaintenance/summon_updates.php b/code/web/sys/DBMaintenance/summon_updates.php index 18dd4db7ba..8cc0a64e4c 100644 --- a/code/web/sys/DBMaintenance/summon_updates.php +++ b/code/web/sys/DBMaintenance/summon_updates.php @@ -84,5 +84,12 @@ function getSummonUpdates() { 'ALTER TABLE library ADD COLUMN summonApiPassword VARCHAR(50)', ], ], + 'add_book_cover_display_control_in_library_settings' => [ + 'title' => 'Display Available Book Covers in Summon', + 'description' => 'Whether to display available book covers in Summon Searcher', + 'sql' => [ + "ALTER TABLE library ADD COLUMN showAvailableCoversInSummon TINYINT(1) DEFAULT 0", + ], + ], ]; } \ No newline at end of file diff --git a/code/web/sys/LibraryLocation/Library.php b/code/web/sys/LibraryLocation/Library.php index d55b451d3d..8588eb122c 100644 --- a/code/web/sys/LibraryLocation/Library.php +++ b/code/web/sys/LibraryLocation/Library.php @@ -357,6 +357,7 @@ class Library extends DataObject { //Summon Settings public $summonSettingsId; + public $showAvailableCoversInSummon; //SSO public /** @noinspection PhpUnused */ @@ -3703,7 +3704,6 @@ static function getObjectStructure($context = ''): array { 'label' => 'Summon', 'hideInLists' => true, 'renderAsHeading' => true, - // 'permissions' => ['A'], 'properties' => [ 'summonSettingsId' => [ 'property' => 'summonSettingsId', @@ -3714,6 +3714,14 @@ static function getObjectStructure($context = ''): array { 'hideInLists' => true, 'default' => -1, ], + 'showAvailableCoversInSummon' => [ + 'property' => 'showAvailableCoversInSummon', + 'type' => 'checkbox', + 'label' => 'Show Available Covers in Summon', + 'description' => 'Determine whether or not available book covers should be displayed in Summon', + 'hideInLists' => true, + 'default' => 0, + ], ], ], @@ -4951,6 +4959,7 @@ public function getApiInfo(): array { 'passwordLabel' => $this->loginFormPasswordLabel ?? 'Library Card Number', 'code' => $this->ilsCode, 'finePaymentType' => (int)$this->finePaymentType, + 'showAvailableCoversInSummon' => $this->showAvailableCoversInSummon, ]; if (empty($this->baseUrl)) { $apiInfo['baseUrl'] = $configArray['Site']['url']; From 4df5fb07af3f51b9ac766fac3033f9521f6f49f5 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 14 May 2024 09:43:44 +0100 Subject: [PATCH 12/15] chore: updating to 24.06.00 This commit moves database changes to 24.06.00 and updates the correct MD file. --- code/web/release_notes/24.06.00.MD | 10 ++++++++++ .../DBMaintenance/version_updates/24.06.00.php | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/code/web/release_notes/24.06.00.MD b/code/web/release_notes/24.06.00.MD index eb8ccde24a..a3ca81a02d 100644 --- a/code/web/release_notes/24.06.00.MD +++ b/code/web/release_notes/24.06.00.MD @@ -2,6 +2,12 @@ ## Aspen Discovery Updates //mark + +//alexander +### Summon Updates +- Added control over whether images avaialble from the API are used in a Summon Search or whether Aspen created covers only should be used - impacts load speed. (*AB*) +- Limited Summon Search results to those within each libraries subscription. (*AB / JO*) +- Added limit filters for Summon Search - search by whether record is scholarly and whether it is peer reviewed. (*AB / JO*) ### Koha Updates - When a user has opted out of auto-renewal, do not show auto-renewal message even if the title is otherwise eligible for auto-renewal. (Ticket 131789) (*MDN*) @@ -21,3 +27,7 @@ - Mark Noble (MDN) - Kirstin Kroeger - Kodi Lein (KL) + +- PTFS Europe + - Alexander Blanchard (AB) + - Jacob O'Mara (JO) diff --git a/code/web/sys/DBMaintenance/version_updates/24.06.00.php b/code/web/sys/DBMaintenance/version_updates/24.06.00.php index 810df2c591..090933ec96 100644 --- a/code/web/sys/DBMaintenance/version_updates/24.06.00.php +++ b/code/web/sys/DBMaintenance/version_updates/24.06.00.php @@ -20,6 +20,23 @@ function getUpdates24_06_00(): array { //other + //alexander - PTFS Europe + 'summon_ip_addresses' => [ + 'title' => 'Summon IP address configuration', + 'description' => 'Allow configuration of which IP addresses should automatically authenticate with Summon', + 'continueOnError' => true, + 'sql' => [ + 'ALTER TABLE ip_lookup ADD COLUMN authenticatedForSummon TINYINT DEFAULT 0', + ] + ], //summon authentication + 'explore_more_section_control' => [ + 'title' => 'Explore More Section Control', + 'description' => 'Allow control over whether the Explore More Section is displayed', + 'sql' => [ + "ALTER TABLE layout_settings ADD COLUMN showExploreMoreOptions TINYINT DEFAULT '1'", + ] + ],//control_whether_the_explore_more_box_is_displayed + ]; } \ No newline at end of file From cf458e3e1098f7335b5ff7b319c5636caabf0001 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 21 May 2024 18:22:08 +0100 Subject: [PATCH 13/15] refactor: completed changes to md file --- code/web/release_notes/24.06.00.MD | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/web/release_notes/24.06.00.MD b/code/web/release_notes/24.06.00.MD index a3ca81a02d..be24d769ff 100644 --- a/code/web/release_notes/24.06.00.MD +++ b/code/web/release_notes/24.06.00.MD @@ -21,6 +21,22 @@ //other +//alexander +### New Settings +- Added control over whether images available from the API are used in a Summon Search or whether Aspen created covers only should be used - impacts loas speed. Primary Configuration > Library Systems. (*AB*) + +//morgan +- Added new Documentation links to several settings pages (*MKD*) +- Updates to default user roles: removed testing roles and a couple uncommonly used roles; updated role titles (*MKD*) + +//alexander +### New Settings +- Added option for Explore More bar to be hidden. Theme & Layout > Layout Settings. (*AB*) +- Added control over whether images available from the API are used in a Summon Search or whether Aspen created covers only should be used - impacts loas speed. Primary Configuration > Library Systems. (*AB*) + +### Summon Updates +- Limited Summon Search results to those within the library's own subscription. (*AB / JO*) +- Added limit filters for Summon Search - search by whether record is scholarly and whether it is peer reviewed. (*AB / JO*) ## This release includes code contributions from - ByWater Solutions From 3e55f22fd1dd387095608a86588cd5a861eeceb3 Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 21 May 2024 22:16:15 +0100 Subject: [PATCH 14/15] refactor: remove unnecessary zone identifier file --- .../themes/responsive/images/summon.png:Zone.Identifier | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 code/web/interface/themes/responsive/images/summon.png:Zone.Identifier diff --git a/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier b/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier deleted file mode 100644 index 5bfebe3650..0000000000 --- a/code/web/interface/themes/responsive/images/summon.png:Zone.Identifier +++ /dev/null @@ -1,4 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=https://www.google.com/ -HostUrl=https://files.mtstatic.com/site_11811/55152/0?Expires=1708452791&Signature=O-eIysOYl-1drJTT2f6LTnuDXMhKycAnvuWBQT53Y5WC-uFeYwIE744-kFoVgc-gDsc1ODNBFX1G09SEdxs6NAzaBLFM1c9V0Xq3GZiKsUMivxIQC8YNpa9VHLWM0KE-snOgnMcGuuzuqvpFNAZA5J7FNpYuE~F2eWzOKKYIdhw_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA From e297d9251ed391102123ebf437323ac03527cc2c Mon Sep 17 00:00:00 2001 From: Alexander Blanchard Date: Tue, 28 May 2024 10:55:00 +0100 Subject: [PATCH 15/15] refactor: remove changes to md file regarding hide explore more section --- code/web/release_notes/24.06.00.MD | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/web/release_notes/24.06.00.MD b/code/web/release_notes/24.06.00.MD index be24d769ff..ceb3fb54ac 100644 --- a/code/web/release_notes/24.06.00.MD +++ b/code/web/release_notes/24.06.00.MD @@ -21,9 +21,6 @@ //other -//alexander -### New Settings -- Added control over whether images available from the API are used in a Summon Search or whether Aspen created covers only should be used - impacts loas speed. Primary Configuration > Library Systems. (*AB*) //morgan - Added new Documentation links to several settings pages (*MKD*) @@ -31,7 +28,6 @@ //alexander ### New Settings -- Added option for Explore More bar to be hidden. Theme & Layout > Layout Settings. (*AB*) - Added control over whether images available from the API are used in a Summon Search or whether Aspen created covers only should be used - impacts loas speed. Primary Configuration > Library Systems. (*AB*) ### Summon Updates