2024-4-24 Data Import Subgroup meeting
Recordings are posted Here (2022+) and Here (pre-2022) Slack channel for Q&A, discussion between meetings
Requirements details Here Additional discussion topics in Subgroup parking lot
Attendees: @Taylor Smith, @Jennifer Eustis, @Raegan Wiechert, @Christie Thomas, @Ryan Taylor, @Corrie Hutchinson (Unlicensed), @Yael Hod @Robert Scheier @Peter Martinez @Jeanette Kalchik @Lynne Fors @Jenn Colt @Ellis Butler
Notetaker: @Corrie Hutchinson (Unlicensed)
Links:
Agenda:
Topic | Who | Meeting Notes | Related Jira | Decisions and Actions |
|---|---|---|---|---|
Announcements: | Poppy CSP 4 is out now: https://folio-org.atlassian.net/jira/dashboards/10405 A CSP#5 is planned ; what is included and when it will be released is TBD. Request from Raegan for a presentation or data on the difference between an ECS & non-ECS environment for a variety of modules/functions.
| Ryan to talk to other POs about ECS request. | ||
Agenda Cleanup | Review of items under 'Notes from previous meetings....' section.
Question on how the agenda is determined?
Future agenda items :
| Ryan : start planning agenda items a few weeks ahead. Ryan : look into MODDICORE-386 Ryan : look into MODDATAIMP-879 | ||
Review issue reported by Christie: | all | Latest as of 4/24:
Additional aspect for Subgroup to discuss:
Previous notes from 4/3: Proposed next steps to address:
Scenario - Holdings:
Meeting notes from 4/3/2024 - @Ryan Taylor shared a MIRO diagram for processing Orders via Data Import. Q: How are multiple items created as a part of the current process? Ryan - it is dictated by the inventory import profiles. Q: What is the end scenario for when there is a job profile that is set to only create an instance and holdings. The end state would be an additional holdings and item would be created because the quantity does not match the number of items. If items are not defined should not be getting an unnecessary item created, but suspicious that an additional holdings would be created. It is thought that if the location matches what is in the profile that a second holdings / item will not be created. Need clarification on whether there will be additional holdings / items created. Q: Why does the process not respect the quantity in the order import profile? Why can the order quantity and the location quantity is not be the same? May need to look at this from a different perspective. It was noted that the business logic requires the connection of the order to Inventory at the point of creation, so it makes sense for the order to "have control" of the processing. It was also noted that the only difference between creating an order in pending vs open is that the mapping of the inventory records should come from the field mapping profiles rather than the defaults in the order import app. The Orders (ol and pol) have a certain business logic where the quantity is linked to what is in Inventory in addition to Receiving and Finance apps. Orders should be the source of truth as this would allow for this. Ryan has some questions to bring back to the dev team. How can we make it simpler? Can you start in Inventory and then create the Order and associate the inventory with the POL? Previous notes from 3/27:
What happened and how do we move forward? What is the underlying issue? This is a complex scenario where we need to drill into an architecture level. Can we document what we have that can be understood? Does it make sense for real live scenarios? In the immediate time frame, the goal is to make sure we don't get quantity zero. If it is thread and if it is bigger issue, do we have short term workarounds? At the moment, not sure how this will be addressed as there seems to a divide as to how this works. How large of a task is it to investigate and avoid issues that we're seeing for the short term? We need to talk to Dennis because location and cost quantity are tied together. What would happened if this was severed? This makes sense. There's a bigger issue that needs to be unpacked. We have the immediacy of continuing to do our work. We need an understanding of what we expect. If we order 10 copies of something, then the quantity should say 10. For an order to be open, then you have to create inventory. For an order to be in the pending state, then the Order App does the creation of the inventory records.
In discussing this issue with the Folijet team, I've learned that the described behavior is a result of requirements to help avoid Item duplicates in support of the Multiples enhancements found in Poppy. Would the following logic/scenario make sense as a possible path forward?
Discussion :
Previous notes from 3/13:
Previous notes from 2/28: When creating electronic orders are being created through data import, the electronic resource quantity is not being mapped from marc or from a default value in the mapping profile and the funds are not being encumbered. Test in Poppy CSP1 in local UChicago environment and in Poppy bugfest. See https://folio-org.atlassian.net/browse/MODDATAIMP-1010 For Stanford, Acquisition method is not mapping for Purchase. They are also not getting quantity or encumbrances. Also, order type is not mapping for Purchase when it is provided as a default in the import profile for orders. Discussion notes: No one has used the order imports in Orchid. Feedback that the quantity should come from the profile/order and not the number of items. Common scenarios where items are not going to be created. When processing orders the quantity is always controlled from the order. | https://folio-org.atlassian.net/browse/MODDATAIMP-1010 Earlier related work: | Ryan: provide link to multiple item creation instructions. |
Mark Arnold's question from 4/9/24: Error message when loading record with 710 2\$w | Original post in Slack: https://folio-project.slack.com/archives/CA39M62BZ/p1712679155100209 Error Mark posted :
| |||
Notes from previous meetings... | ||||
Review/Discuss: UXPROD-4303: Set instance/bib record for deletion | Ryan | Review and discuss feedback from initial testing of new 'Set record for deletion' action for Instances.
Set bib record for deletion is in place in snapshot. New set record for deletion action. Need a specific permission to have access to this. 9Separate from inventory All permissions. Click the action to suppress the record from discovery, staff suppress the record, and set the LDR 05 to d. New SRS property "deleted" set to true. Staff suppress will now be defaulted to No, so will not show up in search. Q: What happens to attached orders? A: Nothing right now, but Ryan will check on impact on associated records. Q: Can you do this batch with a delete file in Data Import? A: No. Just an individual, manual action to take. Step 1 of longer term plans for full deletion options. Q: Are other steps going to be continued before this becomes part of a release? A: Will be included as is in Quesnalia. Holdings and items should not be affected as part of this release. Concern: Hacving holdings and items available with the instance being deleted. Cannot imagine a situation in which you want to delete an instance and still have the holdings and item information available with a search. Also, if an item is checked out, it should block you from deleting a bib. Or on hold. Or in course reserves. Not interactive link with inventory or circulation control. Follow up Q: Would there be a script available to get this added to Instance records a library has already marked for delete? Q: What is the push this out in its partially developed state? A: Someone would use it to delete duplicate instances in the system. These things usually do not have holdings or items. Q: What would happen if a deleted record was matched and updated as a part of a data import? A: Believe that these records are not discoverable via data import matching and updates, but will check on that. Q: How do holdings and items show up in search if the instance is not available in the search? A: notetaker is unclear of the answer to this question Q: Can you reverse this process or undelete things? A: Manually edit the instance to undo the suppression, but cannot edit the marc once it has been set to deletion. Triggered by the status to deletion. Question about whether we need to revisit this. This functionality should be robustly described in the documentation so users fully understand the implications of deleting something. Suggestion: The warning toast should be delete rather than just suppressed from discovery and staff suppressed because there are implications like not being able to edit the srs marc Suggestion to postpone until Ramsons. | ||
MARC Modification Testing | Jennifer Eustis | Link to spreadsheet:
| ||
Bug Review: MODDATAIMP-897 - Adding MARC modifications to single record overlay doesn't respect field protections
| Ryan/Jennifer/All | A number of issues were seen with doing updates. It seems there might be regressions along with functionality that doesn't work: On Create:
On Update:
Logs:
If all this work is being done, should we create jiras for all the ways in which marc modifications don't work? Should we create jiras for modifications that worked in orchid and that no longer work in poppy? It makes sense to create jiras for things that were working that aren't working in Poppy. Let's hold off on what marc modifications should work until we get the developers' findings. Previous notes from 2/22 and 2/14: Discussion notes: Last week, the DI lab started a spreadsheet to track this functionality. The group is still working on this and expects to at the 2/22 meeting. RT: How are the protections working and how are they expected to work? Example from @Jennifer Eustis: Use Case: Export, Transform, Load. Import profile includes a marc modification to delete fields, such Matches on 999 ff $i. Ideal to have a marc modification to remove unwanted marc fields: 029, 983, etc. Then a match on instance and update of instance. Marc modification at the end of the record results in marc modification. See screenshot of profile. Comments that marc modifications was implemented with an expectation that marc modifications should be at the beginning of the job and should act on the incoming record. That is true, but past conversations in data import subgroup drew out two use cases: 1 to modify an incoming record before any actions are taken and 2) to modify the final srs record after all of the actions are taken. (Delete 9xx data after it is used to update the holdings and item, for example.) General experience right now is that marc modifications are working as expected with creates, but is not working or working but with corruption (such as the deletion of protected fields) on updates. RT: Is part of the problem how we are approaching updates vs modifications? Updates are designed to work with FOLIO records and modifications are designed to work on incoming records. Should updates have the same potential actions as marc modifications applying the logic to the updated record? Right now dependencies between srs and instance and the explicit nature of the updates on instance vs marc is problematic. It is difficult to understand what is happening with updates. Process is to put them anywhere to see where they work. Whether we are updating srs, instance or both we should be able to do the same thing. RT: You will see different behavior from marc modifications depending on its placement in the profile. Need to a deeper dive into how the behavior changes dependent on placement. This would be a good candidate for the functionality / documentation audit. If development dives into this and the DI lab group dives into this, we could then come together to identify the best way forward | This would be a good candidate for the functionality / documentation audit. If development dives into this and the DI lab group dives into this, we could then come together to identify the best way forward Development Review DI Lab Group Review | |
Partial Matching: | Subject raised by Yael | Not discussed at the 2/21 meeting. Previous notes from 1/31: Partial matching, e.g. begins with, ends with, is required but it does not function as it should regardless of how it is configured.
| Ryan will : Review Jira with Folijet leads to understand current design and identify requirement gaps. | |
De-duplication: Continue conversation from previous session to clarify what we expect from de-duplication of field values when a record is loaded into FOLIO via Data Import. | All | Ryan has discussed this with the team. He will get this in writing and will share this when done. Christie did some work as well in Poppy bugfest. Not discussed at the 2/21 meeting. Previous notes from 1/24 meeting: @Jennifer Eustis and @Aaron Neslin found comments in the data-import-processing-core code that provides details about expected behavior for de-duplication. These comments align with the behavior we are seeing except for when there is duplicate data in the incoming record. Data is being removed from the incoming record on update as well. Consensus seems to be that FOLIO should not be de-duplicating within the incoming record unless it is explicitly defined in an import profile. Q: Is de-duplication something that should be able to be deactivated on a field by field basis? R: Sounds like a reasonable approach. There is also some concern that this would complicate an already complicated situation. Possible solution - a tool to deduplicate in another tool rather than within data import instead. Suggestion to start with the functionality audit. RT can connect with the developers as a part of this audit. Q: Are we starting with how we as users expect functionality work or with how the developers expect it to work. R: Really should have both for each feature. Start from perceived / desired functionality of the users and add to it with designed functionality. Suggestion to provide examples to the developers so that it is clear what we are expecting. Pilot functionality audit with de-duplication and start with our understanding and then get input from the developers. | MODDATAIMP-879: Data Import removes duplicate 856s in SRS | RYAN: Clarify current behavior of field value de-duplication. Define desired behavior of field value de-duplication (if different). @Christie Thomas will create some dummy data to illustrate deduping 856s. |
Upcoming meetings/agenda topics:
Chat: