Acq: Move holdings subfields to admin pages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Wishlist.
Currently acquisitions holdings subfields are defined per-provider, and they need to be created each time you create a new provider. In PINES at least, we use the same holdings subfields and holdings tag across the entire consortium. So it's just extra work to create for each new provider, and admittedly, I often forget until someone's upload is missing holdings. (Oops.)
I've never found holdings subfields needed to be on a per-provider basis; usually we tell providers what our standards are and that's how they configure it for us.
So it would make more sense to me to have Holdings Subfields as an acq admin page, and include an org filter. So providers at the same or below org would use holdings subfields defined in the admin page.
And/or we could have them in an admin page, and then on the main Providers creation modal have a dropdown where you select a set of holdings subfields. Kind of similar to a matchset or a distribution formula? This seems like it might solve the problem if someone accidentally created multiple sets of holdings subfields at an org; if that happened then vandelay wouldn't know which to choose.
Even if we have a dropdown on the Providers creation modal to choose a holdings subfield set, that seems way less work than having to create each individual subfields for each provider.
Noting that this would require refactoring the database schema to establish the notion of an acquisitions holdings subfield mapping independent of the provider record. Something like:
acq.holdings_ subfield_ map
id
owner
name (for the map)
acq.holdings_ subfield_ map_entries subfield_ map FK
id
field_name
subfield
holdings_
Then acq.provider would gain a holdings_ subfield_ map column.
During upgrade, it would be possible to migrate the existing mappings to a de-duplicated set linked back to the correct providers.
Maybe toss in a library setting to specify a default mapping for new provider records.