Deletion of instances - dependency check

List of relevant dependency checks with other apps.

a) In some cases if a dependecy is in place, then the instance can not be deleted

b) In some cases the data might need to be copied over for 'historic reasons' and when that has happened then the instance can be deleted.

Relevant for the work on UXPROD-1624:

Dependency within Inventory and Inventory and other apps:

#

Dependency check. Use case 

Action

 Apps

Goals

Added by ...

Priority?

Release
1If an instance with instance source = FOLIO has no dependencies with associated holdings/items or other appsThen the instance can not be deleted.InventoryBe able to clean up the data base for instances which has been created by a mistakeHighNolana
2If an instance with instance source = FOLIO has an associated holdings record

Then the instance can not be deleted - until the holdings has been deleted first.

InventoryBe able to clean up the data base for instances which has been deprecated, or created by a mistakeHighNolana
3

If an instance has an associated TLR (Title Level Request)

Note: An item record can not be deleted if an item level request is associated with the item - so this case is solved

Then the instance can not be deleted - until the last TLR in the queue has been fulfilledInventory, RequestBe able to clean up the data base for instances deprecated or created by a mistakeHigh
4

If an Instance has an underlying MARC record stored in SRS

Note: quickMARC is not an issue here, while quickMARC just pull in given data as stored in SRS for the given bibliographic record.

Then the instance can not be deleted until a clean up command has been executed, purged or how we decide to do this.Inventory, SRSBe able to clean up the data base for instances deprecated or created by a mistakeHighNolana?
5If an instance is associated with PO data in an Order record. 

TBD what is the wanted behavior when

an order was put in for an item and an instance record was created at time of order when the order was cancelled/could not be fulfilled/created by mistake and instance record is no longer relevant to have in the collection.

Scope: deletion of instances associated with a deleted order 

Inventory, OrdersBe able to clean up the data base for instances deprecated or create by a mistakeHigh
6If an instance is associated with data in the Circulation log app

TBD what is the wanted behavior when

historic data is to be kept in the circulation log, but the instance is to be deleted.


Inventory

Circulation log

Be able to clean up the data base of instances no longer needed.

Retain the (historic) data in the Circulation log.  

High
7If an Instance has item being on loan. 

Items on loan can not be deleted, that is functionality already in place.

Note: instance with associated holdings and item can not be deleted. 

Check out Inventory

Prevent the instance of being deleted. 

This is already implemented for item records

High
8If an instance has associated holding and item, and the item has been withdrawnThen the user or automated process has already deleted holdings/items for withdrawn items. The instance when checked for other types of dependency (as listed in this table) will then be subject for deletionInventoryBe able to clean up the data base of instances no longer needed.High
9

If an instance/instances have been created because of a bad Data Import file, and the underlying MARC record was not created.

This can happen when:

  • a wrong profile or improperly set up profile was used
  • a wrong file was loaded.

TBD what is the wanted behavior, e.g. run a reverse process and roll back the Data Import. and make sure that all generated records are deleted

a) instance

b) holdings

c) item

d) underlying bibliographic MARC in SRS

e) underlying MARC holdings in SRS

Data Import,

Inventory, SRS

Be able to clean up the data base of instances, holdings, item created by mistakeHigh
10If an instance that is unable to be edited in quickMARC or overlayed by Data Import/Single Record ImportTBD the wanted behavior, when an instance can no longer be maintained because there is a data issue somewhere in the system that prevents it from being edited or overlayed, users should be able to create a new instance for the management of the resource and the corrupted instance should be able to be deleted. (This is a secondary to not being able to correct corrupted instances.)

quickMARC, SRS,

Inventory

Be able to clean up the data base of records that are no longer usable.High
11Export deleted instances The ability to export deleted bibliographic records to support e.g. the Cataloging Distribution Service.Inventory, Export Be able to retain deleted records when relevantMedium/ High
12If an instance has linking to authority data in the MARC Authority 

TBD by the MM-SIG.

Suggestion: that the instance can be deleted with a warning message (cancel/confirm) 


Inventory, SRS, MARC AuthorityBe able to unlink records. Delete instance. Do not change data in MARC Authority. Medium/ HighOrchid?
13






14






15






Dependency Other apps > Inventory:

AppDescriptionShould we allow the deletion to proceed (Yes/No) - If Yes, what should happen?UXPROD or Jira issuesProduct ownerDevelopment teamPlanned release
Data Import

Currently, Data Import does not support deletion of Instances or SRS MARC Bibs, so that would need to be implemented.



FoljetNone
Orders

Direct links from Orders to Inventory Instance UUID

Consequence being that an order can potentially no longer be received. Also we are still working on an ability to change the instance connection. This would be necessary to correct order with references to deleted instances


UIOR-594 - Getting issue details... STATUS

ThunderjetNone
Invoices Should not be able to delete an instance if an unpaid invoice is associated

ThunderjetNone
Receiving Should not be able to delete an instance if an item is in process (to be received)

ThunderjetNone
Agreements/Licenses/ERM

No direct links from Agreements or Licenses to Inventory right now, BUT do have direct links to POLs and if a linked POL has an Inventory Instance UUID stored with it, then that will be display as a link to the instance in Inventory.



BienenvolkNone

quickMARC  / SRS

Instance record with Source = MARC has record stored in source-record-storage (srs). So deletion of instance record mean this record will be removed from srs and thus should not be available to edit. Yes - Spitfire can work with Prokopovych to determine what needs to be passed to Spitfire to delete the record stored in SRS. 


SpitfireNolana?
MARC Authority app 

Once Authority records are linked to related MARC Bibs or Instances (work planned for Nolana) 

Q: Charlotte

What happens with all the instances and MARC records in SRS which have been associated with the deleted authority record?

A: Khalilah 

"We will work on that when we support linking between MARC bib and authority records. For Nolana, we will probably just not allow for deletion once we detect links.

Yes - unlink records. Do not change data in Instance. 
SpitfireOrchid?
mod-searchUpdate indexes to be kept in sync when the instance is deleted from inventory-storage

SpitfireNone
mod-inventory-updateAligned with general FOLIO solution for check on dependencies 

MODINVUP-17 - Getting issue details... STATUS

SifOrchid
mod-oai-pmh
  1. Impact of deleting records in inventory on the link records in SRS
  2. Once UXPROD-2404 is implemented, it will also affect records without SRS


FirebirdNone
CoursesShould not be able to delete an instance if one or more associate item(s) is(are) part of a CourseNo
Thor?None
Circulation log Need the RA-SIG input hereYes - unlink records. Do not change data in Circulation log. 
FirebirdNone
RequestsDelete an instance record based on status? 

Stephanie Buck (title level requests)

VegaNone
Check outShould not be able to delete an instance if one or more associate item(s) is(are) checked out to a patronNo
VegaNone
Check inShould not be able to delete an instance if an associate item does not have the item the appropriate item status (available, lost and paid etc.)No
VegaNone
Fees/fines 

Should not delete an instance tied to an item based on fee payment status?  



VegaNone
Remote storage (no description)

FirebirdNone
LTI 


?