Mark for Deletion - Detecting and Resolving Conflicts Requirements
Requirements
Define requirements for behavior in Inventory - responsible @Charlotte Whitt
Use cases
A title has been withdrawn and should be completely removed from the catalog; before it can be deleted, information from the record needs to be communicated to external services (e.g. discovery, WorldCat)
Duplicate records were created for a title; one needs to be deleted, but before that can happen someone needs to update information in orders
Staff members in collection management are working on a weeding project; they need to be able to set the deletion process in motion, but they should not have permissions for full deletion (it’s common for many staff not to have deletion permissions)
Features:
UXPROD-3621 1st iteration
UXPROD-3742 2nd iteration
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving solution in mod-search - responsible @...
Use cases:
Inventory - default search result must exclude instances being marked for deletion
Instance look up component - default search result must exclude instances being marked for deletion
Story: MSEARCH-386
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with MARC records in Source Record Storage - responsible @...
Use cases
Feature: UXPROD-3092
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with quickMARC - responsible @...
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with MARC Authorities - responsible @...
NOT relevant until we get to have linking between authority data headings and bibliographic records
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Data Export - responsible @...
NOT relevant for the existing implementation of data export
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Export Manager- responsible @...
NOT relevant for Export Manager assuming that the dependencies for Circulation logs and acquisition data is handled correctly
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Bulk edit - responsible @...
Instances bulk delete is not currently implemented and is not planned for several releases. However, if the Mark for deletion will ignore dependencies then Bulk edit will need to revisit this functionality again as the volume of the removed data will exacerbate the problem of orphaned records.
Define requirements for resolving dependencies with OAI-PMH - @...
OAI-PMH impact will depend on the selected approach:
Approach 1: instances marked for deletion have source=FOLIO - no impact on the current implementation of OAI-PMH.
Approach 2: instances marked for deletion have source=MARC and underlying SRS record has LDR05 set to "d" - no impact on the current implementation of OAI-PMH
Approach 3: instances marked for deletion have source=MARC and underlying SRS record has additional flag added but LDR05 is not changed
If instances marked for deletion need to be suppressed from discovery:
Additional logic will need to be implemented on OAI-PMH side to handle the new flag.
Feature: Will depend on selected approach
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Z39.50 - @...
NOT relevant when choosing the solution that all records being Marked for deletion will automatically be marked both Suppressed from discovery and Staff suppressed
Use cases
Feature: -
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies for OPAC/Discover - @... for VuFind, ?? for EBSCO (EDS) solutions
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies for edge-rtac/edge-patron - @...
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Z39.50 - @...
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Request - Currently no Product owner
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with INN-Reach - @...
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with SIP2 - @...
Use cases
Feature:
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Acquisition - @...
Use cases
Is there any circumstance when a user would want a newly created order to match and be connected to an instance that is marked for deletion? If not then a new instance would be created in this situation.
Is there any use case for making users aware that an existing order is currently connected to an instance that is marked for deletion?
Via FOLIO user interface
Via backend system/service/process
Define requirements for resolving dependencies with Circulation log - @...
IF an instance record marked for deletion cannot have any item records attached, there is no impact on Circulation log
Use cases
Viewing and/or exporting circulation actions tied to an item barcode
Consideration
Item barcodes in the circulation log are active whether an item record has been deleted or not
Via FOLIO user interface
Via backend system/service/process
Architectural Requirements for the SA
Define permission solution - responsible @Raman Auramau
The App Interaction SIG has begun spec of the use of field based permissions. This work is still in a very early phase.
Meeting minutes from the App Interactions discussion of field based perms: 2022-05-09 Meeting notes: Field based permissions.
@Marc Johnson has suggested that the chosen design is by it’s very nature an example of a field level permission, in that the ability to alter the
marked for deletionfield is controlled by permissions separate to those which control access to the record.
Define robust dependency check across apps; - responsible @Raman Auramau
This should both support Mark for deletion, and also support the coming work when we must be able to handle the actual deletion of instances
Deletion of instance can either be performed by a human action or an automatically job
Use cases - Must test to validate functionality (wip)
Test | Jira | Tester | Notes | PO responsible |
|---|---|---|---|---|
Inventory |
|
|
|
|
Inventory > Edit instance record. Mark instance FOLIO source = FOLIO as Marked for deletion | UIIN-1504 |
| 1st iteration | @Charlotte Whitt |
Inventory > Edit instance record. Mark instance FOLIO source = MARC as Marked for deletion | UIIN-1504 |
| 1st iteration | @Charlotte Whitt |
Inventory > Edit instance record. Un-check instance FOLIO source = FOLIO as Marked for deletion | UIIN-2099 |
| 2nd iteration | @Charlotte Whitt |
Inventory > Edit instance record. Un-check instance source = MARC as Marked for deletion | UIIN-2099 |
| 2nd iteration | @Charlotte Whitt |
Inventory > When marked for deletion. then instance with instance source = FOLIO is not editable, and all data properties (except check box for marked for deletion) is frozen/greyed out | UIIN-2105 |
| 2nd iteration | @Charlotte Whitt |
Inventory > When marked for deletion. then instance with instance source = MARC is not editable, and all data properties (except check box for marked for deletion) is frozen/greyed out | UIIN-2104 |
| 2nd iteration | @Charlotte Whitt |
Inventory UI > Filter and facets on. Verify default search excludes instances being marked for deletion | UIIN-1094 |
| 1st iteration | @Charlotte Whitt |
Inventory Instance look up component. Verify default search excludes instances being marked for deletion | UIPFI-106 |
| 1st iteration | @Charlotte Whitt |
Permissions. User has only permission to mark instance as Marked for deletion. | UIIN-1979 |
| 2nd iteration | @Charlotte Whitt |
Permissions. User has only permission to mark instance as Marked for deletion. | UIIN-2098 |
| 2nd iteration | @Charlotte Whitt |
Permissions. User has both permission to mark instance as Marked for deletion, and uncheck instance as Marked for deletion | UIIN-1979 UIIN-2098
|
| 2nd iteration | @Charlotte Whitt |
Data import > Verify indicator set in LDR when instance is Marked for deletion | ? |
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
Data import > Verify change of the indicator set in LDR when instance is unchecked as Marked for deletion | ? |
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
Data import > Block Update > when instance is Mark for deletion? | ? |
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
SRS > View source (storing mark for deletion flag) | ? |
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
Dependency checks for when instance with Instance source = MARC is marked for deletion: |
|
|
|
|
Inventory > Action menu is greyed out for quickMARC edits | ? |
| Khalilah to define requirements | @Khalilah Gambrell |
Inventory > Action menu is active for quickMARC derive | ? |
| Khalilah to define requirements | @Khalilah Gambrell |
Inventory > Action menu is greyed out for quickMARC Add holdings record | ? |
| Khalilah to define requirements | @Khalilah Gambrell |
Inventory > View Source. Verify the indication set in LDR 05. |
|
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
SRS API | ? |
| Ann-Marie to define requirements | @Ann-Marie Breaux (Deactivated) |
Authority + Bib linking |
|
| Khalilah to define requirements - When can this be tested? | @Khalilah Gambrell |
Dependency checks for when instance with Instance source = FOLIO and instance source = MARC is marked for deletion: |
|
|
|
|
Inventory > Search result. Mod-search | MSEARCH-321 MSEARCH-386 |
| 1st iteration | @Khalilah Gambrell @Mikhail Fokanov |
Orders | ? |
| Dennis to define requirements | @Dennis Bridges |
z39.50 |
| Charlotte discussed with Mike Taylor (6/30) | @Mike Taylor | |
Data export > Mapping? / Export? |
|
| Magda to define requirements | @Magda Zacharska (Deactivated) |
OAI-PMH |
|
| Magda to define requirement | @Magda Zacharska (Deactivated) or @Michelle Suranofsky |
INN-Reach |
|
| Brooks to define requirement | @Brooks Travis |
edge-patron |
|
| Khalilah to define requirements | @Khalilah Gambrell |
edge-rtac |
|
| Khalilah to define requirements | @Khalilah Gambrell |
OPAC/Discovery UX - how can a library prevent an instance record that is marked for deletion to return in results? Verify in test environment (not sure which?) |
|
| CW: The solution where setting check mark as Marked for deletion, will also automatically set the check mark in both the Suppress from discovery and Staff suppress. This functionality will prevent an instance record that is marked for deletion to be populated in OPAC/Discovery | Who? |
Documentation:
Slide deck presented for MM-SIG: 6/30/2022 (updated)
Slide deck presented for POs and developers: 7/8/2022
Related Features
Jira feature for Inventory implementation in Nolana:
Road map: https://folio-org.atlassian.net/browse/ROAD-125
Prokopovych: https://folio-org.atlassian.net/browse/UXPROD-3621
Foljiet: https://folio-org.atlassian.net/browse/UXPROD-3092
Spitfire: https://folio-org.atlassian.net/browse/UXPROD-3702
Vega: ?
Other: ?
Draft/blocked awaiting until Mark for deletion work is implemented, and we start on Instance deletion:
Prokopovych: https://folio-org.atlassian.net/browse/UXPROD-1624
Foljiet: https://folio-org.atlassian.net/browse/MODSOURMAN-292
Firebird: https://folio-org.atlassian.net/browse/MODOAIPMH-268
I want to point out that there are reporting needs around this topic. Libraries need to report to various vendors (OCLC, HathiTrust, authority control vendors, etc.) on materials no longer in the collection. Normally, these reports could contain the local system number, the OCLC record number, etc. The use-case for which data are needed in this type of report may not be consistent across libraries or among vendors. More input is probably needed here.