Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to delete transcriptions #190

Open
zwolf opened this issue May 19, 2020 · 3 comments
Open

Add ability to delete transcriptions #190

zwolf opened this issue May 19, 2020 · 3 comments
Labels
enhancement New feature or request

Comments

@zwolf
Copy link
Member

zwolf commented May 19, 2020

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:

  • Don't raise dupe-id db exceptions in Sentry, but let them bubble up and catch them. Don't return 5** to caesar, though, because it will redlight the effect. Log them explicitly, perhaps, so we can find them in the kubernetes logs.
  • Add deletion routes. Users should be able to delete a whole workflow's transcriptions, and possibly also by group id, but this requirement needs team input. This makes sense as a transcription route, perhaps with the same query param specification that the index route uses (?group_id=xxxx). This could allow for edge cases where somebody wants to delete due to low consensus, flagged, or certain statuses, for instance.
  • Only let authorized users delete transcriptions. Deletion must be permanent since the point is to free up the subject ID to be reimported, so there's no going back.
  • Individual transcriptions should just use the front end's individual rereduction functionality--no one needs to delete a single transcription just to rerun all the reducers.
@wgranger
Copy link
Contributor

Is the use case for this:

  • A user begins editing the aggregation settings on the frontend
  • The user finds a setting that looks good and wants to apply it to all subjects and rerun reductions in Caesar with this new setting
  • In doing so, older reductions with the old setting must be deleted

@zwolf
Copy link
Member Author

zwolf commented May 19, 2020

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.

@nciemniak nciemniak self-assigned this May 19, 2020
@lcjohnso lcjohnso added the enhancement New feature or request label May 19, 2020
@lcjohnso
Copy link
Member

lcjohnso commented May 19, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Features
Development

No branches or pull requests

4 participants