ArctosDB / arctos

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

Feature Request/ Discussion - Merge Agent tool (do we need one?) #7895

Open mkoo opened 3 months ago

mkoo commented 3 months ago

Funky Agent discussions and cleanups: https://github.com/ArctosDB/arctos/issues/7649

Use cases aplenty including this one: https://github.com/ArctosDB/arctos/issues/7879 and another recent one where MVZ referenced and created agent Clement J. Ralph and HSUVM recently made C.John Ralph -- 100% sure this is the same person (CJ Ralph as he's known) But merging is a true merge operation where we do not want to lose info in each agent's profile and certainly none of the catalog records.

Right now this can be a special request to the programmers (see Merge Request template) but should we have a tool to automate and allow a fairly high level collection manager to do so? The tool could include a checklist of the two agents assets and which should be maintained and which can be deleted. Having a dedicated tool for managing dups and bad dups might mitigate issues in unintended funky agents. thoughts on development?

Jegelewicz commented 3 months ago

This is really a necessity. Currently EVERYTHING about the process in manual and it generally leaves the bad duplicate agent in use by someone.

dustymc commented 3 months ago

Two hats:

Techy Bits:

Yea, sure, whatever, give me precise specifications.

Actual Answer

I'm not sure it's ever that clean, and updating is usually trivial when it is. Collections using 'bad duplicate agents' get (monthly??) notifications, and from that I think it's usually a matter of about 4 clicks to resolve - click on whatever they've allegedly done for your collection, use the tools/agents option to swap in the good agent. (This is a "checklist of the two agents assets and which should be maintained and which can be deleted" but I think it's also not quite the checklist you had in mind.)

Most of the time, I think the duplicate isn't a full duplicate, it's some sort of name-swarm where 3 people are sharing 3 agents in some wildly complex way, and 'give all accessions of X to Y' (any sort of simple type-based update) is just going to make a bigger mess, or the duplicates happened because of bad data and the LAST thing anyone wants to do is bring that bad data into the good, or something of the sort. It's complicated, automation is likely to make it more complicated.

A demo of something that is clearly "all X should be Y, and everything X is carrying is AWESOME" would be illustrative.

which can be deleted

Nothing is ever deleted; that's simply incompatible with the model we laid out, and with being part of the Extended Specimen Network. 'bad duplicate of' agents are a bit harder to find or use, but they're still there.

https://arctos.database.museum/agent/10009808?deets=true carries two "publications" which are just random lists of agents??!! Not sure that's something we'd want to auto-save....

And I'll go make another issue.

mkoo commented 2 months ago

Returning to the topic-- the title question is rhetoric-- we do need a merge tool! ideally we can search and select the specific agents we want to merge with check boxes or other method to indicate elements of an agent or which agent is the primary one and which agent needs to have its elements added to the primary agent. We would be able to see the potentially merged agents in a table.

Typically or ideally, duplicate agents means that one is verified and will be the primary agent. The duplicate ones may have components to add and then can be marked (deleted?) as a duplicate so it is not displayed in future pick lists.

Here's one scenario. Let's take one of the recent merge requests: https://github.com/ArctosDB/arctos/issues/7899 Right now I cannot search on two agent IDs (a new request, I know) but I can search on lastname = Herrera, which gives me a long list: Firefox_Screenshot_2024-07-12T17-02-21 361Z

Next, being able to reload with GUID select boxes lets me select just the two that will be merged Jose Carlos Herrera and J. C. Herrera

These two agents are easy since they both have no elements to select but I would like to confirm that in a table side by side. I can identify the primary agent to "keep" Jose Carlos Herrera and then click a merge button that relegates the other agent to the black hole of oblivion.

dustymc commented 2 months ago

I can still build something new, but your example has an easy solution:

Click

Screenshot 2024-07-12 at 10 13 53

then

Screenshot 2024-07-12 at 10 14 29

then

Screenshot 2024-07-12 at 10 16 08

and click and done, all within context of records that you can manage.

The old system tended to make giant messes when there's partial overlap - eg my 'J. C. Herrera' records which you can't see are not in fact 'Jose Carlos' but someone's picked the wrong thing at entry. The current/above tools completely avoid that, in part by requiring context, and in part by disallowing "you" to edit "my" records.

DerekSikes commented 2 months ago

This is a great tool but when I click the hotlink of the agent name (leftmost column in the replacement agent tool) I get nada, only this: Try https://arctos.database.museum

DerekSikes commented 2 months ago

Also, I have an agent group: M. Dick, L. Dick

there are 27 records with this group as the collector. I can use this replacement tool to replace this group with one agent: M. Dick -> Matthew H. Dick

but how do I add a 2nd agent as collector to all these records? The L. Dick should be changed to agent Linda Dick.

or is this something you'd rather just do by magic?

dustymc commented 2 months ago

M. Dick, L. Dick

Screenshot 2024-07-12 at 12 02 47

then

Screenshot 2024-07-12 at 12 02 13

should handle that.

DerekSikes commented 2 months ago

Thanks! I was able to correct these 27 records to have the 2 collector agents Matthew H. Dick & Linda Schandelmeier; however, let's say I wanted to record the verbatim collector info of "M. Dick, L. Dick" that was on the labels... how would I do that for these 27 records (and now I can't even find them again because I can't search on 'M. Dick, L. Dick' anymore...)

DerekSikes commented 2 months ago

Luckily I hadn't yet closed a tab for these records and was able to grab their GUIDs: KWP:Ento:37948,KWP:Ento:37949,KWP:Ento:37950,KWP:Ento:37951,KWP:Ento:37952,KWP:Ento:37953,KWP:Ento:37964,KWP:Ento:37965,KWP:Ento:37966,KWP:Ento:37967,KWP:Ento:37968,KWP:Ento:37969,KWP:Ento:37970,KWP:Ento:37971,KWP:Ento:38237,KWP:Ento:38238,KWP:Ento:38241,UAM:Ento:113206,UAM:Ento:241767,UAM:Ento:378722,UAM:Ento:378723,UAM:Ento:378724,UAM:Ento:378725,UAM:Ento:378726,UAM:Ento:378727,UAM:Ento:419477,UAM:Ento:419478

Jegelewicz commented 2 months ago

@DerekSikes just do the same thing but select Manage attributes and add the verbatim agent attribute with M. Dick, L. Dick as the value.

DerekSikes commented 2 months ago

How, these are the only attributes I have Screenshot 2024-07-12 at 1 59 43 PM

Also, I get this error when I try to manage them: "This form can only work with one collection."

Jegelewicz commented 2 months ago

This form can only work with one collection.

Not sure because it looks like your results are all in one collection.

these are the only attributes I have

You are selecting view/download attributes, you need to select MANAGE attributes

Screenshot 2024-07-12 16 27 16
DerekSikes commented 2 months ago

That worked! Thanks!