zooniverse / tove

Transcription Object Viewer/Editor: Backend API for ALICE Text Editor tool
https://alice.zooniverse.org/
2 stars 2 forks source link

Add ability to delete transcriptions #190

Open zwolf opened 4 years ago

zwolf commented 4 years ago

Users will need to be able to delete transcriptions in Tove if a reduction is updated/backfilled in Caesar with new/different reduction parameters. Currently, when Caesar re-reduces a subject and the rule to send to Tove is in effect, if the transcription with an id that matches that of the caesar subject exists, a database exception is raised about duplicate keys. This was originally on purpose, since this was only supposed to happen in cases of overclassification of retired subjects, which made sense to raise to the team.

However, it has come up that the researchers may want to rereduce a workflow (all its linked subjects) in a manner similar to the way that rereduction of a single subject is currently handled by the front end. That is, by changing the reduction parameters and saving new transcriptions. This will be best handled by allowing the user to delete the transcriptions from Tove with some filter, then rerunning the caesar reducers. The deleted transcriptions will be recreated in Tove and remaining duplicates (if the whole workflow wasn't removed) will bounce off.

So this is in a couple parts:

wgranger commented 4 years ago

Is the use case for this:

zwolf commented 4 years ago

Yeah, I think so. The user realizes that their clusters look terrible and they find some new settings that work. They adjust the settings in caesar, but the transcriptions need to be removed from tove before they can be reimported by a rerunning of the Caesar reducer.

lcjohnso commented 4 years ago

I've documented the current process for getting workflow-wide re-reductions imported into Tove: ALICE Caesar Setup Doc. This issue highlights the weakness in this process: deletion of current entries must be manually deleted on the app console. If this action is commonly requested, then this enhancement should be considered for implementation.

Testing and initial use will show whether this feature request is worth the investment of dev effort to implement. However, for now this issue should be treated as a candidate enhancement request and should only be pursued once this need / use case is confirmed.