Koha-clms/Koha
Pedro Amorim ee4db6d763
Bug 34587: Improve title uniqueness rules
Improve robustness of unique matching here, to make sure we always match for same title if the case,

Some report rows may correspond to the same title as the previous row but have an empty match field, or alternatively come with a filled match field (e.g. DOI or Print_ISSN in TR_J4. Because of this we only verify a uniqueness match field if both current row and previous have it non-empty, otherwise we keep checking the remaining uniqueness match fields.

Example of this use-case, COUNTER report:
title    | publisher | platform  | Proprietary_ID | Print_ISSN | DOI     | YOP  | usages
examplet | examplep  | examplepl | 1              | 123        |        | 2020 | usages
examplet | examplep  | examplepl | 1              | 123        |someDOI | 2021 | usages

The above 2 rows is the same title, same publisher, same proprietary_id,
same Print_ISSN, etc. It just so happens that one was returned by SUSHI
with DOI and the other wasnt.
These 2 rows correspond to different usage statistics by YOP, not 2
different usage_titles

Signed-off-by: Jessica Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-31 16:46:27 -03:00
..
Account Bug 16223: Tidy 2023-10-11 12:13:12 -03:00
Acquisition Bug 29523: (QA follow-up) Catch remaining SUPER::to_api cases 2023-10-27 16:40:42 -03:00
App
…
ArticleRequest
…
Auth Bug 30843: Add mfa_range configuration option for TOTP 2023-09-25 10:53:51 -03:00
Authority
…
BackgroundJob Bug 34587: Improve SUSHI COUNTER error handling 2023-10-31 16:46:25 -03:00
Biblio Bug 34828: Make normalized_oclc use Koha::Biblio::Metadata::Extractor 2023-10-09 16:41:32 -03:00
Cache Bug 29623: (QA follow-up) Add POD to Koha::Cache::Lite 2022-06-14 08:26:59 -03:00
Cash Bug 27779: Group payouts by type of debit they're applied against 2022-08-08 13:37:25 -03:00
Charges
…
Checkouts Bug 33362: Allow return claims to be resolved even if the issue has since been delete from the database 2023-05-24 11:21:31 -03:00
Club Bug 29523: (QA follow-up) Fix failing test in club holds 2023-10-27 16:40:43 -03:00
CodeList/Unimarc Bug 30941: (QA follow-up) Only export what is needed 2022-08-19 11:00:42 -03:00
Config Bug 32478: Remove Koha::Config::SysPref->find since bypasses cache 2023-06-07 15:25:18 -03:00
Course
…
Database Bug 32312: Add missing column descriptions to the statistics table 2023-10-30 09:02:17 -03:00
ERM Bug 34587: Improve title uniqueness rules 2023-10-31 16:46:27 -03:00
Edifact Bug 35173: Correctly concat error strings 2023-10-27 16:54:30 -03:00
Exceptions Bug 34587: Move everything into a ERM/EUsage subfolder 2023-10-31 16:46:18 -03:00
Exporter Bug 25503: Make _get_biblio_for_export test pass 2023-05-10 15:26:19 -03:00
ExternalContent Bug 33697: Remove RecordedBooks (rbdigital) integration 2023-06-05 15:36:11 -03:00
Filter/MARC Bug 32464: Koha::Item->as_marc_field obsolete option mss 2023-06-06 15:40:15 -03:00
Hold Bug 28966: (QA follow-up) Changes for Koha objects 2023-07-25 16:25:39 -03:00
Illrequest Bug 34842: Fix Illrequest/Config.t if DB upgraded twice 2023-10-03 08:51:12 -04:00
Import Bug 32437: (QA follow-up) Change to replace POD 2023-03-31 13:13:28 +02:00
Indexer
…
Item Bug 33739: Only trigger indexing on last item modification at ModItemTransfer 2023-05-16 11:26:06 +02:00
Library Bug 32894: Remove wrong caching from Koha:: methods - simple 2023-06-07 16:44:03 -03:00
List
…
MetadataRecord
…
Middleware Bug 33967: Fix SetEnv middleware to preserve $env integrity 2023-06-09 08:50:12 -03:00
Misc
…
Notice Bug 33843: Use filter_by_last_update in Koha::Notice::Util 2023-10-11 10:31:45 -03:00
Number
…
OAI/Server Bug 34467: OAI GetRecord bad encoding for Unimarc 2023-10-09 16:41:29 -03:00
Object Bug 32894: Remove wrong caching from Koha:: methods - simple 2023-06-07 16:44:03 -03:00
Objects Bug 32735: (follow-up) Make Koha::Objects::Record::Collections->print_collection work with Authorities and Biblios 2023-05-05 12:13:50 -03:00
Old Bug 34609: Add biblio method to Old::Hold 2023-09-01 11:07:35 -03:00
Patron Bug 31503: (follow-up) Use KohaPlugins.feature_enabled 2023-10-25 10:35:23 -03:00
Patrons Bug 34883: Stop patron expiry date being set to NULL during import 2023-10-10 09:22:33 -03:00
Plugins Bug 29672: Clear cache of enabled plugins when a plugin's state change 2022-11-03 11:28:16 -03:00
Policy Bug 30825: Move holds_control_library to Koha::Policy::Holds 2023-09-22 12:35:46 -03:00
Preservation Bug 33547: (QA follow-up) Tidy 2023-10-23 11:33:53 -03:00
REST Bug 34587: Improve SUSHI COUNTER error handling 2023-10-31 16:46:25 -03:00
RecordProcessor
…
Result
…
SMS
…
SMTP Bug 29523: (QA follow-up) Catch remaining SUPER::to_api cases 2023-10-27 16:40:42 -03:00
Schema Bug 34587: Add proprietary_id and platform to erm_usage_titles 2023-10-31 16:46:26 -03:00
SearchEngine Bug 27153: Add filter option to Elasticsearch indexing 2023-10-24 15:44:34 -03:00
Serial
…
Sitemapper Bug 33870: Make $MAX in Sitemapper::Writer global 2023-09-01 11:23:23 -03:00
Subscription
…
SuggestionEngine Bug 31069: Remove ExplodedTerms dependency on templates 2022-07-18 12:37:35 -03:00
Tags
…
Template/Plugin Bug 31503: (follow-up) Add 'feature_enabled' to Koha::Plugins 2023-10-25 10:35:22 -03:00
Ticket Bug 31028: Add catalog concern management page to staff 2023-03-06 11:23:17 -03:00
UI Bug 34266: Default to biblioitems.itemtype only if it's a valid itemtype 2023-09-01 12:08:35 -03:00
Util Bug 30678: (follow-up) Add oclc_number routine and friends 2022-07-22 14:58:11 -03:00
XSLT Bug 12758: Add new module call in Koha::XSLT::Base 2022-11-09 09:52:25 -03:00
Z3950Responder Bug 24295: Remove GetTransfer from Z3950Responder 2022-08-26 15:42:07 -03:00
pdfformat Bug 33340: Correct formatting of English 1-page order PDF when it covers multiple pages 2023-05-16 15:17:28 -03:00
Account.pm Bug 16223: (QA follow-up) Move trigger to apply 2023-10-11 12:13:08 -03:00
ActionLog.pm
…
ActionLogs.pm
…
AdditionalContent.pm Bug 31383: Create a parent-child DB relation for additional content 2023-10-20 14:43:56 -03:00
AdditionalContents.pm Bug 31383: Use one query in search_for_display instead of four 2023-10-20 14:44:02 -03:00
AdditionalContentsLocalization.pm Bug 31383: (QA follow-up) Tidy 2023-10-20 14:44:03 -03:00
AdditionalContentsLocalizations.pm Bug 31383: Create a parent-child DB relation for additional content 2023-10-20 14:43:56 -03:00
AdditionalField.pm Bug 11844: Fix QA issues (POD, TT filters, file exec flag) 2023-05-16 12:58:38 +02:00
AdditionalFieldValue.pm
…
AdditionalFieldValues.pm
…
AdditionalFields.pm
…
AdvancedEditorMacro.pm
…
AdvancedEditorMacros.pm
…
ApiKey.pm
…
ApiKeys.pm
…
ArticleRequest.pm Bug 35030: Add 'article' to patron activity triggers 2023-10-24 10:05:26 -03:00
ArticleRequests.pm
…
AudioAlert.pm
…
AudioAlerts.pm
…
AuthUtils.pm Bug 33341: Address some perlcritic errors in 5.36 2023-03-28 14:50:33 +02:00
AuthorisedValue.pm Bug 30920: (follow-up) Flush on delete 2023-03-13 15:11:44 -03:00
AuthorisedValueCategories.pm
…
AuthorisedValueCategory.pm Bug 32997: Add REST API endpoint to list authorised values for multiple given categories 2023-03-02 12:00:15 -03:00
AuthorisedValues.pm Bug 34051: Cache empty hashref for non-existent authorised values 2023-06-21 13:20:31 -03:00
Authorities.pm Bug 33083: Add a generic class to handle methods for collections of records 2023-03-13 15:11:59 -03:00
Authority.pm Bug 33996: (QA follow-up) Fix mappings to match guidelines 2023-06-29 11:11:13 -03:00
BackgroundJob.pm Bug 34587: SUSHI COUNTER Harvester 2023-10-31 16:45:58 -03:00
BackgroundJobs.pm Bug 31969: Use filter_by_last_update 2022-11-25 09:40:09 -03:00
Biblio.pm Bug 29523: (QA follow-up) Catch remaining SUPER::to_api cases 2023-10-27 16:40:42 -03:00
BiblioFramework.pm
…
BiblioFrameworks.pm
…
BiblioUtils.pm Bug 29697: Don't crash ES reindex if a record is wrong 2022-07-22 15:24:12 -03:00
Biblioitem.pm Bug 32711: Add 'public_read_list' appropriately 2023-07-24 13:58:25 -03:00
Biblioitems.pm
…
Biblios.pm Bug 33974: (follow-up) biblionumber column needs special handling 2023-07-03 14:51:46 -03:00
Cache.pm
…
Caches.pm
…
Calendar.pm Bug 27249: Prevent infinite loop when searching for an open day 2023-10-17 14:45:31 -03:00
Checkout.pm Bug 34924: Handle final renewal errors 2023-10-31 11:02:47 -03:00
Checkouts.pm Bug 33887: (QA follow-up) Perltidy and fix some formatting issues 2023-10-25 12:09:53 -03:00
CirculationRule.pm Bug 32894: Remove wrong caching from Koha:: methods - simple 2023-06-07 16:44:03 -03:00
CirculationRules.pm Bug 25393: Add new noautorenewalbefore circulation rule 2023-10-20 16:31:17 -03:00
Cities.pm
…
City.pm
…
ClassSortRule.pm
…
ClassSortRules.pm
…
ClassSource.pm Bug 30920: (follow-up) Flush on delete 2023-03-13 15:11:44 -03:00
ClassSources.pm
…
ClassSplitRule.pm
…
ClassSplitRules.pm
…
Club.pm
…
Clubs.pm
…
Config.pm Bug 31393: Koha::Config: handle the special case for 'content' attribute 2023-10-30 09:02:17 -03:00
CookieManager.pm Bug 31250: (QA follow-up) The future will be easier 2022-09-12 15:34:11 -03:00
Course.pm
…
Courses.pm
…
CoverImage.pm
…
CoverImages.pm
…
CsvProfile.pm
…
CsvProfiles.pm
…
CurbsidePickup.pm Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
CurbsidePickupIssue.pm Bug 30650: Add some useful modules and tests 2022-07-29 14:59:57 -03:00
CurbsidePickupIssues.pm Bug 30650: Add some useful modules and tests 2022-07-29 14:59:57 -03:00
CurbsidePickupOpeningSlot.pm Bug 30650: Add some useful modules and tests 2022-07-29 14:59:57 -03:00
CurbsidePickupOpeningSlots.pm Bug 30650: Add some useful modules and tests 2022-07-29 14:59:57 -03:00
CurbsidePickupPolicies.pm Bug 30650: Add some useful modules and tests 2022-07-29 14:59:57 -03:00
CurbsidePickupPolicy.pm Bug 32891: Fix slot selection in last hour 2023-02-21 10:22:28 -03:00
CurbsidePickups.pm Bug 30650: Add filter_by_scheduled_today 2022-07-29 15:00:47 -03:00
Database.pm
…
DateUtils.pm Bug 33611: Ensure dt_from_string always returns a new object 2023-05-09 10:58:04 -03:00
Desk.pm
…
Desks.pm
…
EDI.pm Bug 28672: (QA follow-up) Method calls cannot be interpolated directly 2023-02-07 15:39:31 -03:00
Edifact.pm
…
Email.pm Bug 12532: (QA follow-up) Undo changes to Koha::Email 2023-10-10 09:58:47 -03:00
Encryption.pm Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-07 15:25:18 -03:00
Exception.pm
…
Exceptions.pm Bug 17499: Add Koha-objects for messaging preferences 2023-09-12 10:16:06 -03:00
ExternalContent.pm
…
FrameworkPlugin.pm
…
Hold.pm Bug 31692: Tidy and rebase fix 2023-10-10 09:58:59 -03:00
Holds.pm Bug 32529: Add Koha::Holds->filter_by_found 2023-01-05 09:21:10 -03:00
I18N.pm Bug 30941: Add cataloguing plugins for 146$bcdef (UNIMARC) 2022-08-19 08:55:09 -03:00
Illbackend.pm Bug 34223: (follow-up) Ensure consistent ordering of statuses 2023-09-12 09:48:32 -03:00
Illbatch.pm Bug 30719: Remove unused Koha::Illbatch->requests_count method 2023-10-17 14:45:24 -03:00
IllbatchStatus.pm Bug 30719: (QA follow-up) Updating remaining naming 2023-10-17 14:45:23 -03:00
IllbatchStatuses.pm Bug 30719: ILL Batch Statuses 2023-10-17 14:45:16 -03:00
Illbatches.pm Bug 30719: ILL Batches 2023-10-17 14:45:15 -03:00
Illcomment.pm
…
Illcomments.pm
…
Illrequest.pm Bug 35105: Fix patron accessor in Illrequest.pm 2023-10-19 16:00:50 -03:00
Illrequestattribute.pm Bug 33970: Compatability schim 2023-10-25 12:09:47 -03:00
Illrequestattributes.pm Bug 22440: New ILL requests table 2023-05-05 09:13:41 -03:00
Illrequests.pm Bug 22440: Add Koha::Illrequests->filter_by_visible 2023-05-05 09:13:40 -03:00
ImportBatch.pm
…
ImportBatchProfile.pm
…
ImportBatchProfiles.pm
…
ImportBatches.pm
…
Item.pm Bug 35167: Make 'effective_not_for_loan_status' fallback to 0 if itype has it undef 2023-10-27 16:44:05 -03:00
ItemType.pm Bug 34357: Replace SUPER->imageurl in ItemTypes 2023-08-15 12:16:48 +03:00
ItemTypes.pm
…
Items.pm Bug 32019: (follow-up) Fix terminology and styling 2023-02-20 09:54:20 -03:00
KeyboardShortcut.pm
…
KeyboardShortcuts.pm
…
Libraries.pm
…
Library.pm Bug 32721: (QA follow-up) Drop fields from API response 2023-10-19 16:00:56 -03:00
Linktracker.pm
…
Localization.pm Bug 30920: (follow-up) Flush on delete 2023-03-13 15:11:44 -03:00
Localizations.pm
…
Logger.pm Bug 33020: (QA follow-up) POD and chmod 2023-02-27 11:33:50 -03:00
Manual.pm Bug 33790: Fix and add various links to the manual 2023-07-07 09:18:06 -03:00
MarcOverlayRule.pm
…
MarcOverlayRules.pm
…
MarcSubfieldStructure.pm
…
MarcSubfieldStructures.pm
…
MetaSearcher.pm Bug 30813: (QA follow-up) Adjust three use statements 2022-06-08 11:40:32 -03:00
MetadataIterator.pm
…
MetadataRecord.pm Bug 30358: Strip leading/trailing whitespace characters from input fields when cataloguing 2023-05-16 15:17:26 -03:00
MoreUtils.pm
…
OAuth.pm
…
OAuthAccessToken.pm
…
OAuthAccessTokens.pm
…
Object.pm Bug 29523: Add redaction for inaccessible objects 2023-10-27 16:40:46 -03:00
Objects.pm Bug 29523: Remove no longer required methods 2023-10-27 16:40:45 -03:00
OverdueRule.pm Bug 29145: (QA follow-up) Use objects instead of straight SQL queries 2023-10-03 09:24:41 -04:00
OverdueRules.pm Bug 29145: (QA follow-up) Use objects instead of straight SQL queries 2023-10-03 09:24:41 -04:00
Patron.pm Bug 29523: Add redaction for inaccessible objects 2023-10-27 16:40:46 -03:00
Patrons.pm Bug 33837: Replace days_inclusive by min_days 2023-10-11 10:31:44 -03:00
Plugins.pm Bug 31503: (follow-up) Add 'feature_enabled' to Koha::Plugins 2023-10-25 10:35:22 -03:00
ProblemReport.pm
…
ProblemReports.pm
…
PseudonymizedTransaction.pm
…
PseudonymizedTransactions.pm
…
Quote.pm
…
Quotes.pm
…
Rating.pm
…
Ratings.pm
…
Recall.pm Bug 32496: Reduce unnecessary unblessings of objects in Circulation.pm 2023-09-22 10:52:39 -03:00
Recalls.pm Bug 31147: Recalls should not adjust due time for related checkouts 2023-07-13 15:19:31 -03:00
RecordProcessor.pm
…
Report.pm Bug 27824: Trim column headers 2023-07-13 15:19:33 -03:00
Reports.pm
…
Review.pm
…
Reviews.pm
…
Schema.pm
…
Script.pm
…
SearchEngine.pm
…
SearchField.pm
…
SearchFields.pm
…
SearchFilter.pm Bug 17170: (QA follow-up) Spec cleanup 2022-10-21 11:15:22 -03:00
SearchFilters.pm Bug 17170: DB Updates 2022-10-21 11:15:13 -03:00
SearchMarcMap.pm
…
SearchMarcMaps.pm
…
Serial.pm
…
Serials.pm
…
SharedContent.pm
…
SimpleMARC.pm Bug 31644: Check if subfield defined, not for truth 2022-10-24 11:53:18 -03:00
Sitemapper.pm Bug 33871: Use Koha object in Sitemapper, add optional filter 2023-09-01 11:23:25 -03:00
Statistic.pm Bug 33608: (QA follow-up) Remove ->insert method 2023-10-25 11:07:59 -03:00
Statistics.pm
…
StockRotationItem.pm
…
StockRotationItems.pm
…
StockRotationRota.pm
…
StockRotationRotas.pm
…
StockRotationStage.pm
…
StockRotationStages.pm
…
Subscription.pm
…
Subscriptions.pm
…
Suggestion.pm Bug 32942: (follow-up) Restore missing statuses 2023-09-19 15:51:40 -03:00
SuggestionEngine.pm
…
Suggestions.pm Bug 33238: Fix bad suggestions query (Bug 29886 follow-up) 2023-04-17 09:39:43 -03:00
Tag.pm
…
Tags.pm
…
TemplateUtils.pm Bug 33030: Add standardized subroutine for processing Template Toolkit syntax outside of notices 2023-07-14 16:52:05 -03:00
Ticket.pm Bug 34731: Don't call SendQueuedMessages if message_id is bad 2023-09-12 09:44:59 -03:00
Tickets.pm Bug 31028: Add new Koha::Object(s) classes 2023-03-06 11:23:17 -03:00
Token.pm Bug 34163: Handle both anonymous userenv when generating CSRF tokens 2023-09-12 09:45:01 -03:00
TrackedLink.pm
…
TrackedLinks.pm
…
UploadedFile.pm
…
UploadedFiles.pm
…
Uploader.pm
…
Virtualshelf.pm Bug 32894: Remove wrong caching from Koha:: methods - simple 2023-06-07 16:44:03 -03:00
Virtualshelfcontent.pm
…
Virtualshelfcontents.pm
…
Virtualshelfshare.pm Bug 32894: Make ->sharee looks like others 2023-06-07 16:44:05 -03:00
Virtualshelfshares.pm
…
Virtualshelves.pm Bug 30418: Add ability for permitted staff to edit list contents 2023-05-15 18:23:57 -03:00
Z3950Responder.pm
…
Z3950Server.pm
…
Z3950Servers.pm
…