Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Requirement #2615 (new)

Opened 14 years ago

Last modified 13 years ago

Delete Refactoring and Performance improvements — at Version 4

Reported by: jamoore Owned by:
Priority: critical Milestone: OMERO-Beta4.2.1
Component: n.a. Keywords: n.a.
Cc: cxallan, jburel, wmoore, atarkowska Business Value: n.a.
Total Story Points: n.a. Roif: n.a.
Mandatory Story Points: n.a.

Description (last modified by jburel)

The current implementation of IDelete leaves much to be desired:

  • Not enough methods to transactionally handle all deletes
  • Too many objects are loaded into memory
  • Too few EventLogs are created for some deletes

Scenarios

description of possible workflow

  • Select an image to delete.
    • Annotations like Comments, rating should be deleted at the same time.
    • Rois if any should be deleted.
    • Ask user if wants to delete annotations that can be shared e.g. tag, ontology, document
    • Settings, acquisition data should be deleted too (since we don't share them)
  • Select a dataset to delete.
    • Need to option to delete contents (similar to Eclipse) i.e. delete images
    • Same options as before. If Tag, documents have to be deleted, then the same strategy will be applied for images.


Change History (4)

comment:1 Changed 14 years ago by jmoore

  • Priority changed from major to critical

comment:2 Changed 14 years ago by jmoore

Notes from discussion (Jean-Marie, Josh, Chris):

  • Intro
    • Josh: looked at gateway, there seem
    • Josh: there was also something about changing the workflow.
    • Jean-Marie: no, misunderstanding. Need to better handle the feedback. (long time)
    • Josh: need to figure out how much feedback if something wasn't deleted, e.g.
    • Chris: how much deleting is happening in Insight?
    • Quite a bit is done via IUpdate.deleteObject
  • General behavior
    • Delete everything possible, or unlink if its linked more than once
    • Need to immediately free disk-space
    • Chris: How to specify the configuration?
      • Jean-Marie: only option is for "tags"
      • only need for certain kinds of comments. (tag, attachments)
      • Chris: Linked once it goes? Jean-Marie: that could be disturbing.
        • e.g. ontology term and/or attached file might have own value
    • Orphans (report of things that need to be cleaned up)
      • Binary data and Tags / attachments
      • Another window like Activity window
    • Group deletes
      • Datasets need the same functionality, so even images go
      • Image, Dataset, Project, Plate, Screen
      • bool of whether or not to delete me if I'm an orphan
    • May not need to handle something like CommentAnnotation specially
    • Things that are typically not shared (rating, comments, ...) should just be wiped out
  • Steps
    • Making a list of graphs that we want to delete (users' expectations?)
    • Encoding those in python to test against objects
    • ...
  • ...Coffee...
  • API
    • Project, Dataset, Image, Plate, Screen, ROI
    • DeleteHandle deleteObject(Class klass, List<Long> ids, DeleteParams parameters);
    • List<Boolean> isInDeleteQueue(Class klass, List<Long> ids);
    • AlreadyDeletedException
  • State
    • Getting a report of a on delete
    • Getting a notification of delete/failure/(de-)queueing
    • Managing expectations

comment:3 Changed 14 years ago by jmoore

  • Cc cxallan jburel added
  • Milestone changed from Unscheduled to OMERO-Beta4.2.1

comment:4 Changed 14 years ago by jburel

  • Cc wmoore added
  • Description modified (diff)
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.55351 sec.)

We're Hiring!