Announcing the Universal Metadata Tool Beta

The remove project action should now work. There are so many possible failure states for that action that I’m not certain I caught all the edge cases; please let me know if you find unexpected behaviors.

1 Like

Added in a bunch of controls for manipulating existing configs within the selected set; let me know if you run into any issues.

1 Like

Just implemented this:

Alt+M toggles bulk action mode and any keyboard shortcut for a single config will jump you directly to the validation box to apply that config to the selected observations.

As always, lmk if you encounter unexpected or undesired behaviors!

1 Like

That’s great. All the features I have tested so far work fine, and I like the new way of managing configurations on the settings page.

Here’s a different problem: If someone imports a configuration set that has the same name as an existing set, this simply creates two same-named sets, and if you select the second one from the dropdown list, the first one opens. (I did this by accident and got myself out of it by changing the name of the first set, whereupon the second one worked normally.)

And a small matter: when you display the actions that are about to take place for confirmation, annotations are stated with the value “undefined”

This prompted me to think more about how to improve the Import flow but for now I just fixed it in a simplistic way and also fixed the other thing.

I just pushed a new version of the import flow that lets you manually select how to handle conflicts all at once, for both sets and lists. Should be a lot clearer and easier to use. Lmk what you think.

You’ve fixed the annotation issue on the first validation display but not the second.

Oh yeah… and on the confirmation popup after action, it says “Successful Actions (X)” and has a link “View X observations” which isn’t correct (generally more actions than observations).

And third, I hit an error that the confirmation popup didn’t handle gracefully (sorry, I didn’t get a screenshot of it). I’m pretty sure it was due to a timeout or other interruption which caused the actions to not be completed. Instead of a message saying “your actions were not completed, try again” or some such thing, the display was a long list of yellow-backgrounded error codes.

OK, here’s another error screen. Clearly you’re not done working on this part of the project yet – sorry to bother you about it in that case! It’s actually an excellent idea to show which didn’t go through and why, and I’m sure you’re working on making it easier to read.

Just pushed this. Should in theory work for both single and bulk actions and the logic to it should be intuitive. Eg if you have a config with both a taxon ID and an OF action, it will mark as followed unless you check both boxes. If you want, you can have the global setting checked and then add individual follow/reviewed actions to a config to do the opposite for those specific cases.

Fixed, thanks for catching that.

Are you saying that the number X is the same when it shouldn’t be or vice versa? I’m not getting this issue–eg I used a 3-annotation button on 4 observations and it correctly reports 12 actions performed on 4 observations. Maybe you’re thinking action means config/button? But action is an individual API call, a thing that you asked the extension to do that observation. If you have multiple per button, it will always be more actions than observations.

Nope I generally try not to ship things I know are broken–I’m just lax about testing thoroughly. That’s your end of the deal lol, and I’m very glad you specifically have been holding it up this month. So yes please keep letting me know ASAP if you find anything you notice is broken or sloppy, don’t assume I know.

I’m confused about this particular case. When I try to reproduce it I can get the error codes but it doesn’t list them as successful actions. I wonder why that’s happening–can you tell me exactly what your action is? Is it just to add to that project? I cleaned up the failure output but I want to know why it’s reporting them as successes and failures at the same time for you. . .

I just installed the latest version. (On a side note, when installing, there’s a popup that says “JWT required” in large letters – I do not know what that means, is it something there’s a non-jargon equivalent for?)

In that previous case, there were in fact 200 successful actions (adding an annotation) and 200 failed actions. Here’s one from the latest version, where I selected 5 observations and did an action set that had two components that worked but also included adding to a project that these observations could not be added to.

Do you see how the link says “View 10 observations” when there are 10 successful actions for 5 observations?

Also, it says “Added to project “Pollinator Interactions”” when that is not the case… all five failed to add. The successful actions were Add annotation and Unfollow.

In the failure report, the ones that say “Unknown error” actually had two errors: “Must have field…” like the others, and “Observer only allows other people to add their observations to traditional projects they have joined.”

(On another side note, please check that the popups that notify of observations skipped because of potential overwriting are stylistically consistent with these failed-action popups: for instance, “View skipped observations” offers a list of full URLs instead of (as I prefer) ID numbers.)

Nice. But you should not be displaying the choice box when there is no conflict.

BUG found: When I edit a configuration whose button is hidden, it becomes unhidden, even though the “hide” box is still checked. (Unchecking and rechecking restores the hiding.)

=====

Here’s another style note:

In the list, the “from” value is stated as a taxon name, the “to” value as a number.

There are lots and lots of little things like that, I’m afraid – would you like to create a separate space to report style issues since function issues have already made this thread really, really, really long?

1 Like

You can report either kind of issue here:
https://github.com/Megachile/Phenology/issues

1 Like

You’re also welcome to just fix all of these things yourself btw; I wouldn’t mind that at all as long as you tell me what you’re planning to do and when so we don’t overlap. The codebase is public, you can just make a pull request for me to approve I think.

I wish I could, but what I know about coding could be carried in the corbiculum of a bumblebee

1 Like

I don’t write the code myself either, fwiw. I’m simply a conduit for my friend Claude Sonnet. You can be one too!

2 Likes

Hey, @megachile, here’s a wild idea. Would it be possible to fetch text from the clipboard and plug it into an observation field as the value to send? Like, for fields such as “Duplicates Observation.” Example of a three-click way of dealing with duplicates: copy the URL of one of the pair; go to the other; do the following combination of actions: Add comment “This observation is a duplicate and should be combined or deleted – see the observation field for the URL of the other observation.”, add observation field Duplicates Observation = [clipboard], mark the observation as reviewed and unfollow it.

On a related note, I’m not sure why you display the numerical ID of fields and values on the configuration settings page but don’t allow them to be used. Either they should be hidden or you should allow people to enter the ID directly not just look it up.

I’m imagining maybe below the place for entering the value, a checkbox: “get value from clipboard instead.”

Doable?

I think (although maybe I’d change my mind if I tried it) that instead of, or in addition to, the endless lists of plant-identification configurations that I flip through [organized into groups that are often found together, but there’s a limit to that] I would set up a table of scientific names / IDs next to my browser. Click on the ID in the table, ctrl+C, click on the browser window, alt+T (the shortcut I would use for this all-purpose configuration), bam done.

2 Likes

I just downloaded it on chrome. Am I missing something?