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.
- Timestamp:
-
08/17/10 10:33:44 (14 years ago)
- Author:
-
jmoore
- Comment:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
-
- Property Cc ome-nitpick@… added
-
v4
|
v6
|
|
4 | 4 | * Too few `EventLogs` are created for some deletes |
5 | 5 | |
| 6 | == Notation == |
| 7 | |
| 8 | Below are listed several possible workflows for what a user might want to delete. Each scenario provides the following information: |
| 9 | |
| 10 | * REQUEST: the user request for what type should be deleted (ids are omitted). Types are represented as xpath-like statements, some which don't actually exist as types "Comments" represent a combination of fields, like `type=Annotation + namespace="comment"`. |
| 11 | * DELETES: the types which would be deleted '''regardless''' of permissions and optimistic locks. The only thing which will prevent such a delete is a fatal DB error which will throw a `FailedDeleteExcception` |
| 12 | * OPTIONS: the paths listed under âOPTIONSâ can be handled in on of the following ways: |
| 13 | * ORPHAN - the objects are left alone, i.e. unlinked from the target. |
| 14 | * REAP - delete the objects if they would be orphaned. |
| 15 | * SOFT - delete the objects, but continue if delete is not possible. |
| 16 | * HARD - delete the objects at all costs. Transaction will fail if not possible. |
| 17 | * BLOCKER: if this path is filled, then the delete will fail with a `BlockedDeleteException` |
| 18 | |
| 19 | == Types == |
| 20 | |
| 21 | Currently types are separated into two categories. When providing reports to users it should suffice to start at these roots. |
| 22 | |
| 23 | === /Roots === |
| 24 | * /Projects and /Datasets |
| 25 | * /Screens and /Plates |
| 26 | * /Images (includes Pixels, binary data, etc.) |
| 27 | * /Rois (if not already under /Images) |
| 28 | * /FS - each FS mount is also a root |
| 29 | |
| 30 | === /Orphanable === |
| 31 | * /Tags |
| 32 | * /Terms |
| 33 | * /FileAnnotations |
| 34 | |
| 35 | '''NB''': ''We may want to consider whether or not there should be two types of annotations. Ones which are orphanable and ones which are not.'' |
| 36 | |
6 | 37 | == Scenarios == |
7 | | description of possible workflow |
8 | | * Select an image to delete. |
9 | | * Annotations like Comments, rating should be deleted at the same time. |
10 | | * Rois if any should be deleted. |
11 | | * Ask user if wants to delete annotations that can be shared e.g. tag, ontology, document |
12 | | * Settings, acquisition data should be deleted too (since we don't share them) |
13 | | * Select a dataset to delete. |
14 | | * Need to option to delete contents (similar to Eclipse) i.e. delete images |
15 | | * Same options as before. If Tag, documents have to be deleted, then the same strategy will be applied for images. |
| 38 | |
| 39 | {{{ |
| 40 | REQUEST: /Root/Images |
| 41 | DELETES: /Root/Images/ImageAnnotationLinks |
| 42 | /Root/Images/DatasetImageLinks |
| 43 | /Root/Images/WellSamples (???) |
| 44 | /Root/Images/Acquisitions |
| 45 | /Root/Images/Rois |
| 46 | /Root/Images/{Comments, Ratings, ...} |
| 47 | /Root/Images/Renderings |
| 48 | /Root/Images/Thumbnails |
| 49 | OPTIONS: /Root/Images/Tags |
| 50 | /Root/Images/Terms |
| 51 | /Root/Images/FileAnnotations |
| 52 | }}} |
| 53 | |
| 54 | {{{ |
| 55 | REQUEST: /Root/Datasets |
| 56 | DELETES: /Root/Datasets/DatasetImageLinks |
| 57 | /Root/Datasets/DatasetAnnotationLinks |
| 58 | OPTIONS: /Root/Datasets/Tags |
| 59 | /Root/Datasets/Terms |
| 60 | /Root/Datasets/FileAnnotations |
| 61 | /Root/Datasets/Images - option to delete contents (similar to Eclipse) |
| 62 | + all options from /Root/Images |
| 63 | }}} |
| 64 | |
| 65 | {{{ |
| 66 | REQUEST: /Root/Rois |
| 67 | DELETES: /Root/Rois/Shapes |
| 68 | /Root/Rois/Shapes/Masks |
| 69 | BLOCKER: /Root/Images/Rois |
| 70 | }}} |
16 | 71 | |
1.3.13-PRO © 2008-2011
Agilo Software all
rights reserved
(this page was served in: 0.17366 sec.)