ArctosDB / arctos

Arctos is a museum collections management system
https://arctos.database.museum
60 stars 13 forks source link

Object Tracking Sort Problems #3050

Closed campmlc closed 1 year ago

campmlc commented 4 years ago

Any way to have the option of choosing a sort method for object tracking? I need at a minimum to have the display sort in order by alphanumeric barcode. Even better would be to be able to choose to sort in alphanumeric order by Barcode or by Label. I'm not really sure what the order of sort is now, but it appears random. With 157 racks per freezer, and 6 boxes per rack, random order is not very helpful. ?

campmlc commented 4 years ago

Maybe not entirely random - racks are sorting in reverse numeric order? See Barcodes DGRC4F124 and DGRC4F125

dustymc commented 3 years ago

Looks alphanumeric to me??

Screen Shot 2021-04-29 at 1 46 30 PM
KyndallH commented 3 years ago

Pretty sure she is talking about A1 then A10 then A2 is after 19.

Screen Shot 2021-04-29 at 2 11 32 PM
campmlc commented 3 years ago

Yep

On Thu, Apr 29, 2021 at 4:13 PM Kyndall Hildebrandt < @.***> wrote:

  • [EXTERNAL]*

Pretty sure she is talking about A1 then A10 then A2 is after 19.

[image: Screen Shot 2021-04-29 at 2 11 32 PM] https://user-images.githubusercontent.com/16887896/116624732-eb69d400-a8f4-11eb-9aef-8d12dd28d33d.png

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/ArctosDB/arctos/issues/3050#issuecomment-829629684, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADQ7JBAEXD7Z3KPSOAZKE7DTLHKXRANCNFSM4QJYSK5Q .

Nicole-Ridgwell-NMMNHS commented 2 years ago

It would be really helpful to me to have containers in the object tracking tree sort in alphanumeric order by Label. For example: image

Is really unhelpful and makes it hard to find things.

campmlc commented 2 years ago

Agree.

On Fri, Dec 17, 2021, 4:40 PM Nicole-Ridgwell-NMMNHS < @.***> wrote:

  • [EXTERNAL]*

It would be really helpful to me to have containers in the object tracking tree sort in alphanumeric order by Label. For example: [image: image] https://user-images.githubusercontent.com/47402809/146619317-19d969f9-8169-4b5c-b6e0-100301400a3d.png

Is really unhelpful and makes it hard to find things.

— Reply to this email directly, view it on GitHub https://github.com/ArctosDB/arctos/issues/3050#issuecomment-997092850, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADQ7JBD4QXCDPZVQKPJGUM3URPDANANCNFSM4QJYSK5Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were assigned.Message ID: @.***>

campmlc commented 2 years ago

Also the concern from #4207 about why positions sort randomly, given they are numeric. And that barcodes and labels also seem to sort randomly and not even alphanumeric in search results display. See #4207.

Jegelewicz commented 2 years ago

Dusty is gonna look into this, but we need to be on the lookout for a way to replace this tree anyway!

dustymc commented 2 years ago

Upping priority, sorting may be a limitation of the current library, need to investigate.

Jegelewicz commented 2 years ago

@dustymc something like this? https://www.cssscript.com/tree-view-checkboxes/

Am I barking up the wrong tree?

Jegelewicz commented 2 years ago

Whoa - this one is COOOOOL https://www.cssscript.com/demo/visualize-hierarchical-tree-d3-mitch/

From https://www.cssscript.com/visualize-hierarchical-tree-d3-mitch/

dustymc commented 2 years ago

Next release should be sorting by integer-bits, which I'm sure will look random in some situation but it can be changed if necessary.

I also added the barcode to the view in the usual format - it was only showing up in the first search, not on expansion, I'm not sure why - I can un-do that if necessary.

Calling this next release.

@Jegelewicz cssscript is some blog/click generator/something, https://github.com/daweilv/treejs seems to be the library, it doesn't seem to have async capabilities.

Nicole-Ridgwell-NMMNHS commented 2 years ago

This still seems like it is sorting weirdly? What do you mean by integer-bits?

image

dustymc commented 2 years ago

Shift-reload - your browser is still hanging on to old code, somehow.

Screen Shot 2022-04-22 at 7 27 23 AM
Nicole-Ridgwell-NMMNHS commented 2 years ago

Got it to update, but still the same sorting problem? Is it sorting by barcode?

image

dustymc commented 2 years ago

yes barcode then label

order by 
NULLIF(regexp_replace(barcode, '\D', '', 'g'), '')::int,
NULLIF(regexp_replace(label, '\D', '', 'g'), '')::int
Nicole-Ridgwell-NMMNHS commented 2 years ago

That is helpful if a collection is organized by barcode, but otherwise not. Is having the option to sort by different things just not possible with the current structure?

dustymc commented 2 years ago

having the option to sort by different things

Aha, maybe. I'm not sure - I'll see if I can figure out how to get that to accept a 'sort' argument.

dustymc commented 2 years ago
Screen Shot 2022-04-22 at 9 47 59 AM

There's a sort option (check it out in test), it's a little janky but seems to mostly work. Essentially it seems that the library caches, so

does nothing, at least most of the time.

works, as does

I'm not thrilled with that, but that seems to be the extent of control I have. The default works as it does now, I don't think this can be overly disruptive, going back to next release.

Jegelewicz commented 2 years ago

I think that changing the order of the sort operation might be more useful to users? Barcodes ar mostly nonsensical things, but labels are meaningful to humans....

label then barcode?

order by 
NULLIF(regexp_replace(label, '\D', '', 'g'), '')::int
NULLIF(regexp_replace(barcode, '\D', '', 'g'), '')::int,
dustymc commented 2 years ago

label then barcode?

https://github.com/ArctosDB/arctos/issues/3050#issuecomment-1106697435

?? I'll change the default, but users can do whatever they want.

Barcodes ar mostly nonsensical things

Except when they're not....

Jegelewicz commented 2 years ago

Don't change it just because I said so - make sure somebody else agrees...

KyndallH commented 2 years ago

I agree! Is that enough! :)

campmlc commented 1 year ago

Reopening this issue because of the attached file, produced by entering a csv list of barcodes (for items which are not cataloged) in Find Container, and using Drag/Print to get the result (as there is no other way I'm aware of to find and view locations for a list of noncataloged barcodes -please tell me if I'm wrong?) bird barcodes scanned in Arctos 3-21-2023.pdf

I'm really not sure what kind of order is represented by what is displayed here, but it is not intuitive by human beings. It isn't sorting by the barcodes of the containers in the csv list, or by the box barcodes, or box positions, or rack positions or ? What is it sorting on? And can we fix it so that it makes some sort of sense?

I propose: freezer barcode: freezer position: rack position: box position. With the positions sorting as humans would expect: 1,2,3,4,5,....9,10,11,12

campmlc commented 1 year ago

Here is the list of barcodes used to generate that file:

Holloman barcodes_birds 2022.zip

campmlc commented 1 year ago

Reading this previous thread - labels are OK to sort by too, works for me, but how do we deal with positions? Is that the problem here? I honestly can't find any pattern in what appears to be random sort.

campmlc commented 1 year ago

I'm still having trouble - not sure what the order of operations is for the results below, but the positions are not sorting correctly, and neither are the barcodes or their labels.

Screenshot 2023-03-23 16 34 45