ArctosDB / arctos

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

Help needed in Arctos: change relationship for identifiers from self to parasite of #8277

Open campmlc opened 2 weeks ago

campmlc commented 2 weeks ago

Tell us what you are trying to do

I am trying to fix 94 records that were loaded with the wrong identifier relationship. They should be "parasite of" but they were loaded as "self". I can't find a simple way to do this. Ideally, we'd have a tool like the ones in the Tools menu for search results that would allow Manage for identifiers the same way we allow Manage for identifications, which could be used to modify a single component from the results. Unfortunately for operators, these simple and easy use tools are being deprecated. In their place we are asked to use the component loader system. The only way I have found to make a change in a single field in the identifier metadata is to unload the existing identifier using the indentifier unloader and then reload the identifier with the updated relationship value in the identifier bulkloader. This has the disadvantage of not only requiring two separate bulkload files prepared and loaded in two different component loaders, with all the corresponding challenges that poses (including component loaders stuck for several days, see #8265 ), but it also results in the loss of all the original identifier metadata as to which student assigned the identifier on what date, replacing it with metadata associated with the new bulkload. I tried this approach with bulkloading the new identifier value first and it failed - see attached file. I would prefer to load the correct new ID first, and then delete the incorrect one once I confirm the new one successfully loaded. But perhaps Arctos doesn't permit loading the same identifier twice, with the only difference in relationship value? If so, that isn't clear from the error message. If the problem is something else, please help clarify. I said in a previous issue that this process is challenging, for all the above reasons. I'd love to have a process or tool that would make this simple, as it would be if we could use the Manage tool in search results. Please advise.

cf_temp_oids_download.csv

identifier rebulkload to fix 94 records from self to parasite of.csv

identifierUnloader bulkload to fix self to parasite of 94 records.csv

What are relevant pages in Arctos

Provide a link to or a description of the page where you need help.

dustymc commented 2 weeks ago

This format is difficult to extract functional needs from, but I'll try.

The frustrations could possibly be directed to https://github.com/ArctosDB/internal/issues/330 - I don't have any influence over the resources I have available and don't get invited to the meetings of those who do (I believe you do and would know this). I will happily make use of any resources that are made available to me, but I also can't advocate for tools which demonstrably cause problems with the resources I actually have, and sometimes those resources mean less availability than I'd like.

There is also a social aspect to this - eg the unloader file (the format suggests you've found that??) could write directly to the unloader tool, even with status==autoload, but my intuition is that this would not be understood and so would have great potential to be catastrophic.

In any case, I believe you've found the unloader, if not the path is

The loader is a very tiny bit more involved, this could be changed but I'd need specifics and The Community would need to weigh in - there's clearly a cost to complexity (eg people getting lost and doing the wrong thing). This writing directly to a loader would be a bit less terrifying, someone clicking the button 17 times would just get one (easily removed via the above if wrong) identifier and 16 errors. The process here is:

Then the CSV will need manipulated (that could change, see above). In your case this involves:

upload to identifier loader.

In your attached file, you're trying to use the thing that probably should have just unloaded to find the record - and it's ambiguous, you can check via https://arctos.database.museum/search.cfm?oidtype=Arctos%20record%20GUID&oidnum=%3Dhttps%3A%2F%2Farctos.database.museum%2Fguid%2FMSB%3AMamm%3A293218

Using the GUID should be stable, easy, and unambiguous, definitely what I'd recommend.

campmlc commented 2 weeks ago

This request is that we need a simpler tool which already exists for other data types, including accessions and identifications. These tools are the ones found under Manage in Search Results Tools menu. I am requesting a similar tool for manage identifiers, one that does not directly require me to deal with the component loader system.

I've been using the Manage Accessions tool all morning, and it is simple and does exactly what I need in seconds, without my having to stop my existing workflow and dedicate my full attention to creating two separate bulkload files, waiting the several days necessary to get the data loaded and unloaded through the component loaders. Having attempted the latter without the ability to give it my entire concentration for a couple hours, I've made several mistakes which are going to require my additional complete attention for several hours. Surely we can make this easier for operators?

campmlc commented 2 weeks ago

Here is something that hopefully can provide more detail on functional needs using the component loader system. This is still far more complex that merely adding a "modify existing identifers" tool to the Manage section in search results, but maybe it will show a path to what I am trying to do. 1) Conduct a search 2) Click on Tools Menu 3) Go to View/Download Identifiers 4) Filter for Arctos Record Guid identifier type (to find relationships between records) 5) End up at https://arctos.database.museum/Reports/identifier_download.cfm, see screenshot attached. From the screenshot, all I need to do is to modify the existing relationship values for these records from "self" to "parasite of".

On the right side of the page, I don't see an option to be able to modify fields of existing identifiers. This would be ideal. Otherwise, I have to use the identifier unbulkloader to completely remove the values and then use the identifier bulkloader to reload them from scratch, losing all original assigned by metadata in the process. Is this more clear? Screenshot 2024-11-06 18 17 35