Issues
- Improve solution that will refresh Instances when default mapping rules have changedUXPROD-3969Resolved issue: UXPROD-3969Ryan Taylor
- Item record. Change the position of the display of Shelving orderUIIN-2166
- Inventory App: Consume {{FormattedDate}} and {{FormattedTime}} via stripes-componentUIIN-1273Resolved issue: UIIN-1273Mariia Aloshyna
- Field mapping profile Settings: suppress checkboxes and checkbox actionsUIDATIMP-1498Resolved issue: UIDATIMP-1498Oleksandr Hladchenko
- Action profile Settings: suppress checkboxes and checkbox actionsUIDATIMP-1497Resolved issue: UIDATIMP-1497Oleksandr Hladchenko
- Match profile Settings: suppress checkboxes and checkbox actionsUIDATIMP-1496Resolved issue: UIDATIMP-1496Oleksandr Hladchenko
- Job profile Settings: suppress checkboxes and checkbox actionsUIDATIMP-1495Resolved issue: UIDATIMP-1495Oleksandr Hladchenko
- replace stripes-logger with categorical-loggerSTRIPES-762
- SPIKE: Investigate why chunks continue processing after DI job is completedMODSOURMAN-982Resolved issue: MODSOURMAN-982
- Improve mechanism for determining job execution status after Kafka TimeoutException.MODSOURMAN-922Aliaksandr Fedasiuk
- Update log JSON error message when multiple matches found: SRSMODSOURCE-625
- rawRecord not returned in response to queries to /source-storage/source-recordsMODSOURCE-506Resolved issue: MODSOURCE-506Yaroslav Kiriak
- Create unatomic batch for itemsMODINVSTOR-1060
- Create unatomic batch for holdingsMODINVSTOR-1059
- Support batch import for multiple items creationMODINV-806
- Support batch import for multiple holdings creationMODINV-805
- Update log JSON error message when multiple matches found: InventoryMODINV-799
- Remove redundant RequiredFields enumMODDICORE-314Resolved issue: MODDICORE-314Maksat Galymzhan
- Add migration script for profiles with mapping for required subfieldsMODDICONV-297Resolved issue: MODDICONV-297Maksat Galymzhan
- The alert modal with error message is displayed on page after entering '##*' characters and clicking on the 'Search' buttonMODDICONV-250Resolved issue: MODDICONV-250
- Add sources to DI packagesMODDATAIMP-745
Improve solution that will refresh Instances when default mapping rules have changed
Description
Priority
Fix versions
Development Team
Assignee
Solution Architect
Parent Field Value
Parent Status
defines
has to be done after
is defined by
relates to
Confluence content
Checklist
hideTestRail: Results
Details
Reporter
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)PO Rank
125Front End Estimate
Out of scopeBack End Estimate
XXL < 30 daysBack End Estimator
Olamide KolawoleOlamide KolawoleBack-End Confidence factor
30%Release
Ramsons (R2 2024)Rank: Cornell (Full Sum 2021)
R3TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Reporter
PO Rank
Front End Estimate
Back End Estimate
Back End Estimator
Back-End Confidence factor
Release
Rank: Cornell (Full Sum 2021)
TestRail: Cases
TestRail: Runs
Activity
Kateryna SenchenkoJune 27, 2024 at 10:33 AMEdited
Hi @Ryan Taylor, I wonder if marc-migration process (re-mapping of Instances against default mapping) should also trigger the 035 normalization. It can be added, but currently that is not included in the default mapping process. Do you have any thoughts on that matter? If we add it here, we won’t need to create any additional scripts (at least for Instances https://folio-org.atlassian.net/browse/MODINVSTOR-1155 ) and will expect on normalization to be completed as part of re-mapping. Although, in that case, original MARC Bibs will still contain 035 fields that are not normalized.
Kateryna SenchenkoJune 10, 2024 at 10:10 AM
Discussed with Spitfire the approach that was implemented to re-map Authority records and outlined ways to extend the existing solution for re-mapping Instance records. Draft stories are created under this feature and are ready for Folijet further refinement.
CC: @Olamide Kolawole, @Ryan Taylor
Khalilah GambrellMay 17, 2024 at 12:43 PM
Need to confirm that this implementation will support default/custom mapping rules updates.
Khalilah GambrellMarch 30, 2024 at 5:05 PMEdited
Hey @Shelley Doljack - what is outlined in the feature is not what will be implemented. The implementation will not use data import and will leverage what is being implemented to support authorities when authority mapping rules change. This implementation for authorities is in progress and will complete for Ramsons.
Shelley DoljackMarch 28, 2024 at 6:02 PMEdited
Why not make this an async migration job instead? It doesn’t seem practical to use data import when needing to refresh 10 million+ instance records.
Review the Spitfire app that batch updates MARC Authority records based on default mapping updates: FOLIO-3659
Start with Spike FOLIO-3681 to assess the work to develop and test, and create the required stories
Would replace script 3 on https://folio-org.atlassian.net/wiki/display/FOLIOtips/Scripts+for+Inventory%2C+Source+Record+Storage%2C+and+Data+Import+Cleanup, which works, but is too time-consuming
Tenant could run the script to adjust Instances whenever the default MARC Bib-to-Inventory Instance mapping rules are updated. We could test it on Bugfest, since many istances have data that diverges from current BF default mappings.
Approach
Create a java app that has to do the update work:
1. Create data-import job profile for MARC-to-MARC matching by 999ff$s subfield and update bibliographic record. Job/Match/Action/Mapping profiles will be hidden
Job Profile: Release Upgrade - Migrate MARC bibliographic records
Action Profile: Release Upgrade - Migrate MARC bibliographic records
Match Profile: Release Upgrade - Migrate MARC bibliographic records
Mapping Profile: Release Upgrade - Migrate MARC bibliographic records
2. Load bibliographic records by pages of 50k (should be configurable) from SRS (GET /source-storage/records?recordType=MARC_BIB&state=ACTUAL&offset=<P>&limit=<N>
3. Verify that createdDate & updatedDate of records are older that time of script launch (If new records was detected - update totalRecords)
4. Prepare mrc file or JSON payload (README)
5. Initialize data-import job
6. Wait until the data-import job finished (GET /change-manager/jobExecutions/<id> and check status of job)
7. Load the next page and repeat 3-6 until there are no authority records left.
8. Delete the job profile created in 1st step
9. Logging should exist to indicate N of batch that is in progress now.
Validate that a user can view Job status
job status is shown on the Data Import Logs UI
For each record update, user can view SRS/MOD-Inventory-Storage output
Documentation
Instructions must be provided to Hosting providers/System administrators for using the standalone application
Must consider that some libraries have already upgraded to Morning Glory weeks/months before this implementation.
Include a note that this should be run off-hours
Release notes for Morning Glory and Nolana should be updated and include link to Instructions
Testing - MORE details to discuss
Need a story for PTF
Need an environment(s) to test
Upgrade Lotus > Morning Glory
Work with FSE?
Upgrade Morning Glory > Nolana
Work with FSE?
Custom mapping profiles need to be accounted for in testing
Discussed 20 Feb 2023 in context of Poppy development planning:
Spitfire is testing the tool for updating MARC Authority records after mapping updates on different clients
All blame the performance of DI, but PTF env – able to run in 50K chunks, which is not performant in production; that led to stuck imports and errors in production envs; reduced chunks to 20K; now recommending 5K chunks (running sequentially); better to run in smaller chunks
Spitfire will include Kate and Olamide in future meetings about the Authority refresh
Make sure there is good documentation from Spitfire
Don’t implement for Bibs until it’s more performant; consider for Quesnelia