From 7ab056709fffcf1cddf37053115506e86838fcd9 Mon Sep 17 00:00:00 2001 From: Kodi Date: Thu, 8 Oct 2026 11:50:16 -0700 Subject: [PATCH] DIS-1199: QA Changes Submitting these changes based on David's feedback (see jira) Changes ensure orders.mrc is not processed in place of or as a full export and that the file is not deleted so it can be referenced in the record processor without issue Update release notes Tested on my local instance of Aspen, David reported also testing the main export changes on his test server --- .../reindexer/SymphonyRecordProcessor.java | 4 ++-- .../symphony/SymphonyExportMain.java | 14 +++++++++++++- code/web/release_notes/26.10.00/DIS-1199.yaml | 12 ++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 code/web/release_notes/26.10.00/DIS-1199.yaml diff --git a/code/reindexer/src/org/aspen_discovery/reindexer/SymphonyRecordProcessor.java b/code/reindexer/src/org/aspen_discovery/reindexer/SymphonyRecordProcessor.java index 91fcc2cc847..29f051b87d2 100644 --- a/code/reindexer/src/org/aspen_discovery/reindexer/SymphonyRecordProcessor.java +++ b/code/reindexer/src/org/aspen_discovery/reindexer/SymphonyRecordProcessor.java @@ -225,7 +225,7 @@ protected void loadOnOrderItems(AbstractGroupedWorkSolr groupedWork, RecordInfo loadOnOrderIds(); String recordIdentifier = recordInfo.getRecordIdentifier(); - if (onOrderIds.contains(recordIdentifier)) { + if (onOrderIds.contains(recordIdentifier) && !hasTangibleItems) { ItemInfo itemInfo = new ItemInfo(); itemInfo.setLocationCode("multi"); itemInfo.setItemIdentifier(recordIdentifier); @@ -244,7 +244,7 @@ protected void loadOnOrderItems(AbstractGroupedWorkSolr groupedWork, RecordInfo recordInfo.addItem(itemInfo); groupedWork.addPopularity(1); - if (recordInfo.getNumCopiesOnOrder() > 0 && !hasTangibleItems){ + if (recordInfo.getNumCopiesOnOrder() > 0){ groupedWork.addKeywords("On Order"); groupedWork.addKeywords("Coming Soon"); if (groupedWork.isDebugEnabled()) { diff --git a/code/symphony_export/src/com/turning_leaf_technologies/symphony/SymphonyExportMain.java b/code/symphony_export/src/com/turning_leaf_technologies/symphony/SymphonyExportMain.java index 346fcbf4d59..d26b0690e75 100644 --- a/code/symphony_export/src/com/turning_leaf_technologies/symphony/SymphonyExportMain.java +++ b/code/symphony_export/src/com/turning_leaf_technologies/symphony/SymphonyExportMain.java @@ -773,11 +773,18 @@ private static int updateRecords(Connection dbConn){ File[] exportedMarcFiles = marcExportPath.listFiles((dir, name) -> name.endsWith("mrc") || name.endsWith("marc")); ArrayList filesToProcess = new ArrayList<>(); File latestFile = null; + File ordersFile = null; long latestMarcFile = 0; boolean hasFullExportFile = false; File fullExportFile = null; if (exportedMarcFiles != null){ for (File exportedMarcFile : exportedMarcFiles) { + //orders.mrc handling, don't delete + if (exportedMarcFile.getName().equals("orders.mrc")){ + ordersFile = exportedMarcFile; + continue; + } + //Full export file handling //Remove any files that are older than the last time we processed files. if (exportedMarcFile.lastModified() / 1000 < lastUpdateFromMarc){ if (exportedMarcFile.delete()){ @@ -802,6 +809,11 @@ private static int updateRecords(Connection dbConn){ fullExportFile = latestFile; } + //Add orders.mrc to filesToProcess if we have a full export file + if (hasFullExportFile && ordersFile != null && ordersFile.length() > 0){ + filesToProcess.add(ordersFile); + } + //Get a list of marc deltas since the last marc record File marcDeltaPath = new File(marcExportPath.getParentFile() + "/marc_delta"); @@ -1130,7 +1142,7 @@ private static int updateRecordsUsingMarcExtract(ArrayList exportedMarcFil logEntry.saveResults(); } - if (!logEntry.hasErrors()) { + if (!logEntry.hasErrors() && !curBibFile.getName().equals("orders.mrc")) { // Delete the file if we did not have errors processing the file. if (!curBibFile.delete()) { logEntry.addNote("Could not delete " + curBibFile + " after processing"); diff --git a/code/web/release_notes/26.10.00/DIS-1199.yaml b/code/web/release_notes/26.10.00/DIS-1199.yaml new file mode 100644 index 00000000000..a9d135eef62 --- /dev/null +++ b/code/web/release_notes/26.10.00/DIS-1199.yaml @@ -0,0 +1,12 @@ +Jira: DIS-1199 +Type: Enhancement +Developer: Kodi Lein (KL), David Dowling (DD) +Contributing Org: Grove For Libraries +Sponsor: Prairie Lakes +GroveRelease: 26.10.00 +CommunityRelease: 26.11.00 +Component: Symphony +Description: + - Allow for on-order records without items to display for Symphony ILS +New Settings: +New Permissions: \ No newline at end of file