Center-for-Research-Libraries / vufind

CRL Implimentation of VuFind frontend for FOLIO. A library resource discovery portal designed and developed for libraries by libraries
GNU General Public License v2.0
1 stars 0 forks source link

Find more robust item ordering solution #149

Open ryan-jacobs opened 2 years ago

ryan-jacobs commented 2 years ago

Follow-up to #116.

In the holdings tab the item ordering is currently based on an sort of the "Description" field, which comes from the raw "Volume" data in FOLIO. This kind of sorting only works well when the volume field uses chronological volume info with numeric values (e.g., "vol 53", etc.).

While we made some adjustments in https://github.com/Center-for-Research-Libraries/vufind/commit/91a4c54313afc01c981fd65e261247921396dd9b to make the Vol sorting work a bit better, it it still dependent on there being structured chronological information in the vol field to begin with. There are many cases where that kind of information is simply not available for the title. Here's an example:

https://catalog.crl.edu/Record/007d8618-402f-5364-bc48-16028405a65f/Holdings#tabnav

In this case there is really no programmatic sorting logic that could easily work against any fields VuFind has access to. Neither the description nor call number give us anything that would work with a standard sort algorithm. While I suppose that the description info could be used for sorting it would take some sophisticated human-language-aware processing to achieve it. @AndyElliottCRL indicated in #116 and @nflorin may have some scripts that approximate this level of sophistication, but I'm still left wondering why we don't have some sort of existing system ordering field to work with in our migrated item data. After all, it seems that Millennium was able to solve this problem somehow, as the full item list there is indeed in chronological order:

http://catalog-old.crl.edu/search~S1?/o10341040/o10341040/1,1,1,B/holdings&FF=o10341040&1,1,

Does this signal that there is some data point in Millennium that we should be tapping into during item migration to better manage these item sorts?

AndyElliottCRL commented 2 years ago

Steve Early on Teams, 2022-08-23.
Steve writes about Folio Inventory, but problem is in VuFind. Described by @ryan-jacobs : Item Ordering in Staff Interface and via API for Discovery. We need to identify better ways to control item ordering all the way through the OKAPI request that powers VuFind discovery. What we get through holdings API appears to be an item list ordered by date of item creation (probably some primary key) but we need chronological based on content represented. We have some workarounds for this in VuFind that attempt to sort items before display based on some simple text sorts, but they are poor workarounds at best. How can we control/manage item ordering all the way through and across all systems?

@ryan-jacobs and @AndyElliottCRL with Carolyn Clini (EBSCO). Kyle is in the Teams thread. No regular/standard solution to problems of item order in Folio Inventory app display, or VF.
Kyle or someone at EBSCO in regular Tues. meeting, 2022-09-13: Folio has no way to order Items by anything except UUID.

If CRL fills in the (Holdings/Items?) Enumeration and Chronology fields, those columns would be click-sortable in Inventory.

ryan-jacobs commented 2 years ago

Based on info from Amy and Marie (relayed from cataloging group discussions), it seems like our ideal approach would be one where:

The sorting field must be visible in the staff interface (for column header click-sorting), but should be hidden in VuFind. I've confirmed that we can get access to the Chronology and Enumeration fields via OKAPI, so using one of them as a sorting option within VuFind should be very workable.

KimSarabia commented 2 years ago

We've added a temporary solution but the data fix is still pending, so putting this 'On Hold'